[meta-oe][PATCH 085/109] perfetto/libperfetto: upgrade 51.2 -> 57.2

Khem Raj <[email protected]>
Newsgroups org.openembedded.lists.openembedded-devel
Message-ID <[email protected]>
Release Notes: https://github.com/google/perfetto/releases/tag/v57.2

perfetto 57.2 added a new build-time dependency on RE2 (via
enable_perfetto_re2, unconditionally true for standalone builds) for trace
processor regex support, so a matching buildtools/re2 git fetch/SRCREV was
added to perfetto.bb, mirroring the existing buildtools/* pattern from
tools/install-build-deps. abseil-cpp is now fetched the same way for the
same reason.

Upstream also dropped the amalgamated sdk/perfetto.{h,cc} from the git
release branches (now shipped only as a GitHub release .zip asset), so
libperfetto.bb now fetches perfetto-cpp-sdk-src.zip and unpacks it into
sdk/, which the meson build requires.

Build-verified for qemux86-64: both perfetto and libperfetto build
through do_package_qa cleanly.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <[email protected]>
---
 .../recipes-devtools/perfetto/libperfetto.bb  | 10 +++++++--
 ...1-meson-add-pc-file-for-lib_perfetto.patch |  2 +-
 meta-oe/recipes-devtools/perfetto/perfetto.bb | 17 ++++++++-------
 .../recipes-devtools/perfetto/perfetto.inc    |  4 ++--
 ...-Remove-check_build_deps-build-steps.patch | 21 ++++++++-----------
 5 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/meta-oe/recipes-devtools/perfetto/libperfetto.bb b/meta-oe/recipes-devtools/perfetto/libperfetto.bb
index 368d333145..0693c18166 100644
--- a/meta-oe/recipes-devtools/perfetto/libperfetto.bb
+++ b/meta-oe/recipes-devtools/perfetto/libperfetto.bb
@@ -1,11 +1,17 @@
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c0c9924c5c63b4834b8b1959816c8e3b"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b06e43f2e368eb8663632d529232353"
 
 require perfetto.inc
 
 inherit meson
 
-SRC_URI:append = " file://0001-meson-add-pc-file-for-lib_perfetto.patch"
+# The amalgamated C++ SDK (sdk/perfetto.{h,cc}) is no longer part of the git
+# release branches as of v52 - it now ships only as a GitHub release asset.
+SRC_URI:append = " \
+    file://0001-meson-add-pc-file-for-lib_perfetto.patch \
+    https://github.com/google/perfetto/releases/download/v${PV}/perfetto-cpp-sdk-src.zip;subdir=${BP}/sdk;name=sdk \
+    "
+SRC_URI[sdk.sha256sum] = "c6fa3d89aee30f7da39402c9cd178c9f2e344544fda5c2109fd8457e319c3a2f"
 
 LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
 
diff --git a/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch b/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch
index 9cfe636152..2c74228759 100644
--- a/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch
+++ b/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch
@@ -18,7 +18,7 @@ index 8fb1e26275..3ef3ebf27d 100644
  project(
      'perfetto',
      ['cpp'],
-+    version: '51.2'
++    version: '57.2'
  )
  
 +soversion = meson.project_version()
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.bb b/meta-oe/recipes-devtools/perfetto/perfetto.bb
index 0c5a3959d5..978a8611cc 100644
--- a/meta-oe/recipes-devtools/perfetto/perfetto.bb
+++ b/meta-oe/recipes-devtools/perfetto/perfetto.bb
@@ -1,17 +1,17 @@
 LICENSE = "Apache-2.0 AND BSD-3-Clause AND MIT AND Zlib"
 
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c0c9924c5c63b4834b8b1959816c8e3b \
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b06e43f2e368eb8663632d529232353 \
                     file://buildtools/libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \
                     file://buildtools/libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \
                     file://buildtools/libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \
                     file://buildtools/protobuf/LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \
                     file://buildtools/zlib/LICENSE;md5=8c75f2b4df47a77f9445315a9500cd1c \
-                    file://debian/copyright;md5=55b18749ff89714316c007d06f305c4a \
                     file://python/LICENSE;md5=c602a632c34ade9c78a976734077bce7"
 
 # Dependencies from perfetto/tools/install-build-deps
 SRC_URI:append = " \
-           git://github.com/protocolbuffers/protobuf.git;branch=main;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/protobuf;name=protobuf \
+           git://github.com/protocolbuffers/protobuf.git;branch=31.x;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/protobuf;name=protobuf \
+           git://github.com/abseil/abseil-cpp.git;branch=lts_2025_05_12;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/abseil-cpp;name=abseil \
            git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libcxx;branch=main;name=libcxx \
            git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libcxxabi;branch=main;name=libcxxabi \
            git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libunwind;branch=main;name=libunwind \
@@ -24,6 +24,7 @@ SRC_URI:append = " \
            git://chromium.googlesource.com/chromium/src/third_party/zlib.git;nobranch=1;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/zlib;name=zlib \
            git://android.googlesource.com/platform/external/lzma.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/lzma;name=lzma \
            git://android.googlesource.com/platform/external/zstd.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/zstd;name=zstd \
+           git://chromium.googlesource.com/external/github.com/google/re2.git;nobranch=1;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/re2;name=re2 \
            \
            file://0001-Remove-check_build_deps-build-steps.patch \
            "
@@ -32,17 +33,19 @@ SRCREV_bionic = "a0d0355105cb9d4a4b5384897448676133d7b8e2"
 SRCREV_core = "9e6cef7f07d8c11b3ea820938aeb7ff2e9dbaa52"
 SRCREV_lzma = "7851dce6f4ca17f5caa1c93a4e0a45686b1d56c3"
 SRCREV_libprocinfo = "fd214c13ededecae97a3b15b5fccc8925a749a84"
-SRCREV_logging = "7b36b566c9113fc703d68f76e8f40c0c2432481c"
+SRCREV_logging = "da4d6df49d1d6c971be508dcde18e8b00bb74581"
 SRCREV_unwinding = "4b59ea8471e89d01300481a92de3230b79b6d7c7"
-SRCREV_protobuf = "f0dc78d7e6e331b8c6bb2d5283e06aa26883ca7c"
-SRCREV_libbase = "78f1c2f83e625bdf66d55b48bdb3a301c20d2fb3"
+SRCREV_protobuf = "74211c0dfc2777318ab53c2cd2c317a2ef9012de"
+SRCREV_abseil = "76bb24329e8bf5f39704eb10d21b9a80befa7c81"
+SRCREV_libbase = "18c2bd4f3607cb300bb96e543df91dfdda6a9655"
 SRCREV_libcxx = "852bc6746f45add53fec19f3a29280e69e358d44"
 SRCREV_libcxxabi = "a37a3aa431f132b02a58656f13984d51098330a2"
 SRCREV_libunwind = "419b03c0b8f20d6da9ddcb0d661a94a97cdd7dad"
 SRCREV_zlib = "6f9b4e61924021237d474569027cfb8ac7933ee6"
 SRCREV_zstd = "77211fcc5e08c781734a386402ada93d0d18d093"
+SRCREV_re2 = "927f5d53caf8111721e734cf24724686bb745f55"
 
-SRCREV_FORMAT .= "_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib_zstd"
+SRCREV_FORMAT .= "_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_abseil_libbase_libcxx_libcxxabi_libunwind_zlib_zstd_re2"
 
 require perfetto.inc
 
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.inc b/meta-oe/recipes-devtools/perfetto/perfetto.inc
index 5b4a942526..188472b27d 100644
--- a/meta-oe/recipes-devtools/perfetto/perfetto.inc
+++ b/meta-oe/recipes-devtools/perfetto/perfetto.inc
@@ -5,6 +5,6 @@ HOMEPAGE = "https://github.com/google/perfetto"
 SRC_URI = "git://github.com/google/perfetto.git;protocol=https;name=perfetto;nobranch=1 \
 	"
 
-SRCREV_perfetto = "7a9a6a0587348bffd1796b66a1da33cc1ea421d8"
+SRCREV_perfetto = "da1d152cff27890903d158fe96751de3aab883cc"
 SRCREV_FORMAT = "perfetto"
-PV = "51.2"
+PV = "57.2"
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch b/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch
index 3a046f3d2a..67720ea227 100644
--- a/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch
+++ b/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch
@@ -15,16 +15,11 @@ Signed-off-by: Etienne Cordonnier <[email protected]>
 ---
 Upstream-Status: Pending
 
- gn/BUILD.gn                  |  1 -
- gn/standalone/BUILD.gn       | 20 ++++++++++----------
- gn/standalone/BUILDCONFIG.gn |  5 +++--
- 3 files changed, 13 insertions(+), 13 deletions(-)
-
 diff --git a/gn/BUILD.gn b/gn/BUILD.gn
-index 9ce3145cac..67656b6648 100644
+index 6f2ad9fd..05e4030b 100644
 --- a/gn/BUILD.gn
 +++ b/gn/BUILD.gn
-@@ -127,7 +127,6 @@ group("default_deps") {
+@@ -137,7 +137,6 @@ group("default_deps") {
    deps = [ ":gen_buildflags" ]
    if (perfetto_build_standalone) {
      public_deps = [
@@ -33,10 +28,10 @@ index 9ce3145cac..67656b6648 100644
        "//gn/standalone/sanitizers:deps",
      ]
 diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn
-index 2d0a4b2916..740266a964 100644
+index 7ecaae60..3edb470b 100644
 --- a/gn/standalone/BUILD.gn
 +++ b/gn/standalone/BUILD.gn
-@@ -514,13 +514,13 @@ config("android_liblog") {
+@@ -541,16 +541,16 @@ config("android_liblog") {
  }
  
  # Checks that tools/install-build-deps has been run since it last changed.
@@ -60,11 +55,14 @@ index 2d0a4b2916..740266a964 100644
 +#    "--android",
 +#  ]
 +#}
+ 
+ # TODO(https://github.com/google/perfetto/issues/5353): Remove this after
+ # updating emscripten.
 diff --git a/gn/standalone/BUILDCONFIG.gn b/gn/standalone/BUILDCONFIG.gn
-index 8e2be2ae1b..0faff46e50 100644
+index 2e27f2f1..7037d35e 100644
 --- a/gn/standalone/BUILDCONFIG.gn
 +++ b/gn/standalone/BUILDCONFIG.gn
-@@ -62,8 +62,9 @@ declare_args() {
+@@ -64,8 +64,9 @@ declare_args() {
    # the ossfuzz sanitizer overrides this to true. In that config the
    # host/target cpu and arch are identical, but we want to build only the
    # targets with the sanitizer/fuzzer flags
@@ -78,4 +76,3 @@ index 8e2be2ae1b..0faff46e50 100644
    "//gn/standalone:default",
 -- 
 2.43.0
-
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.