summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-01-15 13:07:37 +0100
committerLudovic Courtès <ludo@gnu.org>2016-01-15 14:23:46 +0100
commit89b48232f80d58e100ec7b73ee27ee513a58cfcc (patch)
tree034fc6cee2e57047c3957b3f8daee8318829ba72
parent76002e54f2280f5a6416438c513aab14ecddb138 (diff)
downloadguix-89b48232f80d58e100ec7b73ee27ee513a58cfcc.tar.gz
gnu: automake: Adjust to deal with Perl 5.22.
Fixes <http://bugs.gnu.org/22375>.

* gnu/packages/patches/automake-regexp-syntax.patch: New file.
* gnu/packages/autotools.scm (automake)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/autotools.scm6
-rw-r--r--gnu/packages/patches/automake-regexp-syntax.patch34
3 files changed, 39 insertions, 2 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 3eb01c3b1c..0550e79f87 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -412,6 +412,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/ath9k-htc-firmware-objcopy.patch		\
   gnu/packages/patches/audacity-fix-ffmpeg-binding.patch	\
   gnu/packages/patches/automake-skip-amhello-tests.patch	\
+  gnu/packages/patches/automake-regexp-syntax.patch		\
   gnu/packages/patches/avahi-localstatedir.patch		\
   gnu/packages/patches/avidemux-install-to-lib.patch		\
   gnu/packages/patches/avrdude-fix-libusb.patch			\
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 0d9a5b5873..598624ccdc 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
 ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
@@ -195,7 +195,9 @@ output is indexed in many ways to simplify browsing.")
               (base32
                "0dl6vfi2lzz8alnklwxzfz624b95hb1ipjvd3mk177flmddcf24r"))
              (patches
-              (list (search-patch "automake-skip-amhello-tests.patch")))))
+              (map search-patch
+                   '("automake-regexp-syntax.patch"
+                     "automake-skip-amhello-tests.patch")))))
     (build-system gnu-build-system)
     (native-inputs
      `(("autoconf" ,(autoconf-wrapper))
diff --git a/gnu/packages/patches/automake-regexp-syntax.patch b/gnu/packages/patches/automake-regexp-syntax.patch
new file mode 100644
index 0000000000..2e965c8c50
--- /dev/null
+++ b/gnu/packages/patches/automake-regexp-syntax.patch
@@ -0,0 +1,34 @@
+From <https://lists.gnu.org/archive/html/automake-patches/2015-07/msg00000.html>.
+See also <http://bugs.gnu.org/22372>.
+
+From 34163794a58b5bd91c5d6bd9adf5437571c7a479 Mon Sep 17 00:00:00 2001
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Tue, 7 Jul 2015 10:54:24 +0200
+Subject: [PATCH] bin/automake: escape '{' in regexp pattern
+
+Based on perlre(1) documentation:
+.. in Perl v5.26, literal uses of a curly bracket will be required
+to be escaped, say by preceding them with a backslash ("\{" ) or
+enclosing them within square brackets ("[{]") ..
+
+References:
+https://bugzilla.redhat.com/1239379
+
+* bin/automake.in (substitute_ac_subst_variables): Escape the
+occurrence of '{' character.
+---
+ bin/automake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/automake.in b/bin/automake.in
+index 0c29184..c294ced 100644
+--- a/bin/automake.in
++++ b/bin/automake.in
+@@ -3898,7 +3898,7 @@ sub substitute_ac_subst_variables_worker
+ sub substitute_ac_subst_variables
+ {
+   my ($text) = @_;
+-  $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
++  $text =~ s/\$\{([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
+   return $text;
+ }