guix-commits
[Top][All Lists]
Advanced

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

branch core-updates updated: build/python: Check for cythonized files.


From: guix-commits
Subject: branch core-updates updated: build/python: Check for cythonized files.
Date: Wed, 09 Dec 2020 01:59:32 -0500

This is an automated email from the git hooks/post-receive script.

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

The following commit(s) were added to refs/heads/core-updates by this push:
     new 7016f8d  build/python: Check for cythonized files.
7016f8d is described below

commit 7016f8db7c00c7dfcf5b3c7167fb79d9737a8da2
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Thu Nov 12 12:13:00 2020 +0200

    build/python: Check for cythonized files.
    
    * guix/build/python-build-system.scm (ensure-no-cythonized-files): New 
procedure.
    (%standard-phases): Add it.
---
 guix/build/python-build-system.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/guix/build/python-build-system.scm 
b/guix/build/python-build-system.scm
index 1179315..2a98374 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)



reply via email to

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