summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYmrDtnJu <YmrDtnJu@users.noreply.github.com>2018-06-16 20:36:52 +0200
committerThomas Deutschmann <whissi@gentoo.org>2018-06-18 13:38:53 +0200
commit11c6d80669d85985bb9f8aabd052c89a34a2c84f (patch)
tree65da89a05b71d08cfea1e08b9042a720a0658cb3 /dev-util/strace/strace-4.23-r1.ebuild
parentprofiles/prefix/darwin/macos/10.5/ppc/package.mask: unmask gcc (diff)
downloadgentoo-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.ebuild91
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
+}