From a3d6e1f432ad5f9cde8bee670b28646e05c4cb19 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Aug 2016 17:58:09 -0400 Subject: gnu: perl: Update to 5.24.0. * gnu/packages/perl.scm: Update to 5.24.0. [source]: Add and remove patches. * gnu/packages/patches/perl-reproducible-build-date.patch: New file. * gnu/packages/patches/perl-CVE-2015-8607.patch, gnu/packages/patches/perl-CVE-2016-2381.patch, gnu/packages/patches/perl-no-build-time.patch, gnu/packages/patches/perl-source-date-epoch.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Add and remove patches. --- gnu/packages/patches/perl-reproducible-build-date.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 gnu/packages/patches/perl-reproducible-build-date.patch (limited to 'gnu/packages/patches/perl-reproducible-build-date.patch') diff --git a/gnu/packages/patches/perl-reproducible-build-date.patch b/gnu/packages/patches/perl-reproducible-build-date.patch new file mode 100644 index 0000000000..d5bd25dbfb --- /dev/null +++ b/gnu/packages/patches/perl-reproducible-build-date.patch @@ -0,0 +1,17 @@ +Don't encode the current timestamp. + +This affects the output of `perl -V`, specifically the message "Compiled +at [...]". + +diff --git a/perl.c b/perl.c +index 228a0d8..ed38313 100644 +--- a/perl.c ++++ b/perl.c +@@ -1825,6 +1825,7 @@ S_Internals_V(pTHX_ CV *cv) + PUSHs(Perl_newSVpvn_flags(aTHX_ non_bincompat_options, + sizeof(non_bincompat_options) - 1, SVs_TEMP)); + ++#define PERL_BUILD_DATE "Jan 1 1970 00:00:00" + #ifndef PERL_BUILD_DATE + # ifdef __DATE__ + # ifdef __TIME__ -- cgit 1.4.1 From 5bde29685b89452d3f584a913b3df5dd41990757 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 1 Oct 2016 15:20:08 +0200 Subject: gnu: perl: Make builds reproducible again. * gnu/packages/patches/perl-reproducible-build-date.patch: Add hunks to set 'myuname', 'cf_time', and 'cf_by' in 'Configure'. --- .../patches/perl-reproducible-build-date.patch | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu/packages/patches/perl-reproducible-build-date.patch') diff --git a/gnu/packages/patches/perl-reproducible-build-date.patch b/gnu/packages/patches/perl-reproducible-build-date.patch index d5bd25dbfb..bf0d4b8f6d 100644 --- a/gnu/packages/patches/perl-reproducible-build-date.patch +++ b/gnu/packages/patches/perl-reproducible-build-date.patch @@ -3,6 +3,14 @@ Don't encode the current timestamp. This affects the output of `perl -V`, specifically the message "Compiled at [...]". +The 'cf_time' and 'cf_by' values show up in 'config.h' and +in 'Config_heavy.pl'. + +Use the output of 'uname -s' instead of 'uname -a' to avoid recording +the kernel version ('uname -o' leads to directory names like +'x86_64-gnulinux' instead of 'x86_64-linux', which might cause breakage +down the road.) + diff --git a/perl.c b/perl.c index 228a0d8..ed38313 100644 --- a/perl.c @@ -15,3 +23,28 @@ index 228a0d8..ed38313 100644 #ifndef PERL_BUILD_DATE # ifdef __DATE__ # ifdef __TIME__ + +--- a/Configure 1970-01-01 01:00:00.000000000 +0100 ++++ b/Configure 2016-10-01 14:47:20.017319739 +0200 +@@ -3276,7 +3276,7 @@ $eunicefix tr + : Try to determine whether config.sh was made on this system + case "$config_sh" in + '') +-myuname=`$uname -a 2>/dev/null` ++myuname=`$uname -s 2>/dev/null` + $test -z "$myuname" && myuname=`hostname 2>/dev/null` + # Downcase everything to avoid ambiguity. + # Remove slashes and single quotes so we can use parts of this in +@@ -3845,10 +3845,10 @@ + . ./posthint.sh + + : who configured the system +-cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1` ++cf_time="1970-01-01" + case "$cf_by" in + "") +- cf_by=`(logname) 2>/dev/null` ++ cf_by="guix" + case "$cf_by" in + "") + cf_by=`(whoami) 2>/dev/null` -- cgit 1.4.1