Files
gentoo/dev-util/trace-cmd/trace-cmd-3.3.1-r1.ebuild
Florian Schmaus fc5e6f0ade dev-util/trace-cmd: install man pages and html documentation
The 'docs' target needs to be called explicitly for the man pages and
the html documentation to be build.

Also add missing xmlto dependency and set version-tag so that the
binaries identify as Gentoo build.

Closes: https://bugs.gentoo.org/953284
Closes: https://github.com/gentoo/gentoo/pull/41472
Signed-off-by: Florian Schmaus <flow@gentoo.org>
Signed-off-by: Yixun Lan <dlan@gentoo.org>
2025-04-06 17:30:03 +08:00

109 lines
2.6 KiB
Bash

# 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..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
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)"
}