Merge remote-tracking branch 'origin/master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / astronomy.scm
index c1b15e1..d21c093 100644 (file)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix download)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages gl)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages maths)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu))
 
 (define-public cfitsio
@@ -58,7 +64,7 @@ in FITS files.")
 (define-public wcslib
   (package
     (name "wcslib")
-    (version "5.15")
+    (version "5.17")
     (source
      (origin
        (method url-fetch)
@@ -66,7 +72,7 @@ in FITS files.")
              "ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version
              ".tar.bz2"))
        (sha256
-        (base32 "1s2nig327g4bimd9xshlk11ww09a7mrjmsbpdcd8smsmn2kl1glb"))))
+        (base32 "0v23x1fw01arhmqdrzfd9n593mjglhzfyx4793v065z0dg4bb72w"))))
     (inputs
      `(("cfitsio" ,cfitsio)))
     (build-system gnu-build-system)
@@ -77,7 +83,7 @@ in FITS files.")
                       (substitute* "makedefs.in"
                         (("/bin/sh") "sh"))
                       #t)))))
-    (home-page "http://www.atnf.csiro.au/people/mcalabre/WCS")
+    (home-page "https://www.atnf.csiro.au/people/mcalabre/WCS")
     (synopsis "Library which implements the FITS WCS standard")
     (description "The FITS \"World Coordinate System\" (WCS) standard defines
 keywords and usage that provide for the description of astronomical coordinate
@@ -87,7 +93,7 @@ systems in a FITS image header.")
 (define-public gnuastro
   (package
     (name "gnuastro")
-    (version "0.2")
+    (version "0.5")
     (source
      (origin
        (method url-fetch)
@@ -95,15 +101,62 @@ systems in a FITS image header.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "0099g7zqg1gr9y94ybhyjgx9pkn9zv4rj1xb00fkybfw8w6ij9iv"))))
+         "10lxzxyrf30hj3bqdgprvaj9phzdi816khjmr0vmjf8pmsr8bqqr"))))
     (inputs
      `(("cfitsio" ,cfitsio)
        ("gsl" ,gsl)
-       ("libjpeg" ,libjpeg-8)
+       ("libjpeg" ,libjpeg)
        ("wcslib" ,wcslib)))
     (build-system gnu-build-system)
-    (home-page "https://www.gnu.org/software/gnuastro")
-    (synopsis "Astronomical data manipulation programs")
+    (home-page "https://www.gnu.org/software/gnuastro/")
+    (synopsis "Astronomy utilities")
     (description "The GNU Astronomy Utilities (Gnuastro) is a suite of
 programs for the manipulation and analysis of astronomical data.")
     (license license:gpl3+)))
+
+(define-public stellarium
+  (package
+    (name "stellarium")
+    (version "0.16.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://sourceforge/stellarium/"
+                                 "Stellarium-sources/"
+                                 version "/stellarium-" version ".tar.gz"))
+             (sha256
+              (base32
+               "1krxj51lix096xbz64lys166a8zdwhill5vvs7dlxdn14amc8d98"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtlocation" ,qtlocation)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtscript" ,qtscript)
+       ("qtserialport" ,qtserialport)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("gettext" ,gettext-minimal) ; xgettext is used at compile time
+       ("perl" ,perl) ; For pod2man
+       ("qtbase" ,qtbase) ; Qt MOC is needed at compile time
+       ("qttools" ,qttools)))
+    (arguments
+      `(#:test-target "tests"
+        #:phases (modify-phases %standard-phases
+                   (add-after 'unpack 'patch-tests
+                     (lambda _
+                       (substitute* "src/tests/testStelSphereGeometry.cpp"
+                         (("Vec3d v[(]0[)]") "Vec3d v(0.0)"))
+                       #t))
+                   (add-before 'check 'set-offscreen-display
+                     (lambda _
+                       ;; make Qt render "offscreen", required for tests
+                       (setenv "QT_QPA_PLATFORM" "offscreen")
+                       (setenv "HOME" "/tmp")
+                       #t)))))
+    (home-page "http://www.stellarium.org/")
+    (synopsis "3D sky viewer")
+    (description "Stellarium is a planetarium.  It shows a realistic sky in
+3D, just like what you see with the naked eye, binoculars, or a telescope.  It
+can be used to control telescopes over a serial port for tracking celestial
+objects.")
+    (license license:gpl2+)))