diff options
Diffstat (limited to 'sys-devel/libtool')
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-darwin20.patch | 13 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch | 53 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch | 118 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch | 46 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch | 43 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-link-specs.patch | 45 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch | 253 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.7-grep-3.8.patch | 31 | ||||
-rw-r--r-- | sys-devel/libtool/files/libtool-2.4.7-werror-lto.patch | 47 | ||||
-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 } |