guix_mirror_bot pushed a commit to branch astro-updates
in repository guix.

commit 324f3e099835c04a6a641c9c3300464d34ef69a7
Author: Sharlatan Hellseher <[email protected]>
AuthorDate: Tue Oct 14 21:44:40 2025 +0100

    gnu: python-reproject: Improve package.
    
    * gnu/packages/astronomy.scm (python-reproject): Update to 0.14.1.
    [arguments] <test-flags>: Limit to 8 threads to relax load on host
    machine running them.
    <phases>: Remove 'create-setup.py, writable-compiler,
    'prepare-test-environment; use custom 'check.
    [inputs]: Add python-asdf, python-gwcs, python-pyvo, python-shapely, and
    python-sunpy-minimal.
    [propagated-inputs]: Remove python-asdf, python-gwcs, python-pyvo, and
    python-shapely.
    [native-inputs]: Remove python-cython-3, python-asdf, python-gwcs,
    python-pyvo, and python-wheel; add python-cython.
    
    Change-Id: Ie4d47ff47c120dca4ac1ab609e7bf142a9f181a0
---
 gnu/packages/astronomy.scm | 72 +++++++++++++++++++---------------------------
 1 file changed, 29 insertions(+), 43 deletions(-)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 90dc86a576..0125d545d5 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -7346,7 +7346,7 @@ PSF} describing how the optical system spreads light from 
sources.")
 (define-public python-reproject
   (package
     (name "python-reproject")
-    (version "0.14.1")
+    (version "0.14.1") ;XXX: Newer versions need to be build with NumPy 2+
     (source
      (origin
        (method url-fetch)
@@ -7356,64 +7356,50 @@ PSF} describing how the optical system spreads light 
from sources.")
     (build-system pyproject-build-system)
     (arguments
      (list
+      ;; tests: 2062 passed, 398 skipped, 3 warnings
       #:test-flags
       #~(list "--arraydiff"
               "--arraydiff-default-format=fits"
-              "--numprocesses" (number->string (parallel-job-count))
-              "--pyargs" "reproject")
+              "--numprocesses" (number->string (min 8 (parallel-job-count)))
+              "--pyargs" "reproject"
+              ;; ValueError: Could not determine celestial frame corresponding
+              ;; to the specified WCS object
+              "-k" "not test_solar_wcs")
       #:phases
       #~(modify-phases %standard-phases
-          ;; setup.py was removed in a659a260bdd7635cddc8f33c4ea04a3b6d8c1f84
-          ;; for some unknown reason, which caused the package to fail to
-          ;; build. It is being recreated based on that commit.
-          ;; TODO: Check how to implement it in python-build-system.
-          (add-after 'unpack 'create-setup.py
-            (lambda _
-              (call-with-output-file "setup.py"
-                (lambda (port)
-                  (format port "from setuptools import setup
-from extension_helpers import get_extensions
-setup(ext_modules=get_extensions())")))))
-          (add-before 'install 'writable-compiler
-            (lambda _
-              (make-file-writable "reproject/_compiler.c")))
-          (add-before 'check 'writable-compiler
-            (lambda _
-              (make-file-writable "reproject/_compiler.c")))
-          (add-before 'check 'prepare-test-environment
-            (lambda _
-              (setenv "HOME" "/tmp")
-              ;; Cython extensions have to be built before running the tests.
-              (invoke "python" "setup.py" "build_ext" "--inplace"))))))
-    (propagated-inputs
+          ;; Use built library for tests.
+          (replace 'check
+            (lambda* (#:key tests? test-flags #:allow-other-keys)
+              (when tests?
+                (with-directory-excursion #$output
+                  (setenv "HOME" "/tmp")
+                  (apply invoke "pytest" "-vv" test-flags))))))))
+    (native-inputs
+     (list python-cython
+           python-extension-helpers
+           python-pytest-astropy
+           python-pytest-xdist
+           python-setuptools-scm))
+    (inputs
      (list python-asdf
-           python-astropy
+           python-gwcs
+           python-pyvo
+           python-shapely
+           python-sunpy-minimal))
+    (propagated-inputs
+     (list python-astropy
            python-astropy-healpix
            python-cloudpickle
            python-dask
            python-fsspec
-           python-gwcs
            python-numpy
-           python-pyvo
            python-scipy
-           python-shapely
            python-zarr))
-    (native-inputs
-     (list python-cython-3
-           python-extension-helpers
-           python-asdf
-           python-gwcs
-           python-pytest-astropy
-           python-pytest-xdist
-           python-pyvo
-           ;; python-sunpy ; circular dependencies, test optional
-           python-setuptools-scm
-           python-wheel))
     (home-page "https://reproject.readthedocs.io";)
     (synopsis "Astronomical image reprojection in Python")
     (description
-     "This package provides a functionality to reproject astronomical images 
using
-various techniques via a uniform interface, where reprojection is the
+     "This package provides a functionality to reproject astronomical images
+using various techniques via a uniform interface, where reprojection is the
 re-gridding of images from one world coordinate system to another e.g.
 changing the pixel resolution, orientation, coordinate system.")
     (license license:bsd-3)))

Reply via email to