summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/perl-no-build-time.patch
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-12-13 11:25:24 +0100
committerLudovic Courtès <ludo@gnu.org>2015-12-13 11:28:54 +0100
commit4187fe750f128f934bd6030912133d13d19baafd (patch)
tree3d02f64726542f54c55be0a1869efe0534a3ba47 /gnu/packages/patches/perl-no-build-time.patch
parent4de35074833742e45237464bb1727ce1a55f3336 (diff)
gnu: perl: Build deterministically, and make byproducts deterministic.
With this, a --rounds=2 build passes, and timestamps in POD files can be controlled with 'SOURCE_DATE_EPOCH'. * gnu/packages/patches/perl-deterministic-ordering.patch, gnu/packages/patches/perl-no-build-time.patch, gnu/packages/patches/perl-source-date-epoch.patch: New files. * gnu/packages/perl.scm (perl)[source]: Use them. * gnu-system.am (dist_patch_DATA): Add them.
Diffstat (limited to 'gnu/packages/patches/perl-no-build-time.patch')
-rw-r--r--gnu/packages/patches/perl-no-build-time.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/gnu/packages/patches/perl-no-build-time.patch b/gnu/packages/patches/perl-no-build-time.patch
new file mode 100644
index 0000000000..5d78e8f462
--- /dev/null
+++ b/gnu/packages/patches/perl-no-build-time.patch
@@ -0,0 +1,26 @@
+Do not record the configuration and build time so that builds can be
+reproduced bit-for-bit.
+
+--- perl-5.22.0/Configure 1970-01-01 01:00:00.000000000 +0100
++++ perl-5.22.0/Configure 2015-12-13 00:14:43.148165080 +0100
+@@ -3834,6 +3817,7 @@ esac
+
+ : who configured the system
+ cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
++cf_time='Thu Jan 1 00:00:01 UTC 1970'
+ case "$cf_by" in
+ "")
+ cf_by=`(logname) 2>/dev/null`
+
+--- perl-5.22.0/perl.c 2015-12-13 00:25:30.269156627 +0100
++++ perl-5.22.0/perl.c 2015-12-13 00:25:38.265218175 +0100
+@@ -1795,7 +1795,7 @@ S_Internals_V(pTHX_ CV *cv)
+ PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options,
+ sizeof(non_bincompat_options) - 1, SVs_TEMP));
+
+-#ifdef __DATE__
++#if 0
+ # ifdef __TIME__
+ PUSHs(Perl_newSVpvn_flags(aTHX_
+ STR_WITH_LEN("Compiled at " __DATE__ " " __TIME__),
+