summaryrefslogtreecommitdiff
path: root/gnu/packages/python.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-10-20 21:32:05 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-10-20 21:36:43 -0400
commit6731fc6ab891c3d6c4f762d54a45e79a4ae40dad (patch)
treecd06a3b453ce03957a0f8208592b928869106c4e /gnu/packages/python.scm
parent4e0b3d7f9f1c866d3520e8d7d3ea1f0d48820269 (diff)
gnu: python-2.7: Byte compile files with a single optimization level.
* gnu/packages/python.scm (python-2.7)[phases]{rebuild-bytecode}: Byte compile using optimization level, -OO. Provide the output directory as the source argument to 'compileall', instead of looping over each individual source file.
Diffstat (limited to 'gnu/packages/python.scm')
-rw-r--r--gnu/packages/python.scm33
1 files changed, 16 insertions, 17 deletions
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2e057a7a27..3414ad959b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -229,14 +229,12 @@
"--with-system-ffi"
""))))
#t))
- (add-before
- 'check 'pre-check
+ (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
+ (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
@@ -280,19 +278,20 @@
(lambda (opt)
(format #t "Compiling with optimization level: ~a\n"
(if (null? opt) "none" (car opt)))
- (for-each (lambda (file)
- (apply invoke
- `(,,(if (%current-target-system)
- "python2"
- '(string-append out "/bin/python"))
- ,@opt
- "-m" "compileall"
- "-f" ; force rebuild
- ;; Don't build lib2to3, because it contains Python 3 code.
- "-x" "lib2to3/.*"
- ,file)))
- (find-files out "\\.py$")))
- (list '() '("-O") '("-OO")))
+ (apply invoke
+ `(,,(if (%current-target-system)
+ "python2"
+ '(string-append out "/bin/python"))
+ ,@opt
+ "-m" "compileall"
+ "-f" ; force rebuild
+ ;; Don't build lib2to3, because it contains Python 3 code.
+ "-x" "lib2to3/.*"
+ ,out)))
+ ;; Python 2 has a single file extension (.pyo) for the chosen
+ ;; level of optimization, so it doesn't make sense to byte
+ ;; compile with more than one level.
+ (list '() '("-OO")))
#t)))
(add-after 'install 'move-tk-inter
(lambda* (#:key outputs #:allow-other-keys)