summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-util/trace-cmd/Manifest1
-rw-r--r--dev-util/trace-cmd/trace-cmd-3.1.2.ebuild134
2 files changed, 135 insertions, 0 deletions
diff --git a/dev-util/trace-cmd/Manifest b/dev-util/trace-cmd/Manifest
index 289146809ca9..a683d07d99d6 100644
--- a/dev-util/trace-cmd/Manifest
+++ b/dev-util/trace-cmd/Manifest
@@ -1,2 +1,3 @@
DIST trace-cmd-v2.9.1.tar.gz 4298008 BLAKE2B f7aa2f12b2c90f35390857ed6f5818b74c42be36ce70835d86410f9f4931d27410123baaad007fa2795c1ba1f5bafc739db620f467ccc48021d774ee7be8a68d SHA512 186bfdd8ff1e88e9e6d3ae87b123f049892deaaa8d6a42944b6f8abee6b828946b88774029aa96daf4423a3dfc01b42835508f44f636dd02579ef9a8ef425131
DIST trace-cmd-v3.0.2.tar.gz 308097 BLAKE2B 109cf260a2bc219c9bef92fb85bdd5abd0698d261ecec35ea31b152986af720aae26720cfa6148f798fca1d33f631ea3e50906a5fc7ef00dbd705c63d3b83f2a SHA512 3f364409f4a8931a09b762b19ee19ae52215b46e7ed90610a0fa4092e71d88d0dae91353ff98ba11f18012c27ef67289097c6c132f0f07193fac459ac52861d0
+DIST trace-cmd-v3.1.2.tar.gz 317611 BLAKE2B 485d62bfd6c7e3dedc5c3a9eb18af4b425bccc03e932854ef87fc0d032ef011e68cb978b34e319d97b85b24bba6d16ce619faaca8d96c77be1b64b1c4ca06e69 SHA512 d894842c11d895e2753fe254a83ecdc6bedcdfe1eceba5d75f1302b5476c9a3114c1fc5acddcba19ab05eaafb30db97e2e9b51b90afb1fd0550f1fbe0f59e0ac
diff --git a/dev-util/trace-cmd/trace-cmd-3.1.2.ebuild b/dev-util/trace-cmd/trace-cmd-3.1.2.ebuild
new file mode 100644
index 000000000000..0d772370332c
--- /dev/null
+++ b/dev-util/trace-cmd/trace-cmd-3.1.2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{8..11} )
+DISTUTILS_OPTIONAL=1
+
+inherit linux-info bash-completion-r1 python-r1 toolchain-funcs
+
+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 ~x86"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0/${PV}"
+IUSE="+audit doc python test udis86 +zstd"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# XXX trace-cmd autodetects this without configurability. This might cause
+# issues if the libraries are picked up with the useflag disabled and later
+# uninstalled
+RDEPEND="
+ audit? ( sys-process/audit )
+ python? ( ${PYTHON_DEPS} )
+ udis86? ( dev-libs/udis86 )
+ zstd? ( >=app-arch/zstd-1.4 )
+ >=dev-libs/libtracefs-1.4
+ >=dev-libs/libtraceevent-1.5
+"
+DEPEND="${RDEPEND}
+ sys-kernel/linux-headers
+ test? ( dev-util/cunit )
+"
+BDEPEND="
+ virtual/pkgconfig
+ python? ( dev-lang/swig )
+ doc? ( app-text/asciidoc )
+"
+
+# having trouble getting tests to compile
+RESTRICT+=" test"
+
+pkg_setup() {
+ local CONFIG_CHECK="
+ ~TRACING
+ ~FTRACE
+ ~BLK_DEV_IO_TRACE"
+
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ default
+ sed -r -e 's:([[:space:]]+)install_bash_completion($|[[:space:]]+):\1:' \
+ -i Makefile || die "sed failed"
+}
+
+src_configure() {
+ EMAKE_FLAGS=(
+ BUILD_OUTPUT="${WORKDIR}/${P}_build"
+ "prefix=${EPREFIX}/usr"
+ "libdir=${EPREFIX}/usr/$(get_libdir)"
+ "CC=$(tc-getCC)"
+ "AR=$(tc-getAR)"
+ "BASH_COMPLETE_DIR=$(get_bashcompdir)"
+ "etcdir=/etc"
+ $(usex audit '' 'NO_AUDIT=' '' '1')
+ $(usex test 'CUNIT_INSTALLED=' '' '1' '')
+ $(usex udis86 '' 'NO_UDIS86=' '' '1')
+ VERBOSE=1
+ )
+}
+
+src_compile() {
+ emake "${EMAKE_FLAGS[@]}" NO_PYTHON=1 \
+ trace-cmd
+
+ if use python; then
+ python_copy_sources
+ python_foreach_impl python_compile
+ fi
+
+ use doc && emake doc
+}
+
+python_compile() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ emake "${EMAKE_FLAGS[@]}" \
+ PYTHON_VERS="${EPYTHON}" \
+ PYTHON_PKGCONFIG_VERS="${EPYTHON//python/python-}" \
+ python_dir=$(python_get_sitedir)/${PN} \
+ python ctracecmd.so
+
+ popd > /dev/null || die
+}
+
+src_test() {
+ emake "${EMAKE_FLAGS[@]}" test
+}
+
+src_install() {
+ emake "${EMAKE_FLAGS[@]}" NO_PYTHON=1 \
+ DESTDIR="${D}" \
+ install install_libs
+
+ newbashcomp tracecmd/trace-cmd.bash "${PN}"
+
+ use doc && emake DESTDIR="${D}" install_doc
+ use python && python_foreach_impl python_install
+}
+
+python_install() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ emake "${EMAKE_FLAGS[@]}" DESTDIR="${D}" \
+ PYTHON_VERS="${EPYTHON}" \
+ PYTHON_PKGCONFIG_VERS="${EPYTHON//python/python-}" \
+ python_dir=$(python_get_sitedir)/${PN} \
+ install_python
+
+ popd > /dev/null || die
+
+ python_optimize
+}