diff --git a/gnu/local.mk b/gnu/local.mk index 6a52172f37..a6bc8db5e2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1770,6 +1770,8 @@ dist_patch_DATA = \ %D%/packages/patches/libtiff-CVE-2022-34526.patch \ %D%/packages/patches/libtirpc-CVE-2021-46828.patch \ %D%/packages/patches/libtirpc-hurd.patch \ + %D%/packages/patches/libtool-grep-compat.patch \ + %D%/packages/patches/libtool-skip-tests2.patch \ %D%/packages/patches/libtree-fix-check-non-x86.patch \ %D%/packages/patches/libusb-0.1-disable-tests.patch \ %D%/packages/patches/libusb-for-axoloti.patch \ diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 6f694c9b7f..84f2444004 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -483,14 +483,16 @@ Makefile, simplifying the entire process for the developer.") (define-public libtool (package (name "libtool") - (version "2.5.4") + (version "2.4.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libtool/libtool-" version ".tar.xz")) (sha256 (base32 - "0xb64rhambx6mhxwr613xgyad7ybs5hgmpmd9gccf2vbcrh5h7zq")))) + "0pb3l4x37k6fj1lwnpzws55gi3pxl0hx56jm4bzmbrkw0mzj2zsg")) + (patches (search-patches "libtool-skip-tests2.patch" + "libtool-grep-compat.patch")))) (build-system gnu-build-system) (propagated-inputs (list m4)) (native-inputs @@ -516,12 +518,6 @@ Makefile, simplifying the entire process for the developer.") #:phases (modify-phases %standard-phases - (add-after 'unpack 'skip-some-tests-on-extra-archs - (lambda _ - (with-directory-excursion "tests" - (substitute* '("demo.at" "testsuite") - (("hppa\\*\\|amd64\\*\\|x86_64\\*\\|s390\\*" all) - (string-append all "|arm*|mips*|riscv*")))))) (add-before 'check 'pre-check (lambda* (#:key inputs native-inputs parallel-tests? #:allow-other-keys) ;; Run the test suite in parallel, if possible. diff --git a/gnu/packages/patches/libtool-grep-compat.patch b/gnu/packages/patches/libtool-grep-compat.patch new file mode 100644 index 0000000000..46e5c6873d --- /dev/null +++ b/gnu/packages/patches/libtool-grep-compat.patch @@ -0,0 +1,51 @@ +Don't escape forward slashes to prevent a warning from grep 3.8. + +diff --git a/tests/link-order.at b/tests/link-order.at +--- 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 +diff --git a/tests/testsuite b/tests/testsuite +--- a/tests/testsuite ++++ b/tests/testsuite +@@ -20611,11 +20611,11 @@ aix* | interix*) ;; # These systems have different path syntax + yesno) + { set +x + $as_echo "$at_srcdir/link-order.at:101: 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" + at_fn_check_prepare_notrace 'an embedded newline' "link-order.at:101" + ( $at_check_trace; 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 + ) >>"$at_stdout" 2>>"$at_stderr" 5>&- + at_status=$? at_failed=false +@@ -20633,11 +20633,11 @@ $at_traceon; } + *) + { set +x + $as_echo "$at_srcdir/link-order.at:106: 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" + at_fn_check_prepare_notrace 'an embedded newline' "link-order.at:106" + ( $at_check_trace; 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 + ) >>"$at_stdout" 2>>"$at_stderr" 5>&- + at_status=$? at_failed=false diff --git a/gnu/packages/patches/libtool-skip-tests2.patch b/gnu/packages/patches/libtool-skip-tests2.patch new file mode 100644 index 0000000000..91beaa903e --- /dev/null +++ b/gnu/packages/patches/libtool-skip-tests2.patch @@ -0,0 +1,33 @@ +Skip the nopic test on ARM, MIPS and RISC-V systems. + +--- libtool-2.4.6/tests/demo.at.orig 2015-01-16 13:52:04.000000000 -0500 ++++ libtool-2.4.6/tests/demo.at 2015-02-16 10:48:51.435851966 -0500 +@@ -510,7 +510,7 @@ + AT_SETUP([force non-PIC objects]) + + AT_CHECK([case $host in +-hppa*|x86_64*|s390*) ++hppa*|x86_64*|s390*|arm*|mips*|riscv*) + # These hosts cannot use non-PIC shared libs + exit 77 ;; + *-solaris*|*-sunos*) +--- libtool-2.4.6/tests/testsuite.orig 2015-02-15 11:15:25.000000000 -0500 ++++ libtool-2.4.6/tests/testsuite 2015-02-16 10:50:58.736483216 -0500 +@@ -8741,7 +8741,7 @@ + + { set +x + $as_echo "$at_srcdir/demo.at:513: case \$host in +-hppa*|x86_64*|s390*) ++hppa*|x86_64*|s390*|arm*|mips*|riscv*) + # These hosts cannot use non-PIC shared libs + exit 77 ;; + *-solaris*|*-sunos*) +@@ -8766,7 +8766,7 @@ + " + at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:513" + ( $at_check_trace; case $host in +-hppa*|x86_64*|s390*) ++hppa*|x86_64*|s390*|arm*|mips*|riscv*) + # These hosts cannot use non-PIC shared libs + exit 77 ;; + *-solaris*|*-sunos*)