From dedc8320701b3f5d23ccc213c1c0381e00b33785 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Nov 2015 00:08:35 +0100 Subject: gnu: python-2: Honor 'SOURCE_DATE_EPOCH'. * gnu/packages/patches/python-2.7-source-date-epoch.patch: New file. * gnu/packages/python.scm (python-2)[source]: Use it. [arguments]: Set SOURCE_DATE_EPOCH in 'patch-lib-shells' phase. * guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): New procedure. (%standard-phases): Add it. * gnu-system.am (dist_patch_DATA): Add patch. --- guix/build/python-build-system.scm | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'guix') diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm index 1ae42c00b4..6775cc4396 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm @@ -136,11 +136,18 @@ (define* (ensure-no-mtimes-pre-1980 #:rest _) #t)) #t)) +(define* (set-SOURCE-DATE-EPOCH #:rest _) + "Set the 'SOURCE_DATE_EPOCH' environment variable." + ;; Use zero as the timestamp in .pyc files so that builds are deterministic. + ;; TODO: Remove it when this variable is set in GNU:%STANDARD-PHASES. + (setenv "SOURCE_DATE_EPOCH" "0")) + (define %standard-phases ;; 'configure' and 'build' phases are not needed. Everything is done during ;; 'install'. (modify-phases gnu:%standard-phases (add-after 'unpack 'ensure-no-mtimes-pre-1980 ensure-no-mtimes-pre-1980) + (add-after 'unpack 'set-SOURCE-DATE-EPOCH set-SOURCE-DATE-EPOCH) (delete 'configure) (replace 'install install) (replace 'check check) -- cgit v1.2.3