diff options
-rw-r--r-- | dev-util/trace-cmd/Manifest | 1 | ||||
-rw-r--r-- | dev-util/trace-cmd/trace-cmd-3.1.2.ebuild | 134 |
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 +} |