diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2020-11-12 12:13:00 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2020-12-09 08:51:54 +0200 |
commit | 7016f8db7c00c7dfcf5b3c7167fb79d9737a8da2 (patch) | |
tree | 8ad85b87df1d827ca07eabaf514783e6c7b79bd6 | |
parent | 955e523bdc8ed4307103218a580b7ed9635f9c95 (diff) | |
download | guix-7016f8db7c00c7dfcf5b3c7167fb79d9737a8da2.tar.gz |
build/python: Check for cythonized files.
* guix/build/python-build-system.scm (ensure-no-cythonized-files): New procedure. (%standard-phases): Add it.
-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 1179315ce2..2a983741c5 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -265,6 +266,18 @@ installed with setuptools." (setenv "PYTHONDONTWRITEBYTECODE" "1") #t) +(define* (ensure-no-cythonized-files #:rest _) + "Check the source code for @code{.c} files which may have been pre-generated +by Cython." + (for-each + (lambda (file) + (let ((generated-file + (string-append (string-drop-right file 3) "c"))) + (when (file-exists? generated-file) + (warning (G_ "Possible Cythonized file found: ~a~%") generated-file)))) + (find-files "." "\\.pyx$")) + #t) + (define %standard-phases ;; The build phase only builds C extensions and copies the Python sources, ;; while the install phase copies then byte-compiles the sources to the @@ -274,6 +287,8 @@ installed with setuptools." (add-after 'unpack 'ensure-no-mtimes-pre-1980 ensure-no-mtimes-pre-1980) (add-after 'ensure-no-mtimes-pre-1980 'enable-bytecode-determinism enable-bytecode-determinism) + (add-after 'enable-bytecode-determinism 'ensure-no-cythonized-files + ensure-no-cythonized-files) (delete 'bootstrap) (delete 'configure) ;not needed (replace 'build build) |