On 2022-06-21, Vagrant Cascadian wrote: > On 2022-06-15, Ludovic Courtès wrote: >> Vagrant Cascadian skribis: >>> From 7a39330b56934accef14b5e2ac003e211c7c6c5b Mon Sep 17 00:00:00 2001 >>> From: Vagrant Cascadian >>> Date: Fri, 10 Jun 2022 16:12:59 -0700 >>> Subject: [PATCH] guix: gnu-build-system: Set FORCE_SOURCE_DATE in >>> set-SOURCE-DATE-EPOCH phase. >>> >>> * guix/build/gnu-build-system.scm (set-SOURCE-DATE-EPOCH): Set >>> FORCE_SOURCE_DATE=1. Update URL. >> >> [...] >> >>> (define* (set-SOURCE-DATE-EPOCH #:rest _) >>> - "Set the 'SOURCE_DATE_EPOCH' environment variable. This is used by tools >>> -that incorporate timestamps as a way to tell them to use a fixed timestamp. >>> -See https://reproducible-builds.org/specs/source-date-epoch/." >>> - (setenv "SOURCE_DATE_EPOCH" "1")) >>> + "Set the 'SOURCE_DATE_EPOCH' and 'FORCE_SOURCE_DATE' environment variables. >>> +This is used by tools that incorporate timestamps as a way to tell them to use >>> +a fixed timestamp. See https://reproducible-builds.org/docs/source-date-epoch/." >>> + (setenv "SOURCE_DATE_EPOCH" "1") >>> + (setenv "FORCE_SOURCE_DATE" "1")) >> >> I’d mention above that FORCE_SOURCE_DATE is honored exclusively by >> TeX Live. Still not terribly happy with it, but I think I can cope with this updated version: diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index d84411c090..cbfbd2a209 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -56,10 +56,14 @@ (define time-monotonic time-tai)) (else #t)) (define* (set-SOURCE-DATE-EPOCH #:rest _) - "Set the 'SOURCE_DATE_EPOCH' environment variable. This is used by tools -that incorporate timestamps as a way to tell them to use a fixed timestamp. -See https://reproducible-builds.org/specs/source-date-epoch/." - (setenv "SOURCE_DATE_EPOCH" "1")) + "Set the 'SOURCE_DATE_EPOCH' and 'FORCE_SOURCE_DATE' environment variables. +This is used by tools that incorporate timestamps as a way to tell them to use +a fixed timestamp. Setting 'FORCE_SOURCE_DATE' is needed in order for TeX +Live to respect 'SOURCE_DATE_EPOCH', which is used to generate documentation +in various packages. See +https://reproducible-builds.org/docs/source-date-epoch/." + (setenv "SOURCE_DATE_EPOCH" "1") + (setenv "FORCE_SOURCE_DATE" "1")) (define (first-subdirectory directory) "Return the file name of the first sub-directory of DIRECTORY or false, when live well, vagrant