From f31fbadac38df98932df1f4c69b696aed3b6b5d9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 3 Dec 2015 11:49:32 +0100 Subject: [PATCH] Set a fallback default value for SOURCE_DATE_EPOCH This is used by some build tools to provide reproducible builds. See https://reproducible-builds.org/specs/source-date-epoch/ for more info. Later, we'll want to set this to a more intelligent value (such as the most recent mtime of any source file). --- pkgs/stdenv/generic/setup.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 4693974a2b77..d8de9ab2390b 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -184,6 +184,14 @@ installBin() { # Initialisation. +# Set a fallback default value for SOURCE_DATE_EPOCH, used by some +# build tools to provide a deterministic substitute for the "current" +# time. Note that 1 = 1970-01-01 00:00:01. We don't use 0 because it +# confuses some applications. +export SOURCE_DATE_EPOCH +: ${SOURCE_DATE_EPOCH:=1} + + # Wildcard expansions that don't match should expand to an empty list. # This ensures that, for instance, "for i in *; do ...; done" does the # right thing.