summaryrefslogtreecommitdiff
path: root/guix/build/python-build-system.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2020-11-12 12:13:00 +0200
committerEfraim Flashner <efraim@flashner.co.il>2020-12-09 08:51:54 +0200
commit7016f8db7c00c7dfcf5b3c7167fb79d9737a8da2 (patch)
tree8ad85b87df1d827ca07eabaf514783e6c7b79bd6 /guix/build/python-build-system.scm
parent955e523bdc8ed4307103218a580b7ed9635f9c95 (diff)
downloadguix-patches-7016f8db7c00c7dfcf5b3c7167fb79d9737a8da2.tar
guix-patches-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.
Diffstat (limited to 'guix/build/python-build-system.scm')
-rw-r--r--guix/build/python-build-system.scm15
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)