1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-17 12:30:38 +02:00

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.
This commit is contained in:
Ludovic Courtès 2015-12-13 11:25:24 +01:00
parent 4de3507483
commit 4187fe750f
5 changed files with 81 additions and 1 deletions

View file

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