guix_mirror_bot pushed a commit to branch core-packages-team
in repository guix.

commit 4e1576cebeaa417fa915a2564e13096a06501b7a
Author: Yelninei <[email protected]>
AuthorDate: Fri Nov 7 13:15:48 2025 +0000

    gnu: perl: Update to 5.42.0
    
    * gnu/packages/perl.scm (perl): Update to 5.42.0.
    * gnu/packages/patches/perl-no-sys-dirs.patch: Adjust patch for new version.
    
    Change-Id: I6995213564bee1056665016d7ac66882f41a7696
---
 gnu/packages/patches/perl-no-sys-dirs.patch | 93 +++++++++++------------------
 gnu/packages/perl.scm                       |  4 +-
 2 files changed, 36 insertions(+), 61 deletions(-)

diff --git a/gnu/packages/patches/perl-no-sys-dirs.patch 
b/gnu/packages/patches/perl-no-sys-dirs.patch
index 14d634cac99..c6d99b4f08d 100644
--- a/gnu/packages/patches/perl-no-sys-dirs.patch
+++ b/gnu/packages/patches/perl-no-sys-dirs.patch
@@ -3,10 +3,11 @@ Don't look for headers and libraries in "traditional" 
locations.
 Patch adapted from Nixpkgs, originally by Eelco Dolstra
 <[email protected]>.
 
-diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure
---- perl-5.20.0-orig/Configure 2014-05-26 15:34:18.000000000 +0200
-+++ perl-5.20.0/Configure      2014-06-25 10:43:35.368285986 +0200
-@@ -108,15 +108,7 @@
+diff --git a/Configure b/Configure
+index 4da7088bff..1a86e0a77d 100755
+--- a/Configure
++++ b/Configure
+@@ -108,15 +108,7 @@ if test -d c:/. || ( uname -a | grep -i 'os\(/\|\)2' 2>&1 
) 2>&1 >/dev/null ; th
  fi
  
  : Proper PATH setting
@@ -23,7 +24,7 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure 
perl-5.20.0/Configure
  
  for p in $paths
  do
-@@ -1435,8 +1427,7 @@
+@@ -1459,8 +1451,7 @@ groupstype=''
  i_whoami=''
  : Possible local include directories to search.
  : Set locincpth to "" in a hint file to defeat local include searches.
@@ -33,7 +34,7 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure 
perl-5.20.0/Configure
  :
  : no include file wanted by default
  inclwanted=''
-@@ -1450,17 +1441,12 @@
+@@ -1474,19 +1465,12 @@ DEBUGGING=''
  archobjs=''
  libnames=''
  : change the next line if compiling for Xenix/286 on Xenix/386
@@ -50,11 +51,13 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure 
perl-5.20.0/Configure
 -test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
 -test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
 -test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 
/usr/local/lib64"
+-
+-: Private path used by Configure to find libraries.  Its value
 +glibpth=""
- 
- : Private path used by Configure to find libraries.  Its value
  : is prepended to libpth. This variable takes care of special
-@@ -1495,8 +1481,6 @@
+ : machines, like the mips.  Usually, it should be empty.
+ plibpth=''
+@@ -1519,8 +1503,6 @@ libswanted="cl pthread socket bind inet ndbm gdbm dbm db 
malloc dl ld"
  libswanted="$libswanted sun m crypt sec util c cposix posix ucb bsd BSD"
  : We probably want to search /usr/shlib before most other libraries.
  : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
@@ -63,7 +66,7 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure 
perl-5.20.0/Configure
  : Do not use vfork unless overridden by a hint file.
  usevfork=false
  
-@@ -2553,7 +2537,6 @@
+@@ -2585,7 +2567,6 @@ uname
  zip
  "
  pth=`echo $PATH | sed -e "s/$p_/ /g"`
@@ -71,7 +74,7 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure 
perl-5.20.0/Configure
  for file in $loclist; do
        eval xxx=\$$file
        case "$xxx" in
-@@ -5049,7 +5033,7 @@
+@@ -5032,7 +5013,7 @@ esac
  : Set private lib path
  case "$plibpth" in
  '') if ./mips; then
@@ -80,7 +83,7 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure 
perl-5.20.0/Configure
      fi;;
  esac
  case "$libpth" in
-@@ -8877,13 +8861,8 @@
+@@ -8869,13 +8850,8 @@ esac
  echo " "
  case "$sysman" in
  '')
@@ -96,7 +99,7 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure 
perl-5.20.0/Configure
        ;;
  esac
  if $test -d "$sysman"; then
-@@ -21027,9 +21006,10 @@
+@@ -21740,9 +21716,10 @@ $rm_try tryp
  case "$full_ar" in
  '') full_ar=$ar ;;
  esac
@@ -108,37 +111,11 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure 
perl-5.20.0/Configure
  
  : see what type gids are declared as in the kernel
  echo " "
-Only in perl-5.20.0/: Configure.orig
-diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL 
perl-5.20.0/ext/Errno/Errno_pm.PL
---- perl-5.20.0-orig/ext/Errno/Errno_pm.PL     2014-05-26 15:34:20.000000000 
+0200
-+++ perl-5.20.0/ext/Errno/Errno_pm.PL  2014-06-25 10:31:24.317970047 +0200
-@@ -114,7 +114,7 @@ sub get_files {
-     # When cross-compiling we may store a path for gcc's "sysroot" option:
-     my $sysroot = $Config{sysroot} || '';
-     my $linux_errno_h;
--    if ($^O eq 'linux') {
-+    if (0) {
-       # Some Linuxes have weird errno.hs which generate
-       # no #file or #line directives
-       ($linux_errno_h) = grep { -e $_ } map { "$_/errno.h" }
-@@ -134,13 +134,6 @@ sub get_files {
-       if ($dep =~ /(\S+errno\.h)/) {
-            $file{$1} = 1;
-       }
--    } elsif ($^O eq 'linux' &&
--            $Config{gccversion} ne '' && 
--            $Config{gccversion} !~ /intel/i &&
--            # might be using, say, Intel's icc
--            $linux_errno_h
--           ) {
--      $file{$linux_errno_h} = 1;
-     } elsif ($^O eq 'haiku') {
-       # hidden in a special place
-       $file{'/boot/develop/headers/posix/errno.h'} = 1;
-diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh 
perl-5.20.0/hints/freebsd.sh
---- perl-5.20.0-orig/hints/freebsd.sh  2014-01-31 22:55:51.000000000 +0100
-+++ perl-5.20.0/hints/freebsd.sh       2014-06-25 10:25:53.263964680 +0200
-@@ -119,21 +119,21 @@
+diff --git a/hints/freebsd.sh b/hints/freebsd.sh
+index 70bb90ee95..6580219c17 100644
+--- a/hints/freebsd.sh
++++ b/hints/freebsd.sh
+@@ -127,21 +127,21 @@ case "$osvers" in
          objformat=`/usr/bin/objformat`
          if [ x$objformat = xaout ]; then
              if [ -e /usr/lib/aout ]; then
@@ -166,10 +143,11 @@ diff -ru -x '*~' -x '*.rej' 
perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/
         ldflags="-Wl,-E "
          lddlflags="-shared "
          cccdlflags='-DPIC -fPIC'
-diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh 
perl-5.20.0/hints/linux.sh
---- perl-5.20.0-orig/hints/linux.sh    2014-05-26 15:34:20.000000000 +0200
-+++ perl-5.20.0/hints/linux.sh 2014-06-25 10:33:47.354883843 +0200
-@@ -150,28 +150,6 @@
+diff --git a/hints/linux.sh b/hints/linux.sh
+index 83ba0c5c97..d7b6ce04fe 100644
+--- a/hints/linux.sh
++++ b/hints/linux.sh
+@@ -176,27 +176,6 @@ case "$optimize" in
      ;;
  esac
  
@@ -177,7 +155,7 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh 
perl-5.20.0/hints/li
 -# (such as -lm) in /lib or /usr/lib.  So we have to ask gcc to tell us
 -# where to look.  We don't want gcc's own libraries, however, so we
 -# filter those out.
--# This could be conditional on Unbuntu, but other distributions may
+-# This could be conditional on Ubuntu, but other distributions may
 -# follow suit, and this scheme seems to work even on rather old gcc's.
 -# This unconditionally uses gcc because even if the user is using another
 -# compiler, we still need to find the math library and friends, and I don't
@@ -189,16 +167,15 @@ diff -ru -x '*~' -x '*.rej' 
perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/li
 -if [ -x /usr/bin/gcc ] ; then
 -    gcc=/usr/bin/gcc
 -# clang also provides -print-search-dirs
--elif ${cc:-cc} --version 2>/dev/null | grep -q '^clang ' ; then
+-elif ${cc:-cc} --version 2>/dev/null | grep -q -e '^clang version' -e ' clang 
version'; then
 -    gcc=${cc:-cc}
 -else
 -    gcc=gcc
 -fi
--
+ 
  case "$plibpth" in
  '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep 
libraries |
-       cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
-@@ -208,32 +186,6 @@
+@@ -234,31 +213,6 @@ case "$usequadmath" in
    ;;
  esac
  
@@ -227,11 +204,10 @@ diff -ru -x '*~' -x '*.rej' 
perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/li
 -    done
 -    ;;
 -esac
--
+ 
  if ${sh:-/bin/sh} -c exit; then
    echo ''
-   echo 'You appear to have a working bash.  Good.'
-@@ -311,33 +263,6 @@
+@@ -337,32 +291,6 @@ sparc*)
        ;;
  esac
  
@@ -261,7 +237,6 @@ diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh 
perl-5.20.0/hints/li
 -    fi
 -    ;;
 -esac
--
+ 
  # Linux on Synology.
- if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then
-     # Tested on Synology DS213 and DS413
+ if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then
\ No newline at end of file
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index db3d9397850..8e4a9e48a26 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -118,14 +118,14 @@
   ;; Yeah, Perl...  It is required early in the bootstrap process by Linux.
   (package
     (name "perl")
-    (version "5.36.0")
+    (version "5.42.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://cpan/src/5.0/perl-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "02p0ljvxgay5g8s8j1kghdylkj581qx3qlwavlmgd5n3iapqaq72"))
+               "1p4n61k2jcym7q62p15qvavas42mynb54ip2jybip6kz9lcfz4z0"))
              (patches (search-patches
                        "perl-no-sys-dirs.patch"
                        "perl-autosplit-default-time.patch"

Reply via email to