Subject: [bug#63806] [PATCH 16/18] gnu: Add python-drizzle.

From: Sharlatan Hellseher <[email-masked]>
Date: Tue, 30 May 2023 20:58:46 +0100

* gnu/packages/astronomy.scm (python-drizzle): New variable.
---
 gnu/packages/astronomy.scm | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 4f94722ce6..26a67670b4 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -1576,6 +1576,53 @@ (define-public python-drms
 used with local NetDRMS sites.")
     (license license:bsd-2)))
 
+(define-public python-drizzle
+  (package
+    (name "python-drizzle")
+    (version "1.13.7")
+    (source (origin
+              (method git-fetch) ;PyPi has not test data sets
+              (uri (git-reference
+                    (url "https://github.com/spacetelescope/drizzle")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0x591d9gjasds91fvwcf37bhxp5nra28g0vq5zkykczpc70ywiy8"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      ;; XXX: 2 of 26 tests failed with AssertionError, disable them for now.
+      ;; Consider mention it in upstream.
+      #:test-flags #~(list "-k"
+                           (string-append "not test_square_with_point"
+                                          " and not test_square_with_grid"))
+      #:phases #~(modify-phases %standard-phases
+                   (add-before 'build 'set-env-version
+                     (lambda _
+                       (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
+                               #$version)))
+                   (add-before 'check 'build-extensions
+                     (lambda _
+                       ;; Cython extensions have to be built before running
+                       ;; the tests.
+                       (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+    (propagated-inputs (list python-astropy python-numpy))
+    (native-inputs (list python-coverage python-flake8 python-pytest
+                         python-pytest-cov python-setuptools-scm))
+    (home-page "https://github.com/spacetelescope/drizzle")
+    (synopsis
+     "Astronomical tool for combining dithered images into a single image")
+    (description
+     "The drizzle library is a Python package for combining dithered images into
+a single image.  This library is derived from code used in DrizzlePac.  Like
+DrizzlePac, most of the code is implemented in the C language.  The biggest
+change from DrizzlePac is that this code passes an array that maps the input to
+output image into the C code, while the DrizzlePac code computes the mapping by
+using a Python callback.  Switching to using an array allowed the code to be
+greatly simplified.")
+    (license license:bsd-3)))
+
 (define-public python-ephem
   (package
     (name "python-ephem")
-- 
2.40.1