summary refs log tree commit diff
path: root/gnu/packages/patches/perl-deterministic-ordering.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-deterministic-ordering.patch
parent4de35074833742e45237464bb1727ce1a55f3336 (diff)
downloadguix-4187fe750f128f934bd6030912133d13d19baafd.tar.gz
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-deterministic-ordering.patch')
-rw-r--r--gnu/packages/patches/perl-deterministic-ordering.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/patches/perl-deterministic-ordering.patch b/gnu/packages/patches/perl-deterministic-ordering.patch
new file mode 100644
index 0000000000..92e33ef135
--- /dev/null
+++ b/gnu/packages/patches/perl-deterministic-ordering.patch
@@ -0,0 +1,29 @@
+From <https://bugs.debian.org/801523>.
+
+From c01f602d1926b0671fd2c8d91f7e52c4e4c9fb24 Mon Sep 17 00:00:00 2001
+From: Niko Tyni <ntyni@debian.org>
+Date: Sun, 11 Oct 2015 19:27:56 +0300
+Subject: [PATCH] Sort the list of XS code files when generating RealPPPort.xs
+
+all_files_in_dir() uses readdir() ordering to make the list of
+input files. This can vary between build systems, breaking build
+reproducibility.
+---
+ cpan/Devel-PPPort/PPPort_xs.PL | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cpan/Devel-PPPort/PPPort_xs.PL b/cpan/Devel-PPPort/PPPort_xs.PL
+index 5f18940..149f2fe 100644
+--- a/cpan/Devel-PPPort/PPPort_xs.PL
++++ b/cpan/Devel-PPPort/PPPort_xs.PL
+@@ -38,7 +38,7 @@ END
+ my $file;
+ my $sec;
+ 
+-for $file (all_files_in_dir('parts/inc')) {
++for $file (sort(all_files_in_dir('parts/inc'))) {
+   my $spec = parse_partspec($file);
+ 
+   my $msg = 0;
+-- 
+2.5.1