summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-09-10 03:40:34 -0500
committerEric Bavier <bavier@member.fsf.org>2015-09-10 03:40:34 -0500
commitc6a3635d54f9e02bda834082311f31f35da56277 (patch)
tree2a42a2ba0c2c2413d49746da4ee407a495ba74f6
parent9d9847e1538096ff9fa1a1f4a9fe633a9a13922e (diff)
downloadguix-c6a3635d54f9e02bda834082311f31f35da56277.tar.gz
gnu: perl: Fix autosplitting of 0-time source.
* gnu/packages/patches/perl-autosplit-default-time.patch: New patch.
* gnu/packages/perl.scm (perl): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/patches/perl-autosplit-default-time.patch15
-rw-r--r--gnu/packages/perl.scm1
3 files changed, 17 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 749d744621..40a5841717 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -574,6 +574,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/patchelf-rework-for-arm.patch		\
   gnu/packages/patches/patchutils-xfail-gendiff-tests.patch	\
   gnu/packages/patches/patch-hurd-path-max.patch		\
+  gnu/packages/patches/perl-autosplit-default-time.patch	\
   gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \
   gnu/packages/patches/perl-module-pluggable-search.patch	\
   gnu/packages/patches/perl-net-amazon-s3-moose-warning.patch	\
diff --git a/gnu/packages/patches/perl-autosplit-default-time.patch b/gnu/packages/patches/perl-autosplit-default-time.patch
new file mode 100644
index 0000000000..e801ac9bfe
--- /dev/null
+++ b/gnu/packages/patches/perl-autosplit-default-time.patch
@@ -0,0 +1,15 @@
+AutoSplit will fail to create an index for files whose modification time is 0
+because its default time for a non-existent index is 1.  Set this default time
+to -1 instead.
+
+--- perl-5.16.1/cpan/AutoLoader/lib/AutoSplit.pm.orig	2012-02-14 22:44:36.000000000 -0600
++++ perl-5.16.1/cpan/AutoLoader/lib/AutoSplit.pm	2015-09-09 19:59:22.208708921 -0500
+@@ -361,7 +361,7 @@
+     my($al_idx_file) = catfile($autodir, $modpname, $IndexFile);
+ 
+     if ($check_mod_time){
+-	my($al_ts_time) = (stat("$al_idx_file"))[9] || 1;
++	my($al_ts_time) = (stat("$al_idx_file"))[9] || -1;
+ 	if ($al_ts_time >= $pm_mod_time and
+ 	    $al_ts_time >= $self_mod_time){
+ 	    print "AutoSplit skipped ($al_idx_file newer than $filename)\n"
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f784798bd3..d5015fd3ef 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -47,6 +47,7 @@
                "15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km"))
              (patches (map search-patch
                            '("perl-no-sys-dirs.patch"
+                             "perl-autosplit-default-time.patch"
                              "perl-module-pluggable-search.patch")))))
     (build-system gnu-build-system)
     (arguments