guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: python: Set source file times to 1980 to fix test.


From: Mark H. Weaver
Subject: 01/01: gnu: python: Set source file times to 1980 to fix test.
Date: Wed, 15 Jul 2015 17:33:52 +0000

mhw pushed a commit to branch core-updates
in repository guix.

commit 46472ecd006e7fd5e36056b2c7a0f3023d4efbd7
Author: Mark H Weaver <address@hidden>
Date:   Wed Jul 15 13:31:51 2015 -0400

    gnu: python: Set source file times to 1980 to fix test.
    
    * gnu/packages/python.scm (python-2)[arguments]: Use 'modify-phases'.  
Return
      true from phases where needed.  Add 'set-source-file-times-to-1980' phase.
      Add (ice-9 ftw) to #:modules.
---
 gnu/packages/python.scm |   50 +++++++++++++++++++++++++++++++----------------
 1 files changed, 33 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 5dcaba0..9ceb5b2 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -155,24 +155,40 @@
                 "-L" zlib "/lib "
                 "-Wl,-rpath=" out "/lib")))
 
+        #:modules ((ice-9 ftw)
+                   ,@%gnu-build-system-modules)
         #:phases
-        (alist-cons-before
-         'configure 'patch-lib-shells
-         (lambda _
-           ;; Filter for existing files, since some may not exist in all
-           ;; versions of python that are built with this recipe.
-           (substitute* (filter file-exists?
-                                '("Lib/subprocess.py"
-                                  "Lib/popen2.py"
-                                  "Lib/distutils/tests/test_spawn.py"
-                                  "Lib/test/test_subprocess.py"))
-             (("/bin/sh") (which "sh"))))
-         (alist-cons-before
-          'check 'pre-check
-          (lambda _
-            ;; 'Lib/test/test_site.py' needs a valid $HOME
-            (setenv "HOME" (getcwd)))
-          %standard-phases))))
+        (modify-phases %standard-phases
+          (add-before
+           'configure 'patch-lib-shells
+           (lambda _
+             ;; Filter for existing files, since some may not exist in all
+             ;; versions of python that are built with this recipe.
+             (substitute* (filter file-exists?
+                                  '("Lib/subprocess.py"
+                                    "Lib/popen2.py"
+                                    "Lib/distutils/tests/test_spawn.py"
+                                    "Lib/test/test_subprocess.py"))
+               (("/bin/sh") (which "sh")))
+             #t))
+          (add-before
+           'check 'pre-check
+           (lambda _
+             ;; 'Lib/test/test_site.py' needs a valid $HOME
+             (setenv "HOME" (getcwd))
+             #t))
+          (add-after
+           'unpack 'set-source-file-times-to-1980
+           ;; XXX One of the tests uses a ZIP library to pack up some of the
+           ;; source tree, and fails with "ZIP does not support timestamps
+           ;; before 1980".  Work around this by setting the file times in the
+           ;; source tree to sometime in early 1980.
+           (lambda _
+             (let ((circa-1980 (* 10 366 24 60 60)))
+               (ftw "." (lambda (file stat flag)
+                          (utime file circa-1980 circa-1980)
+                          #t))
+               #t))))))
     (inputs
      `(("bzip2" ,bzip2)
        ("gdbm" ,gdbm)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]