@@ -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"
@@ -18,7 +18,7 @@ index 8fb1e26275..3ef3ebf27d 100644
project(
'perfetto',
['cpp'],
-+ version: '51.2'
++ version: '57.2'
)
+soversion = meson.project_version()
@@ -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
@@ -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"
@@ -15,16 +15,11 @@ Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
---
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
-
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 <khem.raj@oss.qualcomm.com> --- .../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(-)