You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.3 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
LTRACE_V=${PV/_p*/}
DB_V=${PV/*_p/}
DESCRIPTION="trace library calls made at runtime"
HOMEPAGE="https://gitlab.com/cespedes/ltrace"
SRC_URI="
mirror://debian/pool/main/l/${PN}/${PN}_${LTRACE_V}.orig.tar.bz2
mirror://debian/pool/main/l/${PN}/${PN}_${LTRACE_V}-${DB_V}.debian.tar.gz
"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~ia64 ~mips ppc ~ppc64 ~sparc x86"
IUSE="debug selinux test unwind"
RDEPEND="virtual/libelf:=
selinux? ( sys-libs/libselinux )
unwind? ( sys-libs/libunwind:= )"
DEPEND="${RDEPEND}
sys-libs/binutils-libs
test? ( dev-util/dejagnu )"
# under musl tests need major work upstream, half of them does not work.
RESTRICT="
!test? ( test )
elibc_musl? ( test )
"
S=${WORKDIR}/${PN}-${LTRACE_V}
PATCHES=(
"${FILESDIR}"/${PN}-0.7.3-test-protos.patch #bug 421649
"${FILESDIR}"/${PN}-0.7.3-alpha-protos.patch
"${FILESDIR}"/${PN}-0.7.3-ia64.patch
"${FILESDIR}"/${PN}-0.7.3-print-test-pie.patch
"${FILESDIR}"/${PN}-0.7.3-ia64-pid_t.patch
"${FILESDIR}"/${PN}-0.7.3-musl-host.patch #713428
"${FILESDIR}"/${PN}-0.7.3-no-error.h.patch #713428
"${FILESDIR}"/${PN}-0.7.3-no-error.h-2.patch #713428
"${FILESDIR}"/${PN}-0.7.3-no-REG_NOERROR.patch #713428
"${FILESDIR}"/${PN}-0.7.3-pid_t.patch #713428
"${FILESDIR}"/${PN}-0.7.3-tuple-tests.patch
"${FILESDIR}"/${PN}-0.7.3-CXX-for-tests.patch
"${FILESDIR}"/${PN}-0.7.3-test-glibc-2.33.patch
"${FILESDIR}"/${PN}-0.7.3-disable-munmap-test.patch
)
src_prepare() {
eapply "${WORKDIR}"/debian/patches/[0-9]*
default
sed -i '/^dist_doc_DATA/d' Makefile.am || die
eautoreconf
}
src_configure() {
ac_cv_header_selinux_selinux_h=$(usex selinux) \
ac_cv_lib_selinux_security_get_boolean_active=$(usex selinux) \
econf \
--disable-werror \
$(use_enable debug) \
$(use_with unwind libunwind)
}
src_test() {
# On kernels with Yama enabled this will not run, even without sandbox,
# unless /proc/sys/kernel/yama/ptrace_scope == 0. Just don't bother.
# Note: we only delete it here in order to avoid Makefile.am patching.
rm -f testsuite/ltrace.minor/attach-process.exp
# sandbox redirects vfork() to fork(): bug # 774054
# Let's avoid sandbox entirely.
SANDBOX_ON=0 LD_PRELOAD= emake check
}