Page MenuHomeFreeBSD

D56762.diff
No OneTemporary

D56762.diff

diff --git a/devel/Makefile b/devel/Makefile
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4303,6 +4303,7 @@
SUBDIR += pecl-zookeeper
SUBDIR += pegtl
SUBDIR += pep8
+ SUBDIR += perfetto
SUBDIR += performance
SUBDIR += perlconsole
SUBDIR += phabricator
diff --git a/devel/perfetto/Makefile b/devel/perfetto/Makefile
new file mode 100644
--- /dev/null
+++ b/devel/perfetto/Makefile
@@ -0,0 +1,71 @@
+PORTNAME= perfetto
+DISTVERSIONPREFIX= v
+DISTVERSION= 54.0
+CATEGORIES= devel
+
+MAINTAINER= siva@FreeBSD.org
+COMMENT= System profiling, app tracing, and trace analysis
+WWW= https://perfetto.dev/
+
+MASTER_SITES= https://storage.googleapis.com/perfetto/:perfetto
+DISTFILES= sqlite-amalgamation-3500300.zip:perfetto \
+ llvm-project-617a15a9eac96088ae5e9134248d8236e34b91b1.tgz:perfetto
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+PATCH_SITES= https://github.com/google/perfetto/commit/:upstream \
+ https://codeberg.org/tj/perfetto/commit/:tj
+PATCHFILES= 0a47f21e97615e0259dcb8589190aa0912c47bbe.patch:upstream \
+ d400ae17f63c91846fb489dc716109fbfac311a4.patch:tj \
+ 0e50ef0b9372580b18c2693a1f4a95cb8ee8abc7.patch:tj \
+ 6620157cb2a8cf3334219fce26cd91d8089a8cd2.patch:tj \
+ 1b24730762d082dae073f096d5e666e0fc83a1bb.patch:tj
+
+PATCH_DIST_STRIP= -p1
+
+BUILD_DEPENDS= gn:devel/gn
+
+USES= compiler:c++17-lang ninja python:build
+
+USE_GITHUB= yes
+GH_ACCOUNT= google
+GH_TUPLE= protocolbuffers:protobuf:v31.1:buildtools_protobuf/buildtools/protobuf \
+ abseil:abseil-cpp:20250512.1:buildtools_abseil_cpp/buildtools/abseil-cpp \
+ sqlite:sqlite:version-3.50.3:buildtools_sqlite_src/buildtools/sqlite_src \
+ libexpat:libexpat:R_2_6_2:buildtools_expat/buildtools/expat/src
+
+GN_ARGS= is_debug=false \
+ skip_buildtools_check=true \
+ perfetto_use_system_zlib=true \
+ extra_cflags="-I${LOCALBASE}/include -Wno-unused-parameter" \
+ extra_ldflags="-L${LOCALBASE}/lib"
+
+BINARY_ALIAS= python3=${PYTHON_CMD}
+
+BUILD_WRKSRC= ${WRKSRC}/out
+
+ALL_TARGET= dtrace_probe freebsd_power freebsd_sys libperfetto_c.so perfetto tracebox traceconv traced traced_relay
+
+post-extract:
+ ${MV} ${WRKDIR}/sqlite-amalgamation-3500300 ${WRKSRC}/buildtools/sqlite
+ ${MV} ${WRKDIR}/llvm-project ${WRKSRC}/buildtools/llvm-project
+
+do-configure:
+ cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out --args='${GN_ARGS}' && ${SETENV} ${CONFIGURE_ENV} gn ls out --args='${GN_ARGS}'
+ cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} tools/gen_c_protos \
+ --proto protos/perfetto/trace/power/power_rails.proto \
+ --proto protos/perfetto/trace/power/battery_counters.proto \
+ --proto protos/perfetto/trace/system_info/cpu_info.proto \
+ --proto protos/perfetto/trace/sys_stats/sys_stats.proto \
+ --proto protos/perfetto/common/sys_stats_counters.proto \
+ ${BUILD_WRKSRC}
+
+do-install:
+ cd ${BUILD_WRKSRC} && ${INSTALL_PROGRAM} \
+ dtrace_probe freebsd_power freebsd_sys perfetto tracebox traceconv traced traced_relay \
+ ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/libperfetto_c.so ${STAGEDIR}${PREFIX}/lib
+ ${INSTALL_DATA} ${BUILD_WRKSRC}/libperfetto.a ${STAGEDIR}${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/devel/perfetto/distinfo b/devel/perfetto/distinfo
new file mode 100644
--- /dev/null
+++ b/devel/perfetto/distinfo
@@ -0,0 +1,25 @@
+TIMESTAMP = 1783544597
+SHA256 (sqlite-amalgamation-3500300.zip) = 9ad6d16cbc1df7cd55c8b55127c82a9bca5e9f287818de6dc87e04e73599d754
+SIZE (sqlite-amalgamation-3500300.zip) = 2845433
+SHA256 (llvm-project-617a15a9eac96088ae5e9134248d8236e34b91b1.tgz) = 7e2541446a27f2a09a84520da7bc93cd71749ba0f17318f2d5291fbf45b97956
+SIZE (llvm-project-617a15a9eac96088ae5e9134248d8236e34b91b1.tgz) = 83475
+SHA256 (google-perfetto-v54.0_GH0.tar.gz) = 8a6144d81592e00fb9e75da42483a2544315b25e3113845505d69950083913c1
+SIZE (google-perfetto-v54.0_GH0.tar.gz) = 49105061
+SHA256 (protocolbuffers-protobuf-v31.1_GH0.tar.gz) = c3a0a9ece8932e31c3b736e2db18b1c42e7070cd9b881388b26d01aa71e24ca2
+SIZE (protocolbuffers-protobuf-v31.1_GH0.tar.gz) = 9602477
+SHA256 (abseil-abseil-cpp-20250512.1_GH0.tar.gz) = 9b7a064305e9fd94d124ffa6cc358592eb42b5da588fb4e07d09254aa40086db
+SIZE (abseil-abseil-cpp-20250512.1_GH0.tar.gz) = 2221441
+SHA256 (sqlite-sqlite-version-3.50.3_GH0.tar.gz) = ced5a0e1928b8851f5f2176a521241ac42746233b5cd02341c1d9fa40d5ca222
+SIZE (sqlite-sqlite-version-3.50.3_GH0.tar.gz) = 12992292
+SHA256 (libexpat-libexpat-R_2_6_2_GH0.tar.gz) = fbd032683370d761ba68dba2566d3280a154f5290634172d60a79b24d366d9dc
+SIZE (libexpat-libexpat-R_2_6_2_GH0.tar.gz) = 8416128
+SHA256 (0a47f21e97615e0259dcb8589190aa0912c47bbe.patch) = 7aa9dfbe2ee1509b1253859681b34efa135419c51a9f17be817e6e0735d531d5
+SIZE (0a47f21e97615e0259dcb8589190aa0912c47bbe.patch) = 1432
+SHA256 (d400ae17f63c91846fb489dc716109fbfac311a4.patch) = 6881cd5790888fedb4f8894c1cccd21e9b3876249ef0823a77593af0fdcbb0e7
+SIZE (d400ae17f63c91846fb489dc716109fbfac311a4.patch) = 20290
+SHA256 (0e50ef0b9372580b18c2693a1f4a95cb8ee8abc7.patch) = bb89d2358c9299b5c4a387f685565c20ef878b5eb476f211350f7d226a8b5a3d
+SIZE (0e50ef0b9372580b18c2693a1f4a95cb8ee8abc7.patch) = 19299
+SHA256 (6620157cb2a8cf3334219fce26cd91d8089a8cd2.patch) = 4a0929ceea5ac478d69e56282100c44f839add744ccbcf81c2ee92a1847c84b4
+SIZE (6620157cb2a8cf3334219fce26cd91d8089a8cd2.patch) = 2159
+SHA256 (1b24730762d082dae073f096d5e666e0fc83a1bb.patch) = 085452de9e97cfe272f6bc0ca6d8842009f2b6ce7ad08eaa9e8b8e40971185c5
+SIZE (1b24730762d082dae073f096d5e666e0fc83a1bb.patch) = 22460
diff --git a/devel/perfetto/files/patch-tools_gen__c__protos b/devel/perfetto/files/patch-tools_gen__c__protos
new file mode 100644
--- /dev/null
+++ b/devel/perfetto/files/patch-tools_gen__c__protos
@@ -0,0 +1,10 @@
+--- tools/gen_c_protos.orig 2026-05-07 14:48:33 UTC
++++ tools/gen_c_protos
+@@ -218,7 +218,6 @@ OUTPUT:
+ )
+
+ tmpfilename = os.path.join(tmpdirname, transform_extension(source))
+- clang_format(tmpfilename)
+ if source.startswith(sources['path_strip_prefix']):
+ targetfilename = source[len(sources['path_strip_prefix']):]
+ else:
diff --git a/devel/perfetto/pkg-descr b/devel/perfetto/pkg-descr
new file mode 100644
--- /dev/null
+++ b/devel/perfetto/pkg-descr
@@ -0,0 +1,6 @@
+Perfetto is an open-source suite of SDKs, daemons and tools which use tracing
+to help developers understand the behaviour of complex systems and root-cause
+functional and performance issues on client and embedded systems.
+
+It is a production-grade tool that is the default tracing system for the
+Android operating system and the Chromium browser.
diff --git a/devel/perfetto/pkg-plist b/devel/perfetto/pkg-plist
new file mode 100644
--- /dev/null
+++ b/devel/perfetto/pkg-plist
@@ -0,0 +1,10 @@
+bin/dtrace_probe
+bin/freebsd_power
+bin/freebsd_sys
+bin/perfetto
+bin/tracebox
+bin/traceconv
+bin/traced
+bin/traced_relay
+lib/libperfetto.a
+lib/libperfetto_c.so

File Metadata

Mime Type
text/plain
Expires
Sun, Jul 26, 7:05 PM (7 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35557467
Default Alt Text
D56762.diff (6 KB)

Event Timeline