summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYixun Lan <dlan@gentoo.org>2024-08-23 12:10:30 +0000
committerYixun Lan <dlan@gentoo.org>2024-08-23 12:33:35 +0000
commitcb72b15251c6614b6c63587ccdac90739a54f364 (patch)
tree344c15e5c4911f62f15c8c283ec53f12156f37c9 /dev-util/trace-cmd
parentdev-libs/libtracefs: add 1.8.1 (diff)
downloadgentoo-cb72b15251c6614b6c63587ccdac90739a54f364.tar.gz
gentoo-cb72b15251c6614b6c63587ccdac90739a54f364.tar.bz2
gentoo-cb72b15251c6614b6c63587ccdac90739a54f364.zip
dev-util/trace-cmd: add 3.3
Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'dev-util/trace-cmd')
-rw-r--r--dev-util/trace-cmd/Manifest1
-rw-r--r--dev-util/trace-cmd/trace-cmd-3.3.ebuild98
2 files changed, 99 insertions, 0 deletions
diff --git a/dev-util/trace-cmd/Manifest b/dev-util/trace-cmd/Manifest
index 35f0014abeb8..ad678171e716 100644
--- a/dev-util/trace-cmd/Manifest
+++ b/dev-util/trace-cmd/Manifest
@@ -1 +1,2 @@
DIST trace-cmd-v3.2.tar.gz 342848 BLAKE2B d82309b72d00ae1b757039c7a358e7703c9e74527112baa05eb44f971067b1189b7833621766fdf8affc812b84b7bcfd071b2946495197d81a8ed8ff7240779e SHA512 6a8474e619b32ccf60217eba1ce472bdf6e77f6aff118b579f329b49eaf1b20c9a7802b539876be7c782f33dc78587cc510c7b4bf12af5707bfa2813e59ae442
+DIST trace-cmd-v3.3.tar.gz 363405 BLAKE2B bc77ced96d47fe8284ad2252b7f6e51ae73b248a41908f255db68277ffccb35b34ede9a5e85f5f284b701c40b009f2d0ca091fb7db554793ae1470d6585e07ed SHA512 0857bea0bceb196bdb44164eefb8a05384c640f5a4d569dcbf26d80302b21bf17880eaba07c3da81c8812abe0f451219c26ba02b7bf9103eb1d0e88f1da84703
diff --git a/dev-util/trace-cmd/trace-cmd-3.3.ebuild b/dev-util/trace-cmd/trace-cmd-3.3.ebuild
new file mode 100644
index 000000000000..707678e7fb7a
--- /dev/null
+++ b/dev-util/trace-cmd/trace-cmd-3.3.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+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
+ 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
+ $(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_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)"
+}