Subject: [PATCH 02/20] gnu: python-photutils: Update to 1.8.0.

From: Sharlatan Hellseher <[email-masked]>
Date: Wed, 21 Jun 2023 07:33:41 +0100

* gnu/packages/astronomy.scm (python-photutils): Update to
1.8.0. Activate more options.
[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.
[propagated-inputs]: Add python-bottleneck, python-gwcs,
python-matplotlib, python-scikit-image, python-scikit-learn,
python-scipy, python-shapely, python-tqdm
[native-inputs]: Remove python-pytest-runner. Add
python-semantic-version.
---
 gnu/packages/astronomy.scm | 44 +++++++++++++++++++++++++++-----------
 1 file changed, 31 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 787ca01491..16debb93a0 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -55,6 +55,7 @@ (define-module (gnu packages astronomy)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages lua)
+  #:use-module (gnu packages machine-learning)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
@@ -1701,30 +1702,47 @@ (define-public python-mpl-animators
 (define-public python-photutils
   (package
     (name "python-photutils")
-    (version "1.7.0")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "photutils" version))
        (sha256
-        (base32 "1bq4ma402lpa5d6l85awlc23kasxf40nq8hgi3iyrilnfikan0jz"))))
-    (build-system python-build-system)
+        (base32 "07khld3la1zwxd36kal6rglgkji4sd65lk4jc3khk0glb5v3kkrc"))))
+    (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
+          (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))
+     (list python-astropy
+           python-bottleneck
+           python-gwcs
+           python-matplotlib
+           python-numpy
+           ; python-resterio : Not packed yet
+           python-scikit-image
+           python-scikit-learn
+           python-scipy
+           python-shapely
+           python-tqdm))
     (native-inputs
      (list python-cython
            python-extension-helpers
            python-pytest-astropy
-           python-pytest-runner
+           python-semantic-version
            python-setuptools-scm))
     (home-page "https://github.com/astropy/photutils")
     (synopsis "Source detection and photometry")
-- 
2.40.1