From 4621acfd8272fa93d0530faa5f015b26a194b587 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 7 Feb 2017 20:00:10 +0100 Subject: [PATCH] gnu: r: Build default packages reproducibly. This is a follow-up to commit de643f0c15677665acce73db9c28c5488e623633. * gnu/packages/statistics.scm (r)[arguments]: Set the built timestamp for core packages to the epoch; add phase "build-recommended-packages-reproducibly". --- gnu/packages/statistics.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index b4d95bdb71..133ce41c43 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -116,7 +116,9 @@ (define-public r `(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") - "/lib/R/lib")) + "/lib/R/lib") + ;; This affects the embedded timestamp of only the core packages. + "PKG_BUILT_STAMP=1970-01-01") #:phases (modify-phases %standard-phases (add-before 'configure 'patch-uname @@ -126,8 +128,13 @@ (define-public r (substitute* "src/scripts/R.sh.in" (("uname") uname-bin))) #t)) - (add-before - 'configure 'set-default-pager + (add-after 'unpack 'build-recommended-packages-reproducibly + (lambda _ + (substitute* "src/library/Recommended/Makefile.in" + (("INSTALL_OPTS =.*" line) + (string-append line " --built-timestamp=1970-01-01"))) + #t)) + (add-before 'configure 'set-default-pager ;; Set default pager to "cat", because otherwise it is "false", ;; making "help()" print nothing at all. (lambda _ (setenv "PAGER" "cat") #t))