diff options
author | Mark H Weaver <mhw@netris.org> | 2015-07-16 01:49:39 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2015-07-16 01:49:39 -0400 |
commit | 3bacb7a698435ab87eea24fe1d6d2384ef9b7ee9 (patch) | |
tree | 3e7a90277e65b8829e6b37a09bf52505564f6be2 | |
parent | 1084ec08c2fba55c436f9e2167c310ada0e3f632 (diff) | |
download | gnu-guix-3bacb7a698435ab87eea24fe1d6d2384ef9b7ee9.tar gnu-guix-3bacb7a698435ab87eea24fe1d6d2384ef9b7ee9.tar.gz |
python-build-system: Add 'ensure-no-mtimes-pre-1980' phase.
* guix/build/python-build-system.scm (ensure-no-mtimes-pre-1980):
New phase.
(%standard-phases): Add it after 'unpack'.
-rw-r--r-- | guix/build/python-build-system.scm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm index 26a7254db9..d008ac2c69 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> +;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -119,10 +120,24 @@ installed with setuptools." (rename-file easy-install-pth new-pth)) #t)) +(define* (ensure-no-mtimes-pre-1980 #:rest _) + "Ensure that there are no mtimes before 1980-01-02 in the source tree." + ;; Rationale: patch-and-repack creates tarballs with timestamps at the POSIX + ;; epoch, 1970-01-01 UTC. This causes problems with Python packages, + ;; because Python eggs are ZIP files, and the ZIP format does not support + ;; timestamps before 1980. + (let ((early-1980 315619200)) ; 1980-01-02 UTC + (ftw "." (lambda (file stat flag) + (unless (<= early-1980 (stat:mtime stat)) + (utime file early-1980 early-1980)) + #t)) + #t)) + (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) (delete 'configure) (replace 'install install) (replace 'check check) |