From cf7630078a53ff74b245b148bd722994068e28f9 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 28 Oct 2022 15:59:37 +0100 Subject: gentoo auto-resync : 28:10:2022 - 15:59:37 --- dev-util/valgrind/Manifest | 7 +- dev-util/valgrind/files/valgrind-3.17.0-lld.patch | 77 ------------- dev-util/valgrind/valgrind-3.16.1.ebuild | 119 -------------------- dev-util/valgrind/valgrind-3.17.0.ebuild | 121 -------------------- dev-util/valgrind/valgrind-3.20.0.ebuild | 128 ++++++++++++++++++++++ 5 files changed, 130 insertions(+), 322 deletions(-) delete mode 100644 dev-util/valgrind/files/valgrind-3.17.0-lld.patch delete mode 100644 dev-util/valgrind/valgrind-3.16.1.ebuild delete mode 100644 dev-util/valgrind/valgrind-3.17.0.ebuild create mode 100644 dev-util/valgrind/valgrind-3.20.0.ebuild (limited to 'dev-util/valgrind') diff --git a/dev-util/valgrind/Manifest b/dev-util/valgrind/Manifest index a040b416c7e6..695d3b96579a 100644 --- a/dev-util/valgrind/Manifest +++ b/dev-util/valgrind/Manifest @@ -1,16 +1,13 @@ AUX musl.supp 758 BLAKE2B 168ff4f38cc6b3c11e949fbc6d7c1e024259d2c02ae1424123b1f99d77c123994270ab56067ac6f1923c0dc1e8b29336a2f9fa7a9010f99e5731f6a7be5bb7d1 SHA512 55f57c84241ad32443095e7cd74607ec8ebd1dd1e67de3ab2b87e996e416980484cc9b9ef13e54bb0c0584d2ffbbd4ae9389cf1215b9c8751dcb77d2816e49f0 AUX valgrind-3.13.0-malloc.patch 1086 BLAKE2B 004bb1c56f4e8b73838c62563503a3a550d8ced9fda8114d3dd02dc3013171de8116f1510561010256c1855e5ff3e62dd1921f82cfcb14ae78cb566d43423d60 SHA512 15b4d485bbb1fadfaea0ddc0e10874f09438ec4085bf70c2209c0854eaa9bd587f96bc0cf1c367a07fb09acb9dee17b5756a41237d04ceaa573bba0bda0ec523 AUX valgrind-3.15.0-Build-ldst_multiple-test-with-fno-pie.patch 650 BLAKE2B ffb545d6af214a5bd43ff800d52e0d7cfc03feac8d2466da8d4935db659172cd50cf3e2d63b3aff46d81b21846b304671506cd235b710037218fc16e0ef66438 SHA512 7cb5a46c2d8ed4360053289994014b334e32d48b0608ed58662486bd432c31835ef16e2cdfd734f3e4d720e272d2507ec76f0b77e1364237e9f6dbbd97a8abb6 -AUX valgrind-3.17.0-lld.patch 2837 BLAKE2B 331c5eb91f476271a82d6730b5aa628ecf3a9b63765b480dab0d0f43669f078764272b3ca2813747b863fde70664a71b8f801590374ee340618ea0b8f1bc193b SHA512 d96fc27cc28dbf9def7b73d92ab2eb54c32ffe04590b3621a5d2e2926c420de46ace81a75466d8b50ff7b27186c5134ad810916f120e620afc6e902c0f3823f5 AUX valgrind-3.19.0-clang-15.patch 1263 BLAKE2B 0b1734061165735c0eba127d46250bca3bffc4a5c884c4ced121172561e36c7bebc9e138ef6e0ee519de5fb3dac37050540fdf576da5e7690e47a8ecac6a6f32 SHA512 d7af318c02815f705cf307ab673622de7c1b9afa4cc9fdbedfe6b06a98ac7798e1d19ee5836826f0d45c331a2ec2518c5515f7d908b6b8f22d3e4753b176d977 AUX valgrind-3.7.0-respect-flags.patch 360 BLAKE2B 020b9e3af2c6393193edd8be99ff2309f4b138915bd0315090cebd902747678a5b655a8178a8ec8e88782286470922aed505d2a69d6da4d295fd2053d640b035 SHA512 efdb017283b6a5829d1a5acc31b42ddd177a3ab468eb062b8c4fd90b2dbd06679e8d8bc2d6f813e3001efdda831d4410cc8da3a3e42ee2e49efea0423e4b3ca3 -DIST valgrind-3.16.1.tar.bz2 16262776 BLAKE2B 1c333c26827f7a8356869e8758da9dd6a7444642ac4f6377c84fdab8349b9cee1e9bf2cf2eb86043c4feffab342dd97da20e76d7566d0296189e6ea8483a8c65 SHA512 2a4173efe1b6facdd2f5c5ee8ed006704168eba1813736fccc8191d60363afd96197512cf42037e65f18d4ddd49adc74a54c47210df216fba3c46bf68ef0f950 -DIST valgrind-3.17.0.tar.bz2 16459075 BLAKE2B 96569db9bc3c25ca195a4caa64da6e96b9bff7edd82727fccccaa8307162e29f4e150386c7c9611152fc1afde609d0922aa84067957b72dff03810ee23045e9c SHA512 94de78942a7059e1ab84d1c0c0b8f3efd1c2d15c70b97bc7edc8136812778adb6f8187149d53a60a8c6a7c8b40534f9be5cfed0eb3c0c314545b681f950b108f DIST valgrind-3.18.1.tar.bz2 16149159 BLAKE2B a98322e4c12ae1bc495659217bd398b85e459288e775ba5f543b9ce1faa5bdfc17791178c0e7b9703a31588cc4c7cbde814b7a43b2ec76e7362e2aeeb100d935 SHA512 a03b5cd7eafab4a1cea07f46464c1546ae1cb3d106649626b1e55658badf90e58d1f3854a38a33d5dffd8237f5555ae7e1f27a4b40e06254f87825c7fc61b59b DIST valgrind-3.19.0.tar.bz2 16403296 BLAKE2B d3ccd25789ec4d87a0ddab58d8098246a33a083505b42adaa94ee3af659cbe073e516bc98163ef56233e6cd9de2125839b71ee443fbc0db6557dcb35a6c05280 SHA512 f720a89dc4c4989cc5714bff9efe97529f71990bcfad7a92b889ce099c4326d6da07fa4d5fbab2e9125e20f352354f6178471e49e419b613a3c82c2a1c667ab2 -EBUILD valgrind-3.16.1.ebuild 3703 BLAKE2B 311cbc2ba147e6bde2c6e8352eed928361be75f96c84086870b45decf3675107a2fdae7ae48bca5ddbc1ea5dbbd29bdb886b15f514bbb40d7eaf65772e46f5f3 SHA512 9f87ff366eb7e51d697527350c8135778537b8d2a09ceddc38e96b830f07eed040ade236bb204637e625b336f12508ed36240d0f8818aaa2e60a64e136947ead -EBUILD valgrind-3.17.0.ebuild 3749 BLAKE2B 6d2fa93b2b3beee059041ea84c24ce99b96379907b707745d90799db4a4e5d034cd34cbaf22c8ef1a61be0c5d4f47877e71ea40080e36f58e5310153a46d0e86 SHA512 c892f4b885b12b9acd73e1a7c1af38256c72329d322ba9f1d1a9d4e815c1eea03e5754376be404a752735c84a1ec8213b0fcf2b010d222967ef71c409d7aea0c +DIST valgrind-3.20.0.tar.bz2 16469274 BLAKE2B 8217dcfc185c7f6601fedd8d53bb35d260b985b8049c8c73a26151db6650b1607e8e53b614652c40962ea7382b9301c4b234a933c8d81f57e649ebf3f703e630 SHA512 d6bfb9284d0410134ee7e2a5975b13c01508dd5587b562947d8197b3c113b76fdfac88c4072948be68bbf0dbeb17b4d1acb1412ce898adaa83c30ae2c6a1c12b EBUILD valgrind-3.18.1.ebuild 3703 BLAKE2B 8cebf6e55574abde88bb9cb173c35ccb283b1b7c4d62664d26137478f5174b6ca7c366100e09540357caa27d4a221d8e3b5225aaa019fd6b1c7cfe6928932569 SHA512 eba7ba77309a201722ccb4b1e30e1ab7f41a3b90344e4003c64e34cc3e7d71adcba2efe829b31622e9fc2258a49ecda0e84a1b48bd245e8b795518b31d868cac EBUILD valgrind-3.19.0.ebuild 3959 BLAKE2B a4599eeb28141def0b522a3e23abe83db44ec8ea47e1438ea2e10abb9bf49fc643e2c1fc7d8cab414ae4108479041575c30c8b204ae296f22b1076fea013db53 SHA512 ae7bc5cdb6f2fc9a882508ea7d7e5407851354fb34a4e8f1dbe5e48814e0d30426c2ab9089217ce4ab57716b4bee42fa54d24e70fe90d8316f956ddc261cf432 +EBUILD valgrind-3.20.0.ebuild 3921 BLAKE2B c0f5ce239d2e5990afe6f272de7006219c9ca97e8859ec9491f64f7211c6760f5feecd453356ea3e89e77d14dfa4c27375259c1aa1d886ee0ee028611221fb84 SHA512 655489b4b0cb46f12607edd429277fd677db5793dfbd6e4743c3ac02e160353e3238802c1923d14e533ac040242478730d5091ab756e00ad505b1da832f6eed1 EBUILD valgrind-9999.ebuild 3921 BLAKE2B c0f5ce239d2e5990afe6f272de7006219c9ca97e8859ec9491f64f7211c6760f5feecd453356ea3e89e77d14dfa4c27375259c1aa1d886ee0ee028611221fb84 SHA512 655489b4b0cb46f12607edd429277fd677db5793dfbd6e4743c3ac02e160353e3238802c1923d14e533ac040242478730d5091ab756e00ad505b1da832f6eed1 MISC metadata.xml 1028 BLAKE2B 5e6d52b6a5e657f56dc8da70f83d340c8ad8ff1448b109916d77a51b62f9018dafaf20586684d9d5c0984647df9fb3886b9fc0fabcfd62bcd13ef8d5e1de223e SHA512 1b9bd9d815de416b73e03bb13f88b662b14b4c135a36549ea5ad69a59c9395a240b80c30e6847eaecc2318ca88a2081e71fed41af2e9eed5162dfca78c7af920 diff --git a/dev-util/valgrind/files/valgrind-3.17.0-lld.patch b/dev-util/valgrind/files/valgrind-3.17.0-lld.patch deleted file mode 100644 index 56a7c0f72f46..000000000000 --- a/dev-util/valgrind/files/valgrind-3.17.0-lld.patch +++ /dev/null @@ -1,77 +0,0 @@ -https://bugs.kde.org/show_bug.cgi?id=439046 ---- -diff --git a/configure.ac b/configure.ac -index 4582fb5d0..63fd6c25e 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -2639,30 +2639,52 @@ CFLAGS=$safe_CFLAGS - # will reside. -Ttext aligns just the .text section start (but not any - # other section). - # --# So test for -Ttext-segment which is supported by all bfd ld versions -+# LLVM ld.lld 10.0 changed the semantics of its -Ttext. See "Breaking changes" -+# in https://releases.llvm.org/10.0.0/tools/lld/docs/ReleaseNotes.html -+# The --image-base option (since version 6.0?) provides the semantics needed. -+# -Ttext-segment generates an error, but -Ttext now more closely -+# follows the GNU (bfd) ld's -Ttext. -+# -+# So test first for --image-base support, and if that fails then -+# for -Ttext-segment which is supported by all bfd ld versions - # and use that if it exists. If it doesn't exist it must be an older - # version of gold and we can fall back to using -Ttext which has the - # right semantics. - --AC_MSG_CHECKING([if the linker accepts -Wl,-Ttext-segment]) -- - safe_CFLAGS=$CFLAGS --CFLAGS="-static -nodefaultlibs -nostartfiles -Wl,-Ttext-segment=$valt_load_address_pri_norml -Werror" -+AC_MSG_CHECKING([if the linker accepts -Wl,--image-base]) -+ -+CFLAGS="-static -nodefaultlibs -nostartfiles -Wl,--image-base=$valt_load_address_pri_norml -Werror" - - AC_LINK_IFELSE( - [AC_LANG_SOURCE([int _start () { return 0; }])], - [ - linker_using_t_text="no" -- AC_SUBST([FLAG_T_TEXT], ["-Ttext-segment"]) -+ AC_SUBST([FLAG_T_TEXT], ["--image-base"]) - AC_MSG_RESULT([yes]) - ], [ -- linker_using_t_text="yes" -- AC_SUBST([FLAG_T_TEXT], ["-Ttext"]) - AC_MSG_RESULT([no]) -+ -+ AC_MSG_CHECKING([if the linker accepts -Wl,-Ttext-segment]) -+ -+ CFLAGS="-static -nodefaultlibs -nostartfiles -Wl,-Ttext-segment=$valt_load_address_pri_norml -Werror" -+ -+ AC_LINK_IFELSE( -+ [AC_LANG_SOURCE([int _start () { return 0; }])], -+ [ -+ linker_using_t_text="no" -+ AC_SUBST([FLAG_T_TEXT], ["-Ttext-segment"]) -+ AC_MSG_RESULT([yes]) -+ ], [ -+ linker_using_t_text="yes" -+ AC_SUBST([FLAG_T_TEXT], ["-Ttext"]) -+ AC_MSG_RESULT([no]) -+ ]) - ]) -+ - CFLAGS=$safe_CFLAGS - --# If the linker only supports -Ttext (not -Ttext-segment) then we will -+# If the linker only supports -Ttext (not -Ttext-segment or --image-base) then we will - # have to strip any build-id ELF NOTEs from the statically linked tools. - # Otherwise the build-id NOTE might end up at the default load address. - # (Pedantically if the linker is gold then -Ttext is fine, but newer -@@ -2688,7 +2710,7 @@ AC_LINK_IFELSE( - AC_MSG_RESULT([no]) - ]) - else --AC_MSG_NOTICE([ld -Ttext-segment used, no need to strip build-id NOTEs.]) -+AC_MSG_NOTICE([ld --image-base or -Ttext-segment used, no need to strip build-id NOTEs.]) - AC_SUBST([FLAG_NO_BUILD_ID], [""]) - fi - CFLAGS=$safe_CFLAGS --- diff --git a/dev-util/valgrind/valgrind-3.16.1.ebuild b/dev-util/valgrind/valgrind-3.16.1.ebuild deleted file mode 100644 index 268884944a78..000000000000 --- a/dev-util/valgrind/valgrind-3.16.1.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit autotools flag-o-matic toolchain-funcs multilib pax-utils - -DESCRIPTION="An open-source memory debugger for GNU/Linux" -HOMEPAGE="https://www.valgrind.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="mpi" - -if [[ ${PV} == "9999" ]]; then - EGIT_REPO_URI="https://sourceware.org/git/${PN}.git" - inherit git-r3 -else - SRC_URI="https://sourceware.org/pub/valgrind/${P}.tar.bz2" - KEYWORDS="-* amd64 arm arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -fi - -DEPEND="mpi? ( virtual/mpi )" -RDEPEND="${DEPEND}" - -src_prepare() { - # Correct hard coded doc location - sed -i -e "s:doc/valgrind:doc/${PF}:" docs/Makefile.am || die - - # Don't force multiarch stuff on OSX, bug #306467 - sed -i -e 's:-arch \(i386\|x86_64\)::g' Makefile.all.am || die - - # Respect CFLAGS, LDFLAGS - eapply "${FILESDIR}"/${PN}-3.7.0-respect-flags.patch - - eapply "${FILESDIR}"/${PN}-3.15.0-Build-ldst_multiple-test-with-fno-pie.patch - - if [[ ${CHOST} == *-solaris* ]] ; then - # upstream doesn't support this, but we don't build with - # Sun/Oracle ld, we have a GNU toolchain, so get some things - # working the Linux/GNU way - find "${S}" -name "Makefile.am" -o -name "Makefile.tool.am" | xargs \ - sed -i -e 's:-M,/usr/lib/ld/map.noexstk:-z,noexecstack:' || die - cp "${S}"/coregrind/link_tool_exe_{linux,solaris}.in - fi - - # Allow users to test their own patches - eapply_user - - # Regenerate autotools files - eautoreconf -} - -src_configure() { - local myconf=() - - # Respect ar, bug #468114 - tc-export AR - - # -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression" - # while compiling insn_sse.c in none/tests/x86 - # -fstack-protector more undefined references to __guard and __stack_smash_handler - # because valgrind doesn't link to glibc (bug #114347) - # -fstack-protector-all Fails same way as -fstack-protector/-fstack-protector-strong. - # Note: -fstack-protector-explicit is a no-op for Valgrind, no need to strip it - # -fstack-protector-strong See -fstack-protector (bug #620402) - # -m64 -mx32 for multilib-portage, bug #398825 - # -ggdb3 segmentation fault on startup - filter-flags -fomit-frame-pointer - filter-flags -fstack-protector - filter-flags -fstack-protector-all - filter-flags -fstack-protector-strong - filter-flags -m64 -mx32 - replace-flags -ggdb3 -ggdb2 - - if use amd64 || use ppc64; then - ! has_multilib_profile && myconf+=("--enable-only64bit") - fi - - # Force bitness on darwin, bug #306467 - use x64-macos && myconf+=("--enable-only64bit") - - # Don't use mpicc unless the user asked for it (bug #258832) - if ! use mpi; then - myconf+=("--without-mpicc") - fi - - econf "${myconf[@]}" -} - -src_install() { - default - - if [[ ${PV} == "9999" ]]; then - # Otherwise FAQ.txt won't exist: - emake -C docs FAQ.txt - mv docs/FAQ.txt . || die "Couldn't move FAQ.txt" - fi - - dodoc FAQ.txt - - pax-mark m "${ED}"/usr/$(get_libdir)/valgrind/*-*-linux - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_names on shared libraries, can't turn them into bundles, - # as dyld won't load them any more then, bug #306467 - local l - for l in "${ED}"/usr/lib/valgrind/*.so ; do - install_name_tool -id "${EPREFIX}"/usr/lib/valgrind/${l##*/} "${l}" - done - fi -} - -pkg_postinst() { - elog "Valgrind will not work if glibc does not have debug symbols." - elog "To fix this you can add splitdebug to FEATURES in make.conf" - elog "and remerge glibc. See:" - elog "https://bugs.gentoo.org/show_bug.cgi?id=214065" - elog "https://bugs.gentoo.org/show_bug.cgi?id=274771" - elog "https://bugs.gentoo.org/show_bug.cgi?id=388703" -} diff --git a/dev-util/valgrind/valgrind-3.17.0.ebuild b/dev-util/valgrind/valgrind-3.17.0.ebuild deleted file mode 100644 index d1d6fdd5f4cc..000000000000 --- a/dev-util/valgrind/valgrind-3.17.0.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit autotools flag-o-matic toolchain-funcs multilib pax-utils - -DESCRIPTION="An open-source memory debugger for GNU/Linux" -HOMEPAGE="https://www.valgrind.org" -LICENSE="GPL-2" -SLOT="0" -IUSE="mpi" - -if [[ ${PV} == "9999" ]]; then - EGIT_REPO_URI="https://sourceware.org/git/${PN}.git" - inherit git-r3 -else - SRC_URI="https://sourceware.org/pub/valgrind/${P}.tar.bz2" - KEYWORDS="-* amd64 arm arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" -fi - -DEPEND="mpi? ( virtual/mpi )" -RDEPEND="${DEPEND}" - -src_prepare() { - # Correct hard coded doc location - sed -i -e "s:doc/valgrind:doc/${PF}:" docs/Makefile.am || die - - # Don't force multiarch stuff on OSX, bug #306467 - sed -i -e 's:-arch \(i386\|x86_64\)::g' Makefile.all.am || die - - # Respect CFLAGS, LDFLAGS - eapply "${FILESDIR}"/${PN}-3.7.0-respect-flags.patch - - eapply "${FILESDIR}"/${PN}-3.15.0-Build-ldst_multiple-test-with-fno-pie.patch - - eapply "${FILESDIR}"/${PN}-3.17.0-lld.patch - - if [[ ${CHOST} == *-solaris* ]] ; then - # upstream doesn't support this, but we don't build with - # Sun/Oracle ld, we have a GNU toolchain, so get some things - # working the Linux/GNU way - find "${S}" -name "Makefile.am" -o -name "Makefile.tool.am" | xargs \ - sed -i -e 's:-M,/usr/lib/ld/map.noexstk:-z,noexecstack:' || die - cp "${S}"/coregrind/link_tool_exe_{linux,solaris}.in - fi - - # Allow users to test their own patches - eapply_user - - # Regenerate autotools files - eautoreconf -} - -src_configure() { - local myconf=() - - # Respect ar, bug #468114 - tc-export AR - - # -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression" - # while compiling insn_sse.c in none/tests/x86 - # -fstack-protector more undefined references to __guard and __stack_smash_handler - # because valgrind doesn't link to glibc (bug #114347) - # -fstack-protector-all Fails same way as -fstack-protector/-fstack-protector-strong. - # Note: -fstack-protector-explicit is a no-op for Valgrind, no need to strip it - # -fstack-protector-strong See -fstack-protector (bug #620402) - # -m64 -mx32 for multilib-portage, bug #398825 - # -ggdb3 segmentation fault on startup - filter-flags -fomit-frame-pointer - filter-flags -fstack-protector - filter-flags -fstack-protector-all - filter-flags -fstack-protector-strong - filter-flags -m64 -mx32 - replace-flags -ggdb3 -ggdb2 - - if use amd64 || use ppc64; then - ! has_multilib_profile && myconf+=("--enable-only64bit") - fi - - # Force bitness on darwin, bug #306467 - use x64-macos && myconf+=("--enable-only64bit") - - # Don't use mpicc unless the user asked for it (bug #258832) - if ! use mpi; then - myconf+=("--without-mpicc") - fi - - econf "${myconf[@]}" -} - -src_install() { - default - - if [[ ${PV} == "9999" ]]; then - # Otherwise FAQ.txt won't exist: - emake -C docs FAQ.txt - mv docs/FAQ.txt . || die "Couldn't move FAQ.txt" - fi - - dodoc FAQ.txt - - pax-mark m "${ED}"/usr/$(get_libdir)/valgrind/*-*-linux - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_names on shared libraries, can't turn them into bundles, - # as dyld won't load them any more then, bug #306467 - local l - for l in "${ED}"/usr/lib/valgrind/*.so ; do - install_name_tool -id "${EPREFIX}"/usr/lib/valgrind/${l##*/} "${l}" - done - fi -} - -pkg_postinst() { - elog "Valgrind will not work if glibc does not have debug symbols." - elog "To fix this you can add splitdebug to FEATURES in make.conf" - elog "and remerge glibc. See:" - elog "https://bugs.gentoo.org/show_bug.cgi?id=214065" - elog "https://bugs.gentoo.org/show_bug.cgi?id=274771" - elog "https://bugs.gentoo.org/show_bug.cgi?id=388703" -} diff --git a/dev-util/valgrind/valgrind-3.20.0.ebuild b/dev-util/valgrind/valgrind-3.20.0.ebuild new file mode 100644 index 000000000000..aed73f6be21b --- /dev/null +++ b/dev-util/valgrind/valgrind-3.20.0.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs multilib pax-utils + +DESCRIPTION="An open-source memory debugger for GNU/Linux" +HOMEPAGE="https://www.valgrind.org" +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://sourceware.org/git/${PN}.git" + inherit git-r3 +else + SRC_URI="https://sourceware.org/pub/valgrind/${P}.tar.bz2" + KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="mpi" + +DEPEND="mpi? ( virtual/mpi )" +RDEPEND="${DEPEND}" + +PATCHES=( + # Respect CFLAGS, LDFLAGS + "${FILESDIR}"/${PN}-3.7.0-respect-flags.patch + "${FILESDIR}"/${PN}-3.15.0-Build-ldst_multiple-test-with-fno-pie.patch +) + +src_prepare() { + # Correct hard coded doc location + sed -i -e "s:doc/valgrind:doc/${PF}:" docs/Makefile.am || die + + # Don't force multiarch stuff on OSX, bug #306467 + sed -i -e 's:-arch \(i386\|x86_64\)::g' Makefile.all.am || die + + # Conditionally copy musl specific suppressions && apply patch + if use elibc_musl ; then + cp "${FILESDIR}/musl.supp" "${S}" || die + PATCHES+=( "${FILESDIR}"/valgrind-3.13.0-malloc.patch ) + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # upstream doesn't support this, but we don't build with + # Sun/Oracle ld, we have a GNU toolchain, so get some things + # working the Linux/GNU way + find "${S}" -name "Makefile.am" -o -name "Makefile.tool.am" | xargs \ + sed -i -e 's:-M,/usr/lib/ld/map.noexstk:-z,noexecstack:' || die + cp "${S}"/coregrind/link_tool_exe_{linux,solaris}.in + fi + + default + + # Regenerate autotools files + eautoreconf +} + +src_configure() { + local myconf=() + + # Respect ar, bug #468114 + tc-export AR + + # -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression" + # while compiling insn_sse.c in none/tests/x86 + # -fstack-protector more undefined references to __guard and __stack_smash_handler + # because valgrind doesn't link to glibc (bug #114347) + # -fstack-protector-all Fails same way as -fstack-protector/-fstack-protector-strong. + # Note: -fstack-protector-explicit is a no-op for Valgrind, no need to strip it + # -fstack-protector-strong See -fstack-protector (bug #620402) + # -m64 -mx32 for multilib-portage, bug #398825 + # -ggdb3 segmentation fault on startup + # -flto* fails to build, bug #858509 + filter-flags -fomit-frame-pointer + filter-flags -fstack-protector + filter-flags -fstack-protector-all + filter-flags -fstack-protector-strong + filter-flags -m64 -mx32 + replace-flags -ggdb3 -ggdb2 + filter-lto + + if use amd64 || use ppc64; then + ! has_multilib_profile && myconf+=("--enable-only64bit") + fi + + # Force bitness on darwin, bug #306467 + use x64-macos && myconf+=("--enable-only64bit") + + # Don't use mpicc unless the user asked for it (bug #258832) + if ! use mpi; then + myconf+=("--without-mpicc") + fi + + econf "${myconf[@]}" +} + +src_install() { + default + + if [[ ${PV} == "9999" ]]; then + # Otherwise FAQ.txt won't exist: + emake -C docs FAQ.txt + mv docs/FAQ.txt . || die "Couldn't move FAQ.txt" + fi + + dodoc FAQ.txt + + pax-mark m "${ED}"/usr/$(get_libdir)/valgrind/*-*-linux + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_names on shared libraries, can't turn them into bundles, + # as dyld won't load them any more then, bug #306467 + local l + for l in "${ED}"/usr/lib/valgrind/*.so ; do + install_name_tool -id "${EPREFIX}"/usr/lib/valgrind/${l##*/} "${l}" + done + fi +} + +pkg_postinst() { + elog "Valgrind will not work if glibc does not have debug symbols." + elog "To fix this you can add splitdebug to FEATURES in make.conf" + elog "and remerge glibc. See:" + elog "https://bugs.gentoo.org/show_bug.cgi?id=214065" + elog "https://bugs.gentoo.org/show_bug.cgi?id=274771" + elog "https://bugs.gentoo.org/show_bug.cgi?id=388703" +} -- cgit v1.2.3