diff options
author | 2018-06-16 20:36:52 +0200 | |
---|---|---|
committer | 2018-06-18 13:38:53 +0200 | |
commit | 11c6d80669d85985bb9f8aabd052c89a34a2c84f (patch) | |
tree | 65da89a05b71d08cfea1e08b9042a720a0658cb3 /dev-util/strace/strace-4.23-r1.ebuild | |
parent | profiles/prefix/darwin/macos/10.5/ppc/package.mask: unmask gcc (diff) | |
download | gentoo-11c6d80669d85985bb9f8aabd052c89a34a2c84f.tar.gz gentoo-11c6d80669d85985bb9f8aabd052c89a34a2c84f.tar.bz2 gentoo-11c6d80669d85985bb9f8aabd052c89a34a2c84f.zip |
dev-util/strace: Add use flag for elfutils.
strace can use libdw to implement stack tracing support and will use it
automatically if it is installed on the system. The commit makes this
configurable.
Closes: https://github.com/gentoo/gentoo/pull/8860
Diffstat (limited to 'dev-util/strace/strace-4.23-r1.ebuild')
-rw-r--r-- | dev-util/strace/strace-4.23-r1.ebuild | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/dev-util/strace/strace-4.23-r1.ebuild b/dev-util/strace/strace-4.23-r1.ebuild new file mode 100644 index 000000000000..a16ee1f785c0 --- /dev/null +++ b/dev-util/strace/strace-4.23-r1.ebuild @@ -0,0 +1,91 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs + +if [[ ${PV} == "9999" ]] ; then + EGIT_REPO_URI="https://github.com/strace/strace.git" + inherit git-r3 autotools +else + SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux" +fi + +DESCRIPTION="A useful diagnostic, instructional, and debugging tool" +HOMEPAGE="https://strace.io/" + +LICENSE="BSD" +SLOT="0" +IUSE="aio perl static unwind elfutils" + +REQUIRED_USE="?? ( unwind elfutils )" + +LIB_DEPEND=" + unwind? ( sys-libs/libunwind[static-libs(+)] ) + elfutils? ( dev-libs/elfutils[static-libs(+)] ) +" +# strace only uses the header from libaio to decode structs +DEPEND=" + static? ( ${LIB_DEPEND} ) + aio? ( >=dev-libs/libaio-0.3.106 ) + sys-kernel/linux-headers +" +RDEPEND=" + !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + perl? ( dev-lang/perl ) +" + +src_prepare() { + default + + if [[ ! -e configure ]] ; then + # git generation + ./xlat/gen.sh || die + ./generate_mpers_am.sh || die + eautoreconf + [[ ! -e CREDITS ]] && cp CREDITS{.in,} + fi + + filter-lfs-flags # configure handles this sanely + # Add -pthread since strace wants -lrt for timer_create, and -lrt uses -lpthread. + use static && append-ldflags -static -pthread + + export ac_cv_header_libaio_h=$(usex aio) + use elibc_musl && export ac_cv_header_stdc=no + + # Stub out the -k test since it's known to be flaky. #545812 + sed -i '1iexit 77' tests*/strace-k.test || die +} + +src_configure() { + # Set up the default build settings, and then use the names strace expects. + tc-export_build_env BUILD_{CC,CPP} + local v bv + for v in CC CPP {C,CPP,LD}FLAGS ; do + bv="BUILD_${v}" + export "${v}_FOR_BUILD=${!bv}" + done + + # Don't require mpers support on non-multilib systems. #649560 + econf \ + --enable-mpers=check \ + $(use_with unwind libunwind) \ + $(use_with elfutils libdw) +} + +src_test() { + if has usersandbox $FEATURES ; then + ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044 + return 0 + fi + + default +} + +src_install() { + default + use perl || rm "${ED%/}"/usr/bin/strace-graph + dodoc CREDITS +} |