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.
This commit is contained in:
Ludovic Courtès 2015-11-14 00:08:35 +01:00
parent f8e7fdc416
commit dedc832070
4 changed files with 49 additions and 1 deletions

View file

@ -136,11 +136,18 @@ installed with setuptools."
#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)