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.
This commit is contained in:
Eric Bavier 2015-09-10 03:40:34 -05:00
parent 9d9847e153
commit c6a3635d54
3 changed files with 17 additions and 0 deletions

View file

@ -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 \

View file

@ -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"

View file

@ -47,6 +47,7 @@ (define-public perl
"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