mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-05 12:16:41 +02:00
dev-build/libtool: Sync with Gentoo
It's from Gentoo commit d6dd999d966e8da7bfd567285ebbc6ebc9fc333e.
This commit is contained in:
parent
d3daf109b0
commit
38795c6996
@ -1,2 +1 @@
|
||||
DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
|
||||
DIST libtool-2.5.4.tar.xz 1056924 BLAKE2B 47de3c49a690d44d7ddd5e3b5e4090c91dc5fbb9c40fc4a3963e150fb7329326ee3e21b8c149974726171c4b0380028e0efc7a369c4f04357eea46f69852e1cc SHA512 eed207094bcc444f4bfbb13710e395e062e3f1d312ca8b186ab0cbd22dc92ddef176a0b3ecd43e02676e37bd9e328791c59a38ef15846d4eae15da4f20315724
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
https://bugs.gentoo.org/892635
|
||||
https://lists.gnu.org/archive/html/libtool-patches/2022-12/msg00004.html
|
||||
|
||||
From 414deacee0f564afdf2d7750450274c581330a59 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20B=C3=A9rat?= <fberat@redhat.com>
|
||||
Date: Wed, 21 Dec 2022 13:14:03 +0100
|
||||
Subject: [PATCH] tests: Fix grep warning about stray \ before /
|
||||
|
||||
Recent version of grep emit a warning if stray \ is found before /.
|
||||
This leads to the link-order test failure.
|
||||
|
||||
* tests/link-order.at: Remove unneeded \ before /
|
||||
--- a/tests/link-order.at
|
||||
+++ b/tests/link-order.at
|
||||
@@ -99,12 +99,12 @@ aix* | interix*) ;; # These systems have different path syntax
|
||||
case $hardcode_direct$hardcode_direct_absolute in
|
||||
yesno)
|
||||
AT_CHECK([if $EGREP relinking stderr; then
|
||||
- $EGREP " .*\/new\/lib/libb$shared_ext .*\/old\/lib/libcee$shared_ext" stdout
|
||||
+ $EGREP " .*/new/lib/libb$shared_ext .*/old/lib/libcee$shared_ext" stdout
|
||||
else :; fi], [0], [ignore], [], [echo "wrong link order"])
|
||||
;;
|
||||
*)
|
||||
AT_CHECK([if $EGREP relinking stderr; then
|
||||
- $EGREP " -L.*\/new\/lib -lb -L.*\/old\/lib -lcee" stdout
|
||||
+ $EGREP " -L.*/new/lib -lb -L.*/old/lib -lcee" stdout
|
||||
else :; fi], [0], [ignore], [], [echo "wrong link order"])
|
||||
;;
|
||||
esac
|
||||
--
|
||||
2.38.1
|
||||
@ -1,47 +0,0 @@
|
||||
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
|
||||
@ -1,127 +0,0 @@
|
||||
# Copyright 1999-2024 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 multiprocessing
|
||||
|
||||
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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
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
|
||||
>=dev-build/autoconf-2.69:*
|
||||
>=dev-build/automake-1.13:*
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
|
||||
|
||||
# Note that we have more patches in https://gitweb.gentoo.org/proj/elt-patches.git/
|
||||
# for package builds. The patches here are just those which are definitely fine
|
||||
# for the system-wide libtool installation as well.
|
||||
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.2.6a-darwin-module-bundle.patch
|
||||
"${FILESDIR}"/${PN}-2.4.6-darwin-use-linux-version.patch
|
||||
"${FILESDIR}"/${PN}-2.4.7-werror-lto.patch
|
||||
"${FILESDIR}"/${PN}-2.4.7-grep-3.8.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.
|
||||
# Do not bother hardcoding the full path to sed.
|
||||
# Just rely on $PATH. bug #574550
|
||||
export CONFIG_SHELL="${EPREFIX}"/bin/bash
|
||||
export ac_cv_path_SED="sed"
|
||||
export ac_cv_path_EGREP="grep -E"
|
||||
export ac_cv_path_EGREP_TRADITIONAL="grep -E"
|
||||
export ac_cv_path_FGREP="grep -F"
|
||||
export ac_cv_path_GREP="grep"
|
||||
export ac_cv_path_lt_DD="dd"
|
||||
|
||||
[[ ${CHOST} == *-darwin* ]] && local myconf="--program-prefix=g"
|
||||
|
||||
ECONF_SOURCE="${S}" econf ${myconf} --disable-ltdl-install
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)"
|
||||
}
|
||||
|
||||
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)
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user