summaryrefslogtreecommitdiff
path: root/sys-devel/libtool
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-07 22:53:53 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-07 22:53:53 +0000
commit7069a70e45da6428c14e4814975d6053fdcc0f64 (patch)
tree070abd42acb90b51b4161a456cc2aea445c5a10f /sys-devel/libtool
parent7c8b1141839d49334324c78ff22550d3bf9ccbe2 (diff)
sys-devel/libtool : revision bump
Diffstat (limited to 'sys-devel/libtool')
-rw-r--r--sys-devel/libtool/files/libtool-2.4.6-darwin20.patch13
-rw-r--r--sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch53
-rw-r--r--sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch118
-rw-r--r--sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch46
-rw-r--r--sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch43
-rw-r--r--sys-devel/libtool/files/libtool-2.4.6-link-specs.patch45
-rw-r--r--sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch253
-rw-r--r--sys-devel/libtool/files/libtool-2.4.7-grep-3.8.patch31
-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.ebuild (renamed from sys-devel/libtool/libtool-2.4.7.ebuild)11
10 files changed, 85 insertions, 575 deletions
diff --git a/sys-devel/libtool/files/libtool-2.4.6-darwin20.patch b/sys-devel/libtool/files/libtool-2.4.6-darwin20.patch
deleted file mode 100644
index 02cb1d7e..00000000
--- a/sys-devel/libtool/files/libtool-2.4.6-darwin20.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-macOS Big Sur is 11.0, Darwin 20, after a long line of 10.X releases.
-macOS Monterey is 12.0.
---- a/m4/libtool.m4
-+++ b/m4/libtool.m4
-@@ -1076,7 +1076,7 @@
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]][[,.]]*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
-- 10.*)
-+ 10.*|11.*|12.*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
diff --git a/sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch b/sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch
deleted file mode 100644
index 974cd44d..00000000
--- a/sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-https://lists.gnu.org/archive/html/libtool-patches/2016-02/msg00002.html
-
-From 53419307d5b44e5b0cff80d76f88ea02f237b747 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 13 Feb 2016 03:32:20 -0500
-Subject: [PATCH] libtoolize: don't execute automake and autoconf on every
- invocation.
-
-Same fix as applied to libtool in commit 408cfb9c5fa8a666917167ffb806cb
-to delay use of automake/autoconf to when the --help option is actually
-specified.
-
-* libtoolize.in (func_help): Override func_help() from
-gl/build-aux/options-parser to only run automake --version and
-autoconf --version when libtool --help is executed on the command
-line.
----
- libtoolize.in | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/libtoolize.in b/libtoolize.in
-index 3fe61ce..0d4af3d 100644
---- a/libtoolize.in
-+++ b/libtoolize.in
-@@ -94,7 +94,12 @@ usage_message="Options:
- "
-
- # Additional text appended to 'usage_message' in response to '--help'.
--long_help_message=$long_help_message"
-+func_help ()
-+{
-+ $debug_cmd
-+
-+ func_usage_message
-+ $ECHO "$long_help_message
- 'environment' show warnings about LIBTOOLIZE_OPTIONS content
- 'file' show warnings about file copying and linking
-
-@@ -120,8 +125,9 @@ include the following information:
-
- Report bugs to <@PACKAGE_BUGREPORT@>.
- GNU @PACKAGE@ home page: <@PACKAGE_URL@>.
--General help using GNU software: <http://www.gnu.org/gethelp/>.
--"
-+General help using GNU software: <http://www.gnu.org/gethelp/>."
-+ exit 0
-+}
-
- warning_categories='environment file'
-
---
-2.6.2
-
diff --git a/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch b/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch
deleted file mode 100644
index d27f976c..00000000
--- a/sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 351a88feee66eda6ce33eb06acdebb8e9c6d6716 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Fri, 18 Sep 2015 23:17:07 +0200
-Subject: [PATCH] libtoolize: fix infinite recursion in m4
-
-Some projects use this construct in configure.ac:
-
- m4_define([version], m4_include([version]))
- pkg_version=version
-
-When the m4_include builtin is undefined (as was done in
-libtoolize and extract-trace scripts), the call to this 'version'
-macro enters an infinite recursion (until ENOMEM). So rather
-re-define all potentially dangerous macros by empty strings,
-suggested by Eric Blake.
-
-While we are on it, merge the macro-"blacklist" with similar list
-implemented in gettext, except for 'm4_esyscmd'. It's kept
-defined because we already trace AC_INIT macro for package
-version, while it is often specified by
-m4_esyscmd(git-version-gen). Similarly to m4_include, m4_esyscmd
-might be opt-in-blacklisted in future.
-
-References:
-http://lists.gnu.org/archive/html/libtool/2015-09/msg00000.html
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764580
-
-* gl/build-aux/extract-trace (_G_mini): Redefine trace-breaking
-macros to empty strings rather than undefining those. Use 'dnl'
-for comments.
-* bootstrap: Likewise, sync with extract-trace.
-* NEWS: Document.
-* NO-THANKS: Mention Hiroyuki Sato.
-
-Signed-off-by: Pavel Raiskup <praiskup@redhat.com>
----
- NEWS | 4 ++++
- NO-THANKS | 1 +
- bootstrap | 42 +++++++++++++++++++++++++++---------------
- build-aux/extract-trace | 42 +++++++++++++++++++++++++++---------------
- 4 files changed, 59 insertions(+), 30 deletions(-)
-
-diff --git a/gl/build-aux/extract-trace b/gl/build-aux/extract-trace
-index 315a32a..c6abd21 100755
---- a/build-aux/extract-trace
-+++ b/build-aux/extract-trace
-@@ -329,29 +329,41 @@ func_extract_trace ()
- # arguments to Autocof functions, but without following
- # 'm4_s?include' files.
- _G_mini='
-- # Initialisation.
-+ dnl Initialisation.
- m4_changequote([,])
- m4_define([m4_copy], [m4_define([$2], m4_defn([$1]))])
- m4_define([m4_rename], [m4_copy([$1], [$2])m4_undefine([$1])])
-
-- # Disable these macros.
-- m4_undefine([m4_dnl])
-- m4_undefine([m4_include])
-- m4_undefine([m4_m4exit])
-- m4_undefine([m4_m4wrap])
-- m4_undefine([m4_maketemp])
-+ dnl Replace macros which may abort m4 with a no-op variant.
-+ m4_pushdef([m4_assert])
-+ m4_pushdef([m4_exit])
-+ m4_pushdef([m4_fatal])
-+ m4_pushdef([m4_m4exit])
-
-- # Copy and rename macros not handled by "m4 --prefix".
-+ dnl Replace macros that might break stderr of m4.
-+ m4_pushdef([m4_errprint])
-+ m4_pushdef([m4_errprintn])
-+ m4_pushdef([m4_include])
-+ m4_pushdef([m4_warn])
-+
-+ dnl Avoid side-effects of tracing by extract-trace.
-+ m4_pushdef([m4_maketemp])
-+ m4_pushdef([m4_mkstemp])
-+
-+ dnl TODO: reasons for this
-+ m4_pushdef([m4_dnl])
-+ m4_pushdef([m4_m4wrap])
-+
-+ dnl Copy and rename macros not handled by "m4 --prefix".
- m4_define([dnl], [m4_builtin([dnl])])
- m4_copy([m4_define], [m4_defun])
- m4_rename([m4_ifelse], [m4_if])
-- m4_ifdef([m4_mkstemp], [m4_undefine([m4_mkstemp])])
- m4_rename([m4_patsubst], [m4_bpatsubst])
- m4_rename([m4_regexp], [m4_bregexp])
-
-- # "m4sugar.mini" - useful m4-time macros for dynamic arguments.
-- # If we discover packages that need more m4 macros defined in
-- # order to bootstrap correctly, add them here:
-+ dnl "m4sugar.mini" - useful m4-time macros for dynamic arguments.
-+ dnl If we discover packages that need more m4 macros defined in
-+ dnl order to bootstrap correctly, add them here:
- m4_define([m4_bmatch],
- [m4_if([$#], 0, [], [$#], 1, [], [$#], 2, [$2],
- [m4_if(m4_bregexp([$1], [$2]), -1,
-@@ -362,11 +374,11 @@ func_extract_trace ()
- m4_define([m4_require], [$1])
- m4_define([m4_shift3], [m4_shift(m4shift(m4shift($@)))])
-
-- # "autoconf.mini" - things from autoconf macros we care about.
-+ dnl "autoconf.mini" - things from autoconf macros we care about.
- m4_copy([m4_defun], [AC_DEFUN])
-
-- # Dummy definitions for the macros we want to trace.
-- # AM_INIT_AUTOMAKE at least produces no trace without this.
-+ dnl Dummy definitions for the macros we want to trace.
-+ dnl AM_INIT_AUTOMAKE at least produces no trace without this.
- '
-
- _G_save=$IFS
---
-2.6.2
-
diff --git a/sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch b/sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch
deleted file mode 100644
index 853a22ef..00000000
--- a/sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugs.gentoo.org/573744
-
-From a5c6466528c060cc4660ad0319c00740db0e42ba Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
-Date: Sun, 18 Oct 2015 21:55:39 -0700
-Subject: [PATCH] libtool: fix GCC/clang linking with -fsanitize=*
-
-References:
-https://lists.gnu.org/archive/html/libtool/2014-04/msg00026.html
-
-* build-aux/ltmain.in (func_mode_link): Pass -fsanitize=* to the
-linker to allow trivial use of the clang address sanitizer.
-
-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
-Copyright-paperwork-exempt: Yes
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -5362,10 +5362,11 @@
- # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
- # -specs=* GCC specs files
- # -stdlib=* select c++ std lib with clang
-+ # -fsanitize=* Clang/GCC memory and address sanitizer
- -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=*)
-+ -specs=*|-fsanitize=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
- func_append compile_command " $arg"
---- a/build-aux/ltmain.sh
-+++ b/build-aux/ltmain.sh
-@@ -7274,10 +7274,11 @@
- # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
- # -specs=* GCC specs files
- # -stdlib=* select c++ std lib with clang
-+ # -fsanitize=* Clang/GCC memory and address sanitizer
- -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=*)
-+ -specs=*|-fsanitize=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
- func_append compile_command " $arg"
diff --git a/sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch b/sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch
deleted file mode 100644
index f6c0a3dc..00000000
--- a/sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-https://lists.gnu.org/archive/html/libtool-patches/2015-03/msg00000.html
-https://lists.gnu.org/archive/html/libtool-patches/2016-02/msg00001.html
-
-From 2f258b87ce4415edede1b2a84a3a7dbcf44555c2 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Mon, 16 Mar 2015 18:17:31 -0400
-Subject: [PATCH] libtool: pass through -fuse-ld flags
-
-Starting with gcc-4.8, there's a -fuse-ld flag that can be used to select
-between bfd & gold. Make sure we pass it through to the linking stage.
-
-* build-aux/ltmain.in (func_mode_link): Pass -fuse-ld=* flags through.
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -5363,10 +5363,11 @@
- # -specs=* GCC specs files
- # -stdlib=* select c++ std lib with clang
- # -fsanitize=* Clang/GCC memory and address sanitizer
-+ # -fuse-ld=* Linker select flags for GCC
- -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=*)
-+ -specs=*|-fsanitize=*|-fuse-ld=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
- func_append compile_command " $arg"
---- a/build-aux/ltmain.sh
-+++ b/build-aux/ltmain.sh
-@@ -7275,10 +7275,11 @@
- # -specs=* GCC specs files
- # -stdlib=* select c++ std lib with clang
- # -fsanitize=* Clang/GCC memory and address sanitizer
-+ # -fuse-ld=* Linker select flags for GCC
- -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=*)
-+ -specs=*|-fsanitize=*|-fuse-ld=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
- func_append compile_command " $arg"
diff --git a/sys-devel/libtool/files/libtool-2.4.6-link-specs.patch b/sys-devel/libtool/files/libtool-2.4.6-link-specs.patch
deleted file mode 100644
index c7720935..00000000
--- a/sys-devel/libtool/files/libtool-2.4.6-link-specs.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 702a97fbb09bd7088a50f2b239016d1e32843c24 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Fri, 18 Sep 2015 10:36:43 +0200
-Subject: [PATCH] libtool: fix GCC linking with -specs=*
-
-References:
-https://bugzilla.redhat.com/show_bug.cgi?id=985592
-
-* build-aux/ltmain.in (func_mode_link): Pass -specs=*
-to the linker, Fedora uses this option for hardening.
-
-Signed-off-by: Pavel Raiskup <praiskup@redhat.com>
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -5360,10 +5360,12 @@
- # -tp=* Portland pgcc target processor selection
- # --sysroot=* for sysroot support
- # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-+ # -specs=* GCC specs files
- # -stdlib=* select c++ std lib with clang
- -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=*)
-+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-+ -specs=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
- func_append compile_command " $arg"
---- a/build-aux/ltmain.sh
-+++ b/build-aux/ltmain.sh
-@@ -7272,10 +7272,12 @@
- # -tp=* Portland pgcc target processor selection
- # --sysroot=* for sysroot support
- # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-+ # -specs=* GCC specs files
- # -stdlib=* select c++ std lib with clang
- -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=*)
-+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-+ -specs=*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
- func_append compile_command " $arg"
diff --git a/sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch b/sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch
deleted file mode 100644
index 580d635d..00000000
--- a/sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-https://bugs.gentoo.org/542252
-
-From 32f0df9835ac15ac17e04be57c368172c3ad1d19 Mon Sep 17 00:00:00 2001
-From: Pavel Raiskup <praiskup@redhat.com>
-Date: Sun, 4 Oct 2015 21:55:03 +0200
-Subject: [PATCH] libtool: mitigate the $sed_quote_subst slowdown
-
-When it is reasonably possible, use shell implementation for
-quoting.
-
-References:
-http://lists.gnu.org/archive/html/libtool/2015-03/msg00005.html
-http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html
-https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20006
-
-* gl/build-aux/funclib.sh (func_quote): New function that can be
-used as substitution for '$SED $sed_quote_subst' call.
-* build-aux/ltmain.in (func_emit_wrapper): Use func_quote instead
-of '$SED $sed_quote_subst'.
-(func_mode_link): Likewise.
-* NEWS: Document.
-* bootstrap: Sync with funclib.sh.
-
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -3346,7 +3346,8 @@
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- file=\"\$0\""
-
-- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
-+ func_quote "$ECHO"
-+ qECHO=$func_quote_result
- $ECHO "\
-
- # A function that is used when there is no print builtin or printf.
-@@ -8598,8 +8599,8 @@
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
-- relink_command="(cd `pwd`; $relink_command)"
-- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-+ func_quote "(cd `pwd`; $relink_command)"
-+ relink_command=$func_quote_result
- fi
-
- # Only actually do things if not in dry run mode.
-@@ -8845,7 +8846,8 @@
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-+ func_quote "$relink_command"
-+ relink_command=$func_quote_result
- if test yes = "$hardcode_automatic"; then
- relink_command=
- fi
---- a/build-aux/funclib.sh
-+++ b/build-aux/funclib.sh
-@@ -1,5 +1,5 @@
- # Set a version string for this script.
--scriptversion=2015-01-20.17; # UTC
-+scriptversion=2015-10-04.22; # UTC
-
- # General shell script boiler plate, and helper functions.
- # Written by Gary V. Vaughan, 2004
-@@ -1026,6 +1026,57 @@
- }
-
-
-+# func_quote ARG
-+# --------------
-+# Aesthetically quote one ARG, store the result into $func_quote_result. Note
-+# that we keep attention to performance here (so far O(N) complexity as long as
-+# func_append is O(1)).
-+func_quote ()
-+{
-+ $debug_cmd
-+
-+ func_quote_result=$1
-+
-+ case $func_quote_result in
-+ *[\\\`\"\$]*)
-+ case $func_quote_result in
-+ *[\[\*\?]*)
-+ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"`
-+ return 0
-+ ;;
-+ esac
-+
-+ func_quote_old_IFS=$IFS
-+ for _G_char in '\' '`' '"' '$'
-+ do
-+ # STATE($1) PREV($2) SEPARATOR($3)
-+ set start "" ""
-+ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy
-+ IFS=$_G_char
-+ for _G_part in $func_quote_result
-+ do
-+ case $1 in
-+ quote)
-+ func_append func_quote_result "$3$2"
-+ set quote "$_G_part" "\\$_G_char"
-+ ;;
-+ start)
-+ set first "" ""
-+ func_quote_result=
-+ ;;
-+ first)
-+ set quote "$_G_part" ""
-+ ;;
-+ esac
-+ done
-+ IFS=$func_quote_old_IFS
-+ done
-+ ;;
-+ *) ;;
-+ esac
-+}
-+
-+
- # func_quote_for_eval ARG...
- # --------------------------
- # Aesthetically quote ARGs to be evaled later.
-@@ -1042,12 +1093,8 @@
- func_quote_for_eval_unquoted_result=
- func_quote_for_eval_result=
- while test 0 -lt $#; do
-- case $1 in
-- *[\\\`\"\$]*)
-- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
-- *)
-- _G_unquoted_arg=$1 ;;
-- esac
-+ func_quote "$1"
-+ _G_unquoted_arg=$func_quote_result
- if test -n "$func_quote_for_eval_unquoted_result"; then
- func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
- else
---- a/build-aux/ltmain.sh
-+++ b/build-aux/ltmain.sh
-@@ -64,7 +64,7 @@
- # libraries, which are installed to $pkgauxdir.
-
- # Set a version string for this script.
--scriptversion=2015-01-20.17; # UTC
-+scriptversion=2015-10-04.22; # UTC
-
- # General shell script boiler plate, and helper functions.
- # Written by Gary V. Vaughan, 2004
-@@ -1091,6 +1091,57 @@
- }
-
-
-+# func_quote ARG
-+# --------------
-+# Aesthetically quote one ARG, store the result into $func_quote_result. Note
-+# that we keep attention to performance here (so far O(N) complexity as long as
-+# func_append is O(1)).
-+func_quote ()
-+{
-+ $debug_cmd
-+
-+ func_quote_result=$1
-+
-+ case $func_quote_result in
-+ *[\\\`\"\$]*)
-+ case $func_quote_result in
-+ *[\[\*\?]*)
-+ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"`
-+ return 0
-+ ;;
-+ esac
-+
-+ func_quote_old_IFS=$IFS
-+ for _G_char in '\' '`' '"' '$'
-+ do
-+ # STATE($1) PREV($2) SEPARATOR($3)
-+ set start "" ""
-+ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy
-+ IFS=$_G_char
-+ for _G_part in $func_quote_result
-+ do
-+ case $1 in
-+ quote)
-+ func_append func_quote_result "$3$2"
-+ set quote "$_G_part" "\\$_G_char"
-+ ;;
-+ start)
-+ set first "" ""
-+ func_quote_result=
-+ ;;
-+ first)
-+ set quote "$_G_part" ""
-+ ;;
-+ esac
-+ done
-+ IFS=$func_quote_old_IFS
-+ done
-+ ;;
-+ *) ;;
-+ esac
-+}
-+
-+
- # func_quote_for_eval ARG...
- # --------------------------
- # Aesthetically quote ARGs to be evaled later.
-@@ -1107,12 +1158,8 @@
- func_quote_for_eval_unquoted_result=
- func_quote_for_eval_result=
- while test 0 -lt $#; do
-- case $1 in
-- *[\\\`\"\$]*)
-- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
-- *)
-- _G_unquoted_arg=$1 ;;
-- esac
-+ func_quote "$1"
-+ _G_unquoted_arg=$func_quote_result
- if test -n "$func_quote_for_eval_unquoted_result"; then
- func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
- else
-@@ -5258,7 +5305,8 @@
- if test \"\$libtool_execute_magic\" != \"$magic\"; then
- file=\"\$0\""
-
-- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
-+ func_quote "$ECHO"
-+ qECHO=$func_quote_result
- $ECHO "\
-
- # A function that is used when there is no print builtin or printf.
-@@ -10510,8 +10558,8 @@
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
- fi
- done
-- relink_command="(cd `pwd`; $relink_command)"
-- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-+ func_quote "(cd `pwd`; $relink_command)"
-+ relink_command=$func_quote_result
- fi
-
- # Only actually do things if not in dry run mode.
-@@ -10757,7 +10805,8 @@
- done
- # Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-+ func_quote "$relink_command"
-+ relink_command=$func_quote_result
- if test yes = "$hardcode_automatic"; then
- relink_command=
- fi
diff --git a/sys-devel/libtool/files/libtool-2.4.7-grep-3.8.patch b/sys-devel/libtool/files/libtool-2.4.7-grep-3.8.patch
new file mode 100644
index 00000000..8f1de478
--- /dev/null
+++ b/sys-devel/libtool/files/libtool-2.4.7-grep-3.8.patch
@@ -0,0 +1,31 @@
+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
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 00000000..c0db69f3
--- /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.ebuild b/sys-devel/libtool/libtool-2.4.7-r1.ebuild
index 09853e34..440935aa 100644
--- a/sys-devel/libtool/libtool-2.4.7.ebuild
+++ b/sys-devel/libtool/libtool-2.4.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -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 ~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"
+ 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"
@@ -30,7 +30,8 @@ RDEPEND="
sys-devel/gnuconfig
>=sys-devel/autoconf-2.69:*
>=sys-devel/automake-1.13:*
- >=dev-libs/libltdl-2.4.7"
+ >=dev-libs/libltdl-2.4.7
+"
DEPEND="${RDEPEND}"
[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
@@ -43,6 +44,8 @@ PATCHES=(
"${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
+ "${FILESDIR}"/${PN}-2.4.7-grep-3.8.patch
)
src_prepare() {
@@ -85,7 +88,7 @@ src_prepare() {
# Make sure timestamps don't trigger a rebuild of man pages. #556512
if [[ ${PV} != *9999 ]] ; then
touch doc/*.1 || die
- export HELP2MAN=false
+ export HELP2MAN=true
fi
}