guix/gnu/packages/patches/perl-no-build-time.patch
Ludovic Courtès 4187fe750f 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.
2015-12-13 11:28:54 +01:00

27 lines
878 B
Diff

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__),