diff --git a/dev-util/trace-cmd/Manifest b/dev-util/trace-cmd/Manifest index 07c4da63dae5a..686bbf31c4472 100644 --- a/dev-util/trace-cmd/Manifest +++ b/dev-util/trace-cmd/Manifest @@ -1,2 +1,3 @@ DIST trace-cmd-v3.3.2.tar.gz 366804 BLAKE2B 506fcff2e7fccea76632f63545e12871819d88adc9e782b34c793b2c5eb185a5546b0bdc4fba8245dd8c57c945d1377c601720ef3f34cb261d27a6875df899df SHA512 139b4a00248479c88e2267c5e8ab368a4fb94687c47fe5192ccceb2d0919689072458fcbae2c9ccd27f538a67b1a373bdb539345938e39f23eec80fe5285da35 DIST trace-cmd-v3.3.3.tar.gz 366872 BLAKE2B b07848ca789092fda3aeadbf47d65a9f84c53af927c4c43d9f00c777460085795efebdf973a9708ef35dca0f20e773e5e39a5f4ef25f7297ad9bce449d2953b8 SHA512 df3604e3f897449b7685faddb7c61c6bcce2dbe26c504200710f73d4e24047b34b3df819855d6ac52934c8515725d1b25bd0089c66de700dac0990f44d0069a6 +DIST trace-cmd-v3.4.tar.gz 369809 BLAKE2B 0a708dcf2cdfcfc1e18e51e424d44a1463cf78424eb0416800a2b8da5ec29db94e394ac973b2596d6b6037bffaa8ae5b6d6a77cd4e336263fe511de131c20494 SHA512 b237a5e60e71a882b7fd559d130cbf6e076c51f548292f3226d30a50591c5306de60ac5f664268b7d8f9f104353bc509b5bd4d7903a5db2e020570674b7712e7 diff --git a/dev-util/trace-cmd/trace-cmd-3.4.ebuild b/dev-util/trace-cmd/trace-cmd-3.4.ebuild new file mode 100644 index 0000000000000..7f05d2f590009 --- /dev/null +++ b/dev-util/trace-cmd/trace-cmd-3.4.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{11..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.9 + virtual/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)" +}