Subject: [bug#70489] [PATCH 31/47] gnu: python-skyfield: Enable tests.

From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 21 Apr 2024 00:22:20 +0100

* gnu/packages/astronomy.scm (python-skyfield): Enable tests.
[source]: Swap to git checkout containing test data.
[build-system]: Swap to pyproject-build-system.
[native-inputs]: Add python-assay and python-pandas.

Change-Id: Ia4604ab2e44860dcf1294688639d3c54881f8d8c
---
 gnu/packages/astronomy.scm | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 15aa313c41..dbe589ee1a 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -5048,15 +5048,27 @@ (define-public python-skyfield
     (version "1.48")
     (source
      (origin
-       (method url-fetch)
-       (uri (pypi-uri "skyfield" version))
+       (method git-fetch) ; PyPI tarball lacks test data
+       (uri (git-reference
+             (url "https://github.com/skyfielders/python-skyfield")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "1qaz0k0lkni3y423r66mkvj99bx08qa9xgqp3cs2df70cmdz30cb"))))
-    (build-system python-build-system)
+        (base32 "0l324r4pz7d5w72c7c5akvjx40287hl7sl0qv7swvn2da53vmq0r"))))
+    (build-system pyproject-build-system)
     (arguments
-     ;; XXX: Tests depend on custom test framework
-     ;; https://github.com/brandon-rhodes/assay
-     `(#:tests? #f))
+     (list
+      #:test-flags
+      #~(list "-m" "assay" "--batch" "skyfield.tests")
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'check
+            (lambda* (#:key tests? test-flags #:allow-other-keys)
+              (when tests?
+                (with-directory-excursion "ci"
+                  (apply invoke "python" test-flags))))))))
+    (native-inputs
+     (list python-assay python-pandas))
     (propagated-inputs
      (list python-certifi
            python-jplephem
-- 
2.41.0