commit: 0f591e876dc47503392b8d8908b942fa460b9fa2
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Sun May 4 12:52:27 2025 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Sun May 4 13:11:48 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f591e87
dev-util/trace-cmd: add 3.3.2
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
dev-util/trace-cmd/Manifest | 1 +
dev-util/trace-cmd/trace-cmd-3.3.2.ebuild | 108 ++++++++++++++++++++++++++++++
2 files changed, 109 insertions(+)
diff --git a/dev-util/trace-cmd/Manifest b/dev-util/trace-cmd/Manifest
index 3eabaeebcaf6..6f00407d0a4d 100644
--- a/dev-util/trace-cmd/Manifest
+++ b/dev-util/trace-cmd/Manifest
@@ -1,2 +1,3 @@
DIST trace-cmd-v3.3.1.tar.gz 363474 BLAKE2B
08855a672df92248a350e0f67c6da41b40602bcb4e886e993515bba174bfa482c93e1b5a157c72b4f30d91db47565ea9f65311731aeec2fbccc433daa8232a8b
SHA512
a643efc2868d08871a7359dd0a17389685fb229f26328ee96f27a3dd94b5f3eb62009b945c14725eda1f09fa15367ffe2e2c3611d89860dcc031bbd6403cdee0
+DIST trace-cmd-v3.3.2.tar.gz 366804 BLAKE2B
506fcff2e7fccea76632f63545e12871819d88adc9e782b34c793b2c5eb185a5546b0bdc4fba8245dd8c57c945d1377c601720ef3f34cb261d27a6875df899df
SHA512
139b4a00248479c88e2267c5e8ab368a4fb94687c47fe5192ccceb2d0919689072458fcbae2c9ccd27f538a67b1a373bdb539345938e39f23eec80fe5285da35
DIST trace-cmd-v3.3.tar.gz 363405 BLAKE2B
bc77ced96d47fe8284ad2252b7f6e51ae73b248a41908f255db68277ffccb35b34ede9a5e85f5f284b701c40b009f2d0ca091fb7db554793ae1470d6585e07ed
SHA512
0857bea0bceb196bdb44164eefb8a05384c640f5a4d569dcbf26d80302b21bf17880eaba07c3da81c8812abe0f451219c26ba02b7bf9103eb1d0e88f1da84703
diff --git a/dev-util/trace-cmd/trace-cmd-3.3.2.ebuild
b/dev-util/trace-cmd/trace-cmd-3.3.2.ebuild
new file mode 100644
index 000000000000..db0a3c6f4ae6
--- /dev/null
+++ b/dev-util/trace-cmd/trace-cmd-3.3.2.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit linux-info meson python-single-r1
+
+DESCRIPTION="User-space front-end for Ftrace"
+HOMEPAGE="https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git"
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/trace-cmd/${PN}.git"
+ inherit git-r3
+else
+
SRC_URI="https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/snapshot/${PN}-v${PV}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0/${PV}"
+IUSE="python test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+# Tests segfault for now?
+RESTRICT="!test? ( test ) test"
+
+RDEPEND="
+ >=app-arch/zstd-1.4
+ >=dev-libs/libtracefs-1.8
+ >=dev-libs/libtraceevent-1.6.3
+ sys-libs/zlib
+ sys-process/audit
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+ sys-kernel/linux-headers
+ test? ( dev-util/cunit )
+"
+BDEPEND="
+ app-text/asciidoc
+ app-text/xmlto
+ virtual/pkgconfig
+ python? ( dev-lang/swig )
+"
+
+pkg_setup() {
+ local CONFIG_CHECK="
+ ~TRACING
+ ~FTRACE
+ ~BLK_DEV_IO_TRACE"
+
+ linux-info_pkg_setup
+
+ # TODO: Once we have options for doc+tests, we can revisit Python being
+ # single-impl.
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Due to the in-progress meson build transaction, we decide to separate
+ # the libtracecmd as an independent package, see bug #909439
+ # Note: dev-util/trace-cmd still use in-source static libtracecmd duo to
+ # it still use internal private API.
+ sed -i -e "/^libtracecmd_standalone_build/s/true/false/" \
+ "${S}"/lib/meson.build || die
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dasciidoctor=false
+ -Dhtmldir=/usr/share/doc/${PF}/html
+ -Dmandir=/usr/share/man
+ -Dversion-tag=${PVR}-gentoo
+ $(meson_use python)
+ )
+
+ # TODO: udis86 isn't wired up to meson at all
+ # TODO: get docs & tests optional upstream
+ # TODO: audit/zstd/zlib lack meson options for now. Previously, the
situation
+ # was somewhat automagic, so this isn't a huge loss for now, but we
should
+ # upstream some build options for these.
+ meson_src_configure
+}
+
+src_compile() {
+ # The 'docs' target is not part of the 'all' target, hence we need to
+ # explicitly specify 'docs'.
+ meson_src_compile all docs
+}
+
+src_install() {
+ meson_src_install
+ use python && python_install
+
+ # TODO: fix bash completion name
+ mv "${D}"/usr/share/bash-completion/completions/${PN}.bash \
+ "${D}"/usr/share/bash-completion/completions/${PN} || die
+}
+
+python_install() {
+ python_optimize "${D}$(python_get_sitedir)"
+}