From 4c588f061163483deaeecd52e6a5743762d2603e Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 15 Jan 2024 19:18:29 +0000 Subject: gentoo auto-resync : 15:01:2024 - 19:18:28 --- dev-build/libtool/Manifest | 14 +++ .../libtool/files/libtool-2.2.10-eprefix.patch | 11 ++ .../libtool-2.2.6a-darwin-module-bundle.patch | 24 +++++ .../libtool-2.4.3-use-linux-version-in-fbsd.patch | 38 +++++++ .../libtool-2.4.6-darwin-use-linux-version.patch | 13 +++ .../libtool/files/libtool-2.4.6-ppc64le.patch | 111 +++++++++++++++++++ .../libtool/files/libtool-2.4.6-pthread.patch | 43 ++++++++ .../files/libtool-2.4.6-pthread_bootstrapped.patch | 21 ++++ .../libtool/files/libtool-2.4.7-grep-3.8.patch | 31 ++++++ .../libtool/files/libtool-2.4.7-werror-lto.patch | 47 ++++++++ dev-build/libtool/libtool-2.4.7-r1.ebuild | 117 ++++++++++++++++++++ dev-build/libtool/libtool-2.4.7-r2.ebuild | 119 +++++++++++++++++++++ dev-build/libtool/libtool-9999.ebuild | 117 ++++++++++++++++++++ dev-build/libtool/metadata.xml | 11 ++ 14 files changed, 717 insertions(+) create mode 100644 dev-build/libtool/Manifest create mode 100644 dev-build/libtool/files/libtool-2.2.10-eprefix.patch create mode 100644 dev-build/libtool/files/libtool-2.2.6a-darwin-module-bundle.patch create mode 100644 dev-build/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch create mode 100644 dev-build/libtool/files/libtool-2.4.6-darwin-use-linux-version.patch create mode 100644 dev-build/libtool/files/libtool-2.4.6-ppc64le.patch create mode 100644 dev-build/libtool/files/libtool-2.4.6-pthread.patch create mode 100644 dev-build/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch create mode 100644 dev-build/libtool/files/libtool-2.4.7-grep-3.8.patch create mode 100644 dev-build/libtool/files/libtool-2.4.7-werror-lto.patch create mode 100644 dev-build/libtool/libtool-2.4.7-r1.ebuild create mode 100644 dev-build/libtool/libtool-2.4.7-r2.ebuild create mode 100644 dev-build/libtool/libtool-9999.ebuild create mode 100644 dev-build/libtool/metadata.xml (limited to 'dev-build/libtool') diff --git a/dev-build/libtool/Manifest b/dev-build/libtool/Manifest new file mode 100644 index 000000000000..40f040796ff5 --- /dev/null +++ b/dev-build/libtool/Manifest @@ -0,0 +1,14 @@ +AUX libtool-2.2.10-eprefix.patch 462 BLAKE2B d219aac1c2b68926a6c3c83bc85b51fe5e69cbbf76e3af096b024d649180f9cc4a025ceae14ada4ddb2b8836f669318a700b59811a4b44c91db82098099565bc SHA512 c9657a2726d0750241558337af57ac7d55afa4e74ac5eef411261394cbf7070b52876074367390ed5a2bbc09d9286ba200133ec6afd88a5fe5af08b8db04e189 +AUX libtool-2.2.6a-darwin-module-bundle.patch 1184 BLAKE2B 29fcb8ab11e2960fbf233dbf7776a334e7c399ef16dca4248eb8b5fe70505602f13c052b53a4ee10b03a19cbc4bef40d586441dc1e07b952bc8055a9b6359618 SHA512 7fe59a0f4c452fa3a619539d426f7b2dccc9eb740eb2121c36d568f9c7dff31139386bf698412de489d169fba77d723f99f05632e4bce8999facc5ccc33c1df3 +AUX libtool-2.4.3-use-linux-version-in-fbsd.patch 1108 BLAKE2B da9673ca8234cf35d3b5358d53ab3701bb453b2e827d955d0c2336bf0ae476474eb253354d1282adba134abd896dd7ca44c1cf831d5b95393f72e904ebf4d03f SHA512 ae21b7b7315ff50451d087fc87feaf949ff9094c236657b7a9b6aa381e998fa131930dcb55c099f1da8285ae5e471a2d981c78727cada931d55209c0797be65d +AUX libtool-2.4.6-darwin-use-linux-version.patch 469 BLAKE2B 00abc1635036d1a1cdb4b1ce7ffd8a0f52f6eb0ce3f87babe6fc3468f9f990a8c2bb09bab416ee33ab77554732d86ce0a8deaf4cf83db048dd651adf4e3e59d7 SHA512 910fb30f49779f855faebfa4cdbb1a454d5cc711d366e76e16dc1f45855f518ea80027fa5f2515c8eb80dd7dfe06368c81498ba08dbb00b49982eaa851a3d53b +AUX libtool-2.4.6-ppc64le.patch 3672 BLAKE2B 1c1f068f0f1ab8b8180a98412e6a3bb1e4cc84c3e9c8894b4a0a2f8e110ea7ce198fc02d07ba2f18023cf38696d8cfd46e9fae979d5ab30ace2c82b020493f34 SHA512 e9dc9fad5eebabcc65506dddabf3a917c73237485f2ad24765a20437404f654a8c04411755381c7c5d90c2ae13cabd5d89f9ad15839e2e1b9d43300d57adf178 +AUX libtool-2.4.6-pthread.patch 1496 BLAKE2B dc49604133c6c65a2290a8879c243b35b2019cb63b4901b6de68f5efcfe9d42dbaafd7c40ea03f1b247cea8718ef92a51c1bd0ce429ec49665f05a61e26d25fa SHA512 037cf598c644d167de5fef9f4ecee6ccd573d2516f2f777eeaad94135ff05dd0775191d3e21cca397bb664bc0449a5db0b9ef0bbaa16e178762be9769c13c31e +AUX libtool-2.4.6-pthread_bootstrapped.patch 532 BLAKE2B aeb1592c07a9c5eeed81c483e348786fb1cede29b09fa8e74d0fcf7fdb6ad36fd980823d13b3e20cc7a54d5c518e0f557928b440ef9d0fd6723a8d5f8774c098 SHA512 05c1cee7a3d90bf4768cabaaba47290dc668db7c14173abf99ed8e64dae92191537f89c3304a4d42c01ecc2280d37104c47f621e44b3d19db481846bb225a2a1 +AUX libtool-2.4.7-grep-3.8.patch 1282 BLAKE2B b64b6eab6bed4b5595ef228c9d3bc65a8b2f56ba7e8358d33d46e7e11fee334b4584a24004e2669a272880197f71f54848820bfd8d861e24f3e2b039298f3a96 SHA512 175c5c5d5a9aa6021bfc9a6a38a184c008dd97e76ee756df3f3fdac7610dac545d6539b5717713b771de46322a437ba3416581f4961af56be635659c2498f015 +AUX libtool-2.4.7-werror-lto.patch 2248 BLAKE2B 3537c599ee310fda695b1a671770e1d2c5a943e763641515738e8d13907b807b92727182a34af4c20598c3ad228a2b660f10fd582c2f65d1fdef11b92f5fc68a SHA512 b16f835fbec1ecf6c8408c0705fc94886f35443394298e9ae1d1893dbf7dbad11325b636ccc9d0ddeecc00a13a7b5ae78867dd1369b0fc2fcd9276808f326146 +DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da +EBUILD libtool-2.4.7-r1.ebuild 3328 BLAKE2B b6be29a2ba3ef55e4f0ef285965c5575bb890a5627f12918ce4757394e2125a11415aa96a992598e6d55af33de27ceafd56bedc66576bfbadeec49750cd9b495 SHA512 0041100d2d6897a0e37eec7fdd3446194c7231c018a1736d826ec5d7d88ec4c3204c39911b2c120b0e4a4c45a44728f7595c21210b3fbd462610064373212351 +EBUILD libtool-2.4.7-r2.ebuild 3526 BLAKE2B 49aeb0b94d037328e1c85f4719116c6d61291b9c7987d0484fb98c1d88c8afd52ac0556cb041be1c93441a5632b25177768b836ffc382f2129f8fdf6258b8416 SHA512 c3c591af762040e4e57fb3feb549c2be273f0dba165ebfe42316ac0e26c60becbb8baf1ee7eb1a80dbb16713c04c5cb0f106a9f28cc94e5b7ffe6923c1bfe483 +EBUILD libtool-9999.ebuild 3440 BLAKE2B 8c694cae6f8f6bedbb01d1828eb268bc95e82239cae6f6a45993c74864de25cf4dd5de0381cd7ae8869278885972286b463493abc6227d5936c2b4a37f291e1a SHA512 ae0a842aae7866497bd08d0f1d4d54624925736fe083eb371d03220b599624545be8d544f645a11783c566facc49d01885d160a89332732254b704daa0ee1b84 +MISC metadata.xml 331 BLAKE2B 4a4cfaad20b2f1c22b0b5ab23b4557e1bef50dbc49d0b7d821d4099e06bf488fdc6c7cb4a29431910d0e1b8cfb7c8b565cd3296afb30925a08389e023c777150 SHA512 9ca8e937181de31beb06558475dc8c10e61765d5280a882576a2d1e4e87fb750bc1c2e99aafdfffe343343797e0565814c0a5f8c18c7fba5b7fe9275100f2609 diff --git a/dev-build/libtool/files/libtool-2.2.10-eprefix.patch b/dev-build/libtool/files/libtool-2.2.10-eprefix.patch new file mode 100644 index 000000000000..c4693ee7feeb --- /dev/null +++ b/dev-build/libtool/files/libtool-2.2.10-eprefix.patch @@ -0,0 +1,11 @@ +--- a/m4/libtool.m4 ++++ b/m4/libtool.m4 +@@ -2087,7 +2087,7 @@ + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; + esac +- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` ++ sys_lib_search_path_spec=`$ECHO "@GENTOO_PORTAGE_EPREFIX@/lib @GENTOO_PORTAGE_EPREFIX@/usr/lib $lt_search_path_spec" | $lt_NL2SP` + else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + fi]) diff --git a/dev-build/libtool/files/libtool-2.2.6a-darwin-module-bundle.patch b/dev-build/libtool/files/libtool-2.2.6a-darwin-module-bundle.patch new file mode 100644 index 000000000000..81364d4d02af --- /dev/null +++ b/dev-build/libtool/files/libtool-2.2.6a-darwin-module-bundle.patch @@ -0,0 +1,24 @@ +In Gentoo Prefix we go by Apple's convention to give modules the .bundle +extension. +http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html +(Above link was removed by Apple, the link below contains a copy: +http://disanji.net/iOS_Doc/#documentation/DeveloperTools/Conceptual/XcodeBuildSystem/500-Linking/bs_linking.html, +in case it disappears also, the relevant quote: + +Bundle. Bundles are executable files that can be loaded at runtime by +other products. Plug-ins are implemented using bundles. The term bundle +in this context refers to the binary itself, not to a structured +hierarchy. Bundles have the .bundle extension; for example, +MyBundle.bundle.) + +--- a/m4/libtool.m4 ++++ b/m4/libtool.m4 +@@ -2645,7 +2645,7 @@ + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH +- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' ++ shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`' + m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' diff --git a/dev-build/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch b/dev-build/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch new file mode 100644 index 000000000000..aa1e870649b6 --- /dev/null +++ b/dev-build/libtool/files/libtool-2.4.3-use-linux-version-in-fbsd.patch @@ -0,0 +1,38 @@ +Force linux-style versioning when generating shared libraries on +Gentoo/FreeBSD hosts only. + +Patch by Diego Elio Pettenò + +http://bugs.gentoo.org/109105 + +--- a/m4/libtool.m4 ++++ b/m4/libtool.m4 +@@ -2666,7 +2666,14 @@ + *) objformat=elf ;; + esac + fi +- version_type=freebsd-$objformat ++ # Handle Gentoo/FreeBSD as it was Linux ++ case $host_vendor in ++ gentoo) ++ version_type=linux ;; ++ *) ++ version_type=freebsd-$objformat ;; ++ esac ++ + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' +@@ -2678,6 +2685,12 @@ + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; ++ linux) ++ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' ++ soname_spec='${libname}${release}${shared_ext}$major' ++ need_lib_prefix=no ++ need_version=no ++ ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in diff --git a/dev-build/libtool/files/libtool-2.4.6-darwin-use-linux-version.patch b/dev-build/libtool/files/libtool-2.4.6-darwin-use-linux-version.patch new file mode 100644 index 000000000000..aded304989d2 --- /dev/null +++ b/dev-build/libtool/files/libtool-2.4.6-darwin-use-linux-version.patch @@ -0,0 +1,13 @@ +* revert old 1.5 behaviour + +--- a/m4/libtool.m4 ++++ b/m4/libtool.m4 +@@ -2641,7 +2641,7 @@ + version_type=darwin + need_lib_prefix=no + need_version=no +- library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' ++ library_names_spec='$libname$release$versuffix$shared_ext $libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH diff --git a/dev-build/libtool/files/libtool-2.4.6-ppc64le.patch b/dev-build/libtool/files/libtool-2.4.6-ppc64le.patch new file mode 100644 index 000000000000..78d86c72956b --- /dev/null +++ b/dev-build/libtool/files/libtool-2.4.6-ppc64le.patch @@ -0,0 +1,111 @@ +From 020afd7d6410f73bc205206abe1b88b4890b83b1 Mon Sep 17 00:00:00 2001 +From: Leno Hou +Date: Sun, 24 Apr 2016 00:46:53 +0800 +Subject: [PATCH] [m4/libtool.m4] linker error for powerpc64le-unknown-linux-gnu + +Hi all, + + 1) As we might know, Gentoo has powerpc64le-unknown-linux-gnu compiler + +leno@localhost ~ $ powerpc64le-unknown-linux-gnu-gcc -v + +Using built-in specs. + +COLLECT_GCC=/usr/powerpc64le-unknown-linux-gnu/gcc-bin/5.3.0/powerpc64le-unknown-linux-gnu-gcc + +COLLECT_LTO_WRAPPER=/usr/libexec/gcc/powerpc64le-unknown-linux-gnu/5.3.0/lto-wrapper + +Target: powerpc64le-unknown-linux-gnu + +Configured with: +/var/tmp/portage/sys-devel/gcc-5.3.0/work/gcc-5.3.0/configure +--host=powerpc64le-unknown-linux-gnu --build=powerpc64le-unknown-linux-gnu +--prefix=/usr --bindir=/usr/powerpc64le-unknown-linux-gnu/gcc-bin/5.3.0 +--includedir=/usr/lib/gcc/powerpc64le-unknown-linux-gnu/5.3.0/include +--datadir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0 +--mandir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/man +--infodir=/usr/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/info +--with-gxx-include-dir=/usr/lib/gcc/powerpc64le-unknown-linux-gnu/5.3.0/include/g++-v5 +--with-python-dir=/share/gcc-data/powerpc64le-unknown-linux-gnu/5.3.0/python +--enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt +--disable-werror --with-system-zlib --enable-nls --without-included-gettext +--enable-checking=release --with-bugurl=https://bugs.gentoo.org/ +--with-pkgversion='Gentoo 5.3.0 p1.0, pie-0.6.5' --enable-libstdcxx-time +--enable-shared --enable-threads=posix --enable-__cxa_atexit +--enable-clocale=gnu --disable-multilib --enable-altivec +--disable-fixed-point --enable-targets=all --disable-libgcj +--enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts +--enable-lto --without-isl --enable-libsanitizer + +Thread model: posix + +gcc version 5.3.0 (Gentoo 5.3.0 p1.0, pie-0.6.5) + + 2) And the supported emulations + +leno@localhost ~ $ powerpc64le-unknown-linux-gnu-ld -V +GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 + Supported emulations: + elf64lppc + elf32lppc + elf32lppclinux + elf32lppcsim + + 3) But when I set CHOST="powerpc64le-unkown-linux-gnu" in Gentoo and +execute aclocal, automake, libtoolize --copy --force, autoconf. When I +glance in the latest m4/libtool.m4 : + +if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in +... + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; +... + *64-bit*) + case $host in +... + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; +... + +seems linked to $LD='$LD-ld -m elf64ppc' and failed to compile packages. + + 4) Below is my workaround patch and works fine for this case. If this is +OK for you, Could this to be merged in upstream? Thanks + +URL: https://debbugs.gnu.org/23348 +URL: https://bugs.gentoo.org/581314 +--- + m4/libtool.m4 | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/m4/libtool.m4 b/m4/libtool.m4 +index ee292aff5bca..758b6951ae07 100644 +--- a/m4/libtool.m4 ++++ b/m4/libtool.m4 +@@ -1417,10 +1417,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; +- powerpcle-*linux*) ++ powerpcle-*linux*|powerpc64le-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; +- powerpc-*linux*) ++ powerpc-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) +-- +2.11.1 + diff --git a/dev-build/libtool/files/libtool-2.4.6-pthread.patch b/dev-build/libtool/files/libtool-2.4.6-pthread.patch new file mode 100644 index 000000000000..49b81c1dcda6 --- /dev/null +++ b/dev-build/libtool/files/libtool-2.4.6-pthread.patch @@ -0,0 +1,43 @@ +http://permalink.gmane.org/gmane.comp.gnu.libtool.patches/11704 +https://bugs.gentoo.org/650876 + +From: Pavel Raiskup redhat.com> +Subject: [PATCH] libtool: handle the -pthread{,s} options for g++ +Newsgroups: gmane.comp.gnu.libtool.patches +Date: Thursday 28th November 2013 14:18:05 UTC (over 4 years ago) + +As we are forced to pass -nostdlib to g++ for linking, this option +expectedly disables the effectiveness of passed -pthread flag - so +add the -lpthread explicitly to $deplibs to link correctly. + +References: +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +https://bugzilla.redhat.com/show_bug.cgi?id=661333 +http://lists.gnu.org/archive/html/bug-libtool/2013-01/msg00018.htm + +* build-aux/ltmain.in (func_mode_link): Explicitly add -lpthread +flag into $deplibs when -pthread is passed (for g++ only). +--- + build-aux/ltmain.in | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in +index fba05c1..f202b80 100644 +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -5113,6 +5113,16 @@ func_mode_link () + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac ++ ++ # As we are forced to pass -nostdlib to g++ during linking, the option ++ # -pthread{,s} is not in effect; add the -lpthread to $deplist ++ # explicitly to link correctly. ++ if test "$tagname" = CXX -a x"$with_gcc" = xyes; then ++ case "$arg" in ++ -pthread*) func_append deplibs " -lpthread" ;; ++ esac ++ fi ++ + continue + ;; diff --git a/dev-build/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch b/dev-build/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch new file mode 100644 index 000000000000..b093d74266f2 --- /dev/null +++ b/dev-build/libtool/files/libtool-2.4.6-pthread_bootstrapped.patch @@ -0,0 +1,21 @@ +https://bugs.gentoo.org/650876 + +--- a/build-aux/ltmain.sh ++++ b/build-aux/ltmain.sh +@@ -7127,6 +7127,16 @@ + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac ++ ++ # As we are forced to pass -nostdlib to g++ during linking, the option ++ # -pthread{,s} is not in effect; add the -lpthread to $deplist ++ # explicitly to link correctly. ++ if test "$tagname" = CXX -a x"$with_gcc" = xyes; then ++ case "$arg" in ++ -pthread*) func_append deplibs " -lpthread" ;; ++ esac ++ fi ++ + continue + ;; + diff --git a/dev-build/libtool/files/libtool-2.4.7-grep-3.8.patch b/dev-build/libtool/files/libtool-2.4.7-grep-3.8.patch new file mode 100644 index 000000000000..8f1de478aece --- /dev/null +++ b/dev-build/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/dev-build/libtool/files/libtool-2.4.7-werror-lto.patch b/dev-build/libtool/files/libtool-2.4.7-werror-lto.patch new file mode 100644 index 000000000000..c0db69f3e2b6 --- /dev/null +++ b/dev-build/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/dev-build/libtool/libtool-2.4.7-r1.ebuild b/dev-build/libtool/libtool-2.4.7-r1.ebuild new file mode 100644 index 000000000000..aa94eae26eeb --- /dev/null +++ b/dev-build/libtool/libtool-2.4.7-r1.ebuild @@ -0,0 +1,117 @@ +# 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 + +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 ~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:* + >=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.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/dev-build/libtool/libtool-2.4.7-r2.ebuild b/dev-build/libtool/libtool-2.4.7-r2.ebuild new file mode 100644 index 000000000000..ec3be9b992e0 --- /dev/null +++ b/dev-build/libtool/libtool-2.4.7-r2.ebuild @@ -0,0 +1,119 @@ +# 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 + +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 ~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. + 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/dev-build/libtool/libtool-9999.ebuild b/dev-build/libtool/libtool-9999.ebuild new file mode 100644 index 000000000000..5a5d4b118ef9 --- /dev/null +++ b/dev-build/libtool/libtool-9999.ebuild @@ -0,0 +1,117 @@ +# 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 + +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 ~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 +) + +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/dev-build/libtool/metadata.xml b/dev-build/libtool/metadata.xml new file mode 100644 index 000000000000..151cc38da6c6 --- /dev/null +++ b/dev-build/libtool/metadata.xml @@ -0,0 +1,11 @@ + + + + + base-system@gentoo.org + Gentoo Base System + + + cpe:/a:gnu:libtool + + -- cgit v1.2.3