From 7069a70e45da6428c14e4814975d6053fdcc0f64 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 7 Feb 2023 22:53:53 +0000 Subject: sys-devel/libtool : revision bump --- .../libtool/files/libtool-2.4.6-darwin20.patch | 13 -- .../libtool-2.4.6-libtoolize-delay-help.patch | 53 ----- .../files/libtool-2.4.6-libtoolize-slow.patch | 118 ---------- .../files/libtool-2.4.6-link-fsanitize.patch | 46 ---- .../libtool/files/libtool-2.4.6-link-fuse-ld.patch | 43 ---- .../libtool/files/libtool-2.4.6-link-specs.patch | 45 ---- .../files/libtool-2.4.6-sed-quote-speedup.patch | 253 --------------------- .../libtool/files/libtool-2.4.7-grep-3.8.patch | 31 +++ .../libtool/files/libtool-2.4.7-werror-lto.patch | 47 ++++ sys-devel/libtool/libtool-2.4.7-r1.ebuild | 118 ++++++++++ sys-devel/libtool/libtool-2.4.7.ebuild | 115 ---------- 11 files changed, 196 insertions(+), 686 deletions(-) delete mode 100644 sys-devel/libtool/files/libtool-2.4.6-darwin20.patch delete mode 100644 sys-devel/libtool/files/libtool-2.4.6-libtoolize-delay-help.patch delete mode 100644 sys-devel/libtool/files/libtool-2.4.6-libtoolize-slow.patch delete mode 100644 sys-devel/libtool/files/libtool-2.4.6-link-fsanitize.patch delete mode 100644 sys-devel/libtool/files/libtool-2.4.6-link-fuse-ld.patch delete mode 100644 sys-devel/libtool/files/libtool-2.4.6-link-specs.patch delete mode 100644 sys-devel/libtool/files/libtool-2.4.6-sed-quote-speedup.patch create mode 100644 sys-devel/libtool/files/libtool-2.4.7-grep-3.8.patch create mode 100644 sys-devel/libtool/files/libtool-2.4.7-werror-lto.patch create mode 100644 sys-devel/libtool/libtool-2.4.7-r1.ebuild delete mode 100644 sys-devel/libtool/libtool-2.4.7.ebuild (limited to 'sys-devel/libtool') 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 -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: . --" -+General help using GNU software: ." -+ 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 -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 ---- - 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 -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 -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 -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 -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 - ---- 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 -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?= +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 +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 +--- 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 00000000..440935aa --- /dev/null +++ b/sys-devel/libtool/libtool-2.4.7-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2023 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 + "${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. + 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 deleted file mode 100644 index 09853e34..00000000 --- a/sys-devel/libtool/libtool-2.4.7.ebuild +++ /dev/null @@ -1,115 +0,0 @@ -# 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 -) - -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=false - 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) -} -- cgit v1.2.3