summaryrefslogtreecommitdiff
path: root/sys-devel/libtool
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/libtool')
-rw-r--r--sys-devel/libtool/Manifest4
-rw-r--r--sys-devel/libtool/files/libtool-2.4.7-werror-lto.patch47
-rw-r--r--sys-devel/libtool/libtool-2.4.7-r1.ebuild116
-rw-r--r--sys-devel/libtool/libtool-2.4.7.ebuild2
4 files changed, 167 insertions, 2 deletions
diff --git a/sys-devel/libtool/Manifest b/sys-devel/libtool/Manifest
index 370a79a797aa..a205fe4b04da 100644
--- a/sys-devel/libtool/Manifest
+++ b/sys-devel/libtool/Manifest
@@ -6,7 +6,9 @@ AUX libtool-2.4.6-mint.patch 1158 BLAKE2B aef4853bd00a459c939c1afbaf5ab70da22dc2
AUX libtool-2.4.6-ppc64le.patch 3672 BLAKE2B 1c1f068f0f1ab8b8180a98412e6a3bb1e4cc84c3e9c8894b4a0a2f8e110ea7ce198fc02d07ba2f18023cf38696d8cfd46e9fae979d5ab30ace2c82b020493f34 SHA512 e9dc9fad5eebabcc65506dddabf3a917c73237485f2ad24765a20437404f654a8c04411755381c7c5d90c2ae13cabd5d89f9ad15839e2e1b9d43300d57adf178
AUX libtool-2.4.6-pthread.patch 1496 BLAKE2B dc49604133c6c65a2290a8879c243b35b2019cb63b4901b6de68f5efcfe9d42dbaafd7c40ea03f1b247cea8718ef92a51c1bd0ce429ec49665f05a61e26d25fa SHA512 037cf598c644d167de5fef9f4ecee6ccd573d2516f2f777eeaad94135ff05dd0775191d3e21cca397bb664bc0449a5db0b9ef0bbaa16e178762be9769c13c31e
AUX libtool-2.4.6-pthread_bootstrapped.patch 532 BLAKE2B aeb1592c07a9c5eeed81c483e348786fb1cede29b09fa8e74d0fcf7fdb6ad36fd980823d13b3e20cc7a54d5c518e0f557928b440ef9d0fd6723a8d5f8774c098 SHA512 05c1cee7a3d90bf4768cabaaba47290dc668db7c14173abf99ed8e64dae92191537f89c3304a4d42c01ecc2280d37104c47f621e44b3d19db481846bb225a2a1
+AUX libtool-2.4.7-werror-lto.patch 2248 BLAKE2B 3537c599ee310fda695b1a671770e1d2c5a943e763641515738e8d13907b807b92727182a34af4c20598c3ad228a2b660f10fd582c2f65d1fdef11b92f5fc68a SHA512 b16f835fbec1ecf6c8408c0705fc94886f35443394298e9ae1d1893dbf7dbad11325b636ccc9d0ddeecc00a13a7b5ae78867dd1369b0fc2fcd9276808f326146
DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
-EBUILD libtool-2.4.7.ebuild 3327 BLAKE2B a5ec108c02a1f02aa5cd5af8e733e20b61c4c35ba41b7e1780b0037748628739d2f6d29b8879556bd600ee5907e07cea4ae3c872631ca9a8fac292da9b4dbdc0 SHA512 b1f8dd0045bcae3c4072af4109d98e1287ff231506981ea6aff9c7590ea084274f61b36f41b33dd00ae28eecdaeb9a685e6c230127cf55c02c0cdeaf53f2f7c4
+EBUILD libtool-2.4.7-r1.ebuild 3386 BLAKE2B 632fbd05cc5d68ac399a5cba403a195331cb6ebee94973c9d8fe0f196249306a5fdd6f113923e76bad2be97b07e82b2b9c5109b2b46795831b1a45371f017e10 SHA512 572a9f696f28e0f9fb86724034f232519a6a88dac00d252f46f7c24a29034f4d965a8a056973edeb68950c23ca86edce647527b75b3cc305dcd64ae060f9a503
+EBUILD libtool-2.4.7.ebuild 3334 BLAKE2B 196ccbd4276180bfaf120646fadfd75ea6572b0bb7ae587e4ce6a8cc5131fe8eac0d10429bb46b14ab936f083082c1898a583f41c9fd12e165768f4bf95890f8 SHA512 6da3a005faf45047ba8b25677b6c8f34348f978410920db68c44a5c0d388733f4dc3adea27034883256cd43f1eaab03ed55947b18e5bf061b96a3327346b2bf3
EBUILD libtool-9999.ebuild 3342 BLAKE2B 34bd3f7dc0c7b42eb419a107eeff91a3d5f1f7074c56615bcd924a5f1190951f510f7ae270046dcaff5826285b4ebb64f3d3899828a6af012bc4dd28a3a37824 SHA512 705d5ce0f3c8c506771208325b62072c1c4cafacdfa9f0af4ed4988ebfb3995f090b70d20f8d5566ba382beaea037f99e92e7734c8987f1e8140ea4d15b173a8
MISC metadata.xml 331 BLAKE2B 4a4cfaad20b2f1c22b0b5ab23b4557e1bef50dbc49d0b7d821d4099e06bf488fdc6c7cb4a29431910d0e1b8cfb7c8b565cd3296afb30925a08389e023c777150 SHA512 9ca8e937181de31beb06558475dc8c10e61765d5280a882576a2d1e4e87fb750bc1c2e99aafdfffe343343797e0565814c0a5f8c18c7fba5b7fe9275100f2609
diff --git a/sys-devel/libtool/files/libtool-2.4.7-werror-lto.patch b/sys-devel/libtool/files/libtool-2.4.7-werror-lto.patch
new file mode 100644
index 000000000000..c0db69f3e2b6
--- /dev/null
+++ b/sys-devel/libtool/files/libtool-2.4.7-werror-lto.patch
@@ -0,0 +1,47 @@
+https://lists.gnu.org/archive/html/libtool-patches/2022-12/msg00000.html
+
+From d72817b1ee5d7b666bf30b0234e32423252d6ad8 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 10 Dec 2022 02:00:22 +0000
+Subject: [PATCH] Allow -Werror and -Werror=* through flag filtering
+
+* build-aux/ltmain.in (func_mode_link): allow -Werror and -Werror=* through
+ flat filtering at link time.
+
+ This is needed for detecting likely-runtime problems with LTO using
+ e.g. -Werror=odr or -Werror=lto-type-mismatch.
+
+Bug: https://bugs.gentoo.org/884767
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/build-aux/ltmain.in
++++ b/build-aux/ltmain.in
+@@ -5408,10 +5408,11 @@ func_mode_link ()
+ # -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
+ # -Wa,* Pass flags directly to the assembler
++ # -Werror, -Werror=* Report (specified) warnings as errors
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+- -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
++ -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*|-Werror|-Werror=*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ func_append compile_command " $arg"
+--- a/build-aux/ltmain.sh
++++ a/build-aux/ltmain.sh
+@@ -5408,10 +5408,11 @@ func_mode_link ()
+ # -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
+ # -Wa,* Pass flags directly to the assembler
++ # -Werror, -Werror=* Report (specified) warnings as errors
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+- -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
++ -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*|-Werror|-Werror=*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ func_append compile_command " $arg"
+--
+2.38.1
diff --git a/sys-devel/libtool/libtool-2.4.7-r1.ebuild b/sys-devel/libtool/libtool-2.4.7-r1.ebuild
new file mode 100644
index 000000000000..75a9976589a1
--- /dev/null
+++ b/sys-devel/libtool/libtool-2.4.7-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+# Please bump with dev-libs/libltdl.
+
+# bug #225559
+LIBTOOLIZE="true"
+WANT_LIBTOOL="none"
+inherit autotools prefix
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/libtool.git"
+ inherit git-r3
+else
+ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+fi
+
+DESCRIPTION="A shared library tool for developers"
+HOMEPAGE="https://www.gnu.org/software/libtool/"
+
+LICENSE="GPL-2"
+SLOT="2"
+IUSE="vanilla"
+
+# Pull in libltdl directly until we convert packages to the new dep.
+RDEPEND="
+ sys-devel/gnuconfig
+ >=sys-devel/autoconf-2.69:*
+ >=sys-devel/automake-1.13:*
+ >=dev-libs/libltdl-2.4.7"
+DEPEND="${RDEPEND}"
+[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
+
+PATCHES=(
+ # bug #109105
+ "${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch
+ # bug #581314
+ "${FILESDIR}"/${PN}-2.4.6-ppc64le.patch
+
+ "${FILESDIR}"/${PN}-2.4.6-mint.patch
+ "${FILESDIR}"/${PN}-2.2.6a-darwin-module-bundle.patch
+ "${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch
+ "${FILESDIR}"/${PN}-2.4.7-werror-lto.patch
+)
+
+src_prepare() {
+ if [[ ${PV} == *9999 ]] ; then
+ eapply "${FILESDIR}"/${PN}-2.4.6-pthread.patch # bug #650876
+ ./bootstrap || die
+ else
+ PATCHES+=(
+ "${FILESDIR}"/${PN}-2.4.6-pthread_bootstrapped.patch # bug #650876
+ )
+ fi
+
+ # WARNING: File build-aux/ltmain.sh is read-only; trying to patch anyway
+ chmod +w build-aux/ltmain.sh || die
+
+ if use vanilla ; then
+ eapply_user
+ return 0
+ else
+ default
+ fi
+
+ if use prefix ; then
+ # seems that libtool has to know about EPREFIX a little bit
+ # better, since it fails to find prefix paths to search libs
+ # from, resulting in some packages building static only, since
+ # libtool is fooled into thinking that libraries are unavailable
+ # (argh...). This could also be fixed by making the gcc wrapper
+ # return the correct result for -print-search-dirs (doesn't
+ # include prefix dirs ...).
+ eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch
+ eprefixify m4/libtool.m4
+ fi
+
+ pushd libltdl >/dev/null || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+ popd >/dev/null || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+
+ # Make sure timestamps don't trigger a rebuild of man pages. #556512
+ if [[ ${PV} != *9999 ]] ; then
+ touch doc/*.1 || die
+ export HELP2MAN=true
+ fi
+}
+
+src_configure() {
+ # the libtool script uses bash code in it and at configure time, tries
+ # to find a bash shell. if /bin/sh is bash, it uses that. this can
+ # cause problems for people who switch /bin/sh on the fly to other
+ # shells, so just force libtool to use /bin/bash all the time.
+ export CONFIG_SHELL="$(type -P bash)"
+
+ # Do not bother hardcoding the full path to sed.
+ # Just rely on $PATH. bug #574550
+ export ac_cv_path_SED="$(basename "$(type -P sed)")"
+
+ [[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g"
+
+ ECONF_SOURCE="${S}" econf ${myconf} --disable-ltdl-install
+}
+
+src_install() {
+ default
+
+ local x
+ while read -d $'\0' -r x ; do
+ ln -sf "${EPREFIX}"/usr/share/gnuconfig/${x##*/} "${x}" || die
+ done < <(find "${ED}" '(' -name config.guess -o -name config.sub ')' -print0)
+}
diff --git a/sys-devel/libtool/libtool-2.4.7.ebuild b/sys-devel/libtool/libtool-2.4.7.ebuild
index c21cd363e6fe..7b2a962644b8 100644
--- a/sys-devel/libtool/libtool-2.4.7.ebuild
+++ b/sys-devel/libtool/libtool-2.4.7.ebuild
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
fi
DESCRIPTION="A shared library tool for developers"