Subject: [PATCH v2 03/22] gnu: python-photutils: Update package style.

From: Sharlatan Hellseher <[email-masked]>
Date: Thu, 27 Jul 2023 00:15:29 +0100

* gnu/packages/astronomy.scm (python-photutils): Update package style.
[build-system]: Swap to python-build-system.
[arguments]: Use G-expressions. Rename the phase before check
'writable-compiler to 'build-extensions to reflect it's purpose, add
new step in phase building extensions for testing.
[native-inputs]: Remove python-pytest-runner.
---
 gnu/packages/astronomy.scm | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 26d4e9621d..15a52e0744 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -1833,23 +1833,29 @@ (define-public python-photutils
        (uri (pypi-uri "photutils" version))
        (sha256
         (base32 "1bq4ma402lpa5d6l85awlc23kasxf40nq8hgi3iyrilnfikan0jz"))))
-    (build-system python-build-system)
+    (build-system pyproject-build-system)
     (arguments
-     `(#:test-target "pytest"
-       #:phases
-       (modify-phases %standard-phases
-         ;; This file is opened in both install and check phases.
-         (add-before 'install 'writable-compiler
-           (lambda _ (make-file-writable "photutils/_compiler.c")))
-         (add-before 'check 'writable-compiler
-           (lambda _ (make-file-writable "photutils/_compiler.c"))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          ;; This file is opened in both install and check phases.
+          (add-before 'install 'writable-compiler
+            (lambda _ (make-file-writable "photutils/_compiler.c")))
+          (add-before 'check 'build-extensions
+            (lambda _
+              ;; Cython extensions have to be built before running
+              ;; the tests. If it's not build it fails with error:
+              ;;
+              ;; ModuleNotFoundError: No module named
+              ;; 'photutils.geometry.circular_overlap'
+              (make-file-writable "photutils/_compiler.c")
+              (invoke "python" "setup.py" "build_ext" "--inplace"))))))
     (propagated-inputs
      (list python-astropy python-numpy))
     (native-inputs
      (list python-cython
            python-extension-helpers
            python-pytest-astropy
-           python-pytest-runner
            python-setuptools-scm))
     (home-page "https://github.com/astropy/photutils")
     (synopsis "Source detection and photometry")
-- 
2.40.1