Subject: [bug#46237] [PATCH] Add new jplephem

From: Sharlatan Hellseher <[email-masked]>
Date: Mon, 1 Feb 2021 15:01:24 +0000

Hi Guix team!

I continue adding astronomy packages.
Is it better to put Python packages to python-science or it's ok to
keep them in astronomy?
-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.
From be78bcfd45dd5ac76da8882344198235b5952c71 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Mon, 1 Feb 2021 14:56:41 +0000
Subject: [PATCH] gnu: Add jplephem

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

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 9777b0008f..6748d2dff1 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -48,12 +48,14 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
@@ -692,3 +694,36 @@ more.")
                    license:gpl2+
                    license:lgpl2.0+
                    license:lgpl2.1+))))
+
+;;; Python based packages completely related to Astronomy
+
+(define-public python-jplephem
+  (package
+    (name "python-jplephem")
+    (version "2.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jplephem" version))
+       (sha256
+        (base32 "1ca3dswsslij79qg6dcijjz4l0fj6nzmxld8z93v45ahlkhps0g0"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (setenv "PYTHONPATH"
+                       (string-append "./build/lib:"
+                                      (getenv "PYTHONPATH")))
+               (setenv "PATH" (string-append out "/bin:"
+                                             (getenv "PATH")))
+               (invoke "python" "-m" "unittest" "discover" "-s" "test")))))))
+    (inputs
+     `(("python-numpy" ,python-numpy)))
+    (home-page "https://github.com/brandon-rhodes/python-jplephem")
+    (synopsis "Python version of NASA DE4xx ephemerides")
+    (description
+     "Use a JPL ephemeris to predict planet positions.")
+    (license license:expat)))
-- 
2.30.0