dev-util/strace: bump to v5.4
authorThomas Deutschmann <whissi@gentoo.org>
Fri, 29 Nov 2019 19:45:07 +0000 (20:45 +0100)
committerThomas Deutschmann <whissi@gentoo.org>
Fri, 29 Nov 2019 19:45:07 +0000 (20:45 +0100)
Package-Manager: Portage-2.3.80, Repoman-2.3.19
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
dev-util/strace/Manifest
dev-util/strace/strace-5.4.ebuild [new file with mode: 0644]

index 5d56ae8062c667af2b6b13b08237f8c1e0df4edc..ea3db906b495bfe3aaacb2337d6afff1a3728c6e 100644 (file)
@@ -1,3 +1,4 @@
 DIST strace-4.26.tar.xz 1444216 BLAKE2B ea8ff5f863afa29a3a40e8d89ff5c3835c64adf7c34c8957bbe3d99a02998d61714437470293d1759e87c1ceb8ed42564632ef33dd9d5303452ec7505822d1ba SHA512 cce153246802fcdb1547bc11164784066101a2e672e2a264cb742593b559e579aa4bedc749d87fdd1fc2045f4f79b54d419bb50c823074d2cca6f3c75ccf2290
 DIST strace-5.2.tar.xz 1515544 BLAKE2B 919a689741eabd843a43fdb557953ee6095a4d1abea808d7c35049b93afd338e0df7c69014486dfb88d22dd7cdb2f74b939ed55f08e85cdb9793d8150d08bde0 SHA512 41bea20215fa80ad90a5d49c41944e02774e715efda5e563b3714e5800933a5fca4a2392634193cf49c0752321a39e0c185bdbc9cfb8ee053b09a6bd5723da35
 DIST strace-5.3.tar.xz 1572708 BLAKE2B 808bc7afc6c70137c44d0f5a47706953bc7c0214348cda2ae45e10876bd6e118c103f15abffdfe0d7fdb01d8d3de163b9c7de3970d9cd07c88ceca11a99dc7f9 SHA512 02b80a8abedb14e40235709733953005210cd328daba59cb594745e7ed3851d155546ccccdb3e43835aa75eee89f023324e542e15154bbc3269e37fd23433e2a
+DIST strace-5.4.tar.xz 1599396 BLAKE2B 0a7fd9600488f5f07042ead8123151cf0113f82329c3cc786c8f3ffb8673f73eaaa1a489f1f27c47800a20e5b6327f1bf5fb09a5b798156908f9e10374a04970 SHA512 4ddba2ec4457a2257c18b26dca851e49a275813c4eb3069379a93fcc60228f9b63a3dee9e3719ae606a7cc61d55ab21ce147327223903c302c061e381097a8d7
diff --git a/dev-util/strace/strace-5.4.ebuild b/dev-util/strace/strace-5.4.ebuild
new file mode 100644 (file)
index 0000000..db37888
--- /dev/null
@@ -0,0 +1,95 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-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
+               sed /autoreconf/d -i bootstrap || die
+               ./bootstrap || 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
+       local myeconfargs=(
+               --enable-mpers=check
+               $(use_with unwind libunwind)
+               $(use_with elfutils libdw)
+       )
+       econf "${myeconfargs[@]}"
+}
+
+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
+       if ! use perl ; then
+               rm "${ED}"/usr/bin/strace-graph || die
+       fi
+       dodoc CREDITS
+}