X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/706ae8e15c8d36b0aee7c19c54c143d3e17f5784..b42ae19f04c30f52ae0ff177b68c035df89fc428:/gnu/packages/astronomy.scm diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 8fe2ee4d23..a909b46d6a 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1,6 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Efraim Flashner +;;; Copyright © 2019 by Amar Singh ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,29 +23,40 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (gnu packages autotools) #:use-module (gnu packages image) #:use-module (gnu packages compression) #:use-module (gnu packages gettext) + #:use-module (gnu packages version-control) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xiph) + #:use-module (gnu packages pretty-print) + #:use-module (gnu packages algebra) + #:use-module (gnu packages lua) #:use-module (gnu packages perl) #:use-module (gnu packages gl) #:use-module (gnu packages qt) + #:use-module (gnu packages gtk) + #:use-module (gnu packages gnome) #:use-module (gnu packages maths) #:use-module (guix build-system cmake) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (srfi srfi-1)) (define-public cfitsio (package (name "cfitsio") - (version "3.450") + (version "3.47") (source (origin (method url-fetch) (uri (string-append "http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/" - name (string-replace-substring version "." "") ".tar.gz")) + name "-" version ".tar.gz")) (sha256 - (base32 "0bmrkw6w65zb0k3mszaaqy1f4zjm2hl7njww74nb5v38wvdi4q5z")))) + (base32 "1vzlxnrjckz78p2wf148v2z3krkwnykfqvlj42sz3q711vqid1a1")))) (build-system gnu-build-system) ;; XXX Building with curl currently breaks wcslib. It doesn't use ;; pkg-config and hence won't link with -lcurl. @@ -68,20 +81,25 @@ in FITS files.") (define-public wcslib (package (name "wcslib") - (version "5.18") + (version "6.4") (source (origin (method url-fetch) (uri (string-append - "ftp://ftp.atnf.csiro.au/pub/software/wcslib/" name "-" version + "ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-" version ".tar.bz2")) (sha256 - (base32 "16jh568k99c9p0y3qzcgps2rii933x9wlay7q1xm0lr59zqzp4xn")))) + (base32 "003h23m6d5wcs29v2vbnl63f3z35k5x70lpsqlz5c9bp1bvizh8k")))) (inputs `(("cfitsio" ,cfitsio))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags + (list (string-append "--with-cfitsiolib=" + (assoc-ref %build-inputs "cfitsio") "/lib") + (string-append "--with-cfitsioinc=" + (assoc-ref %build-inputs "cfitsio") "/include")) + #:phases (modify-phases %standard-phases (add-before 'configure 'patch-/bin/sh (lambda _ @@ -89,8 +107,7 @@ in FITS files.") (("/bin/sh") "sh")) #t)) (delete 'install-license-files)) ; installed by ‘make install’ - ;; Both the build and tests fail randomly when run in parallel. - #:parallel-build? #f + ;; Parallel execution of the test suite is not supported. #:parallel-tests? #f)) (home-page "https://www.atnf.csiro.au/people/mcalabre/WCS") (synopsis "Library which implements the FITS WCS standard") @@ -103,15 +120,15 @@ header.") (define-public gnuastro (package (name "gnuastro") - (version "0.6") + (version "0.11") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gnuastro/gnuastro-" - version ".tar.gz")) + version ".tar.lz")) (sha256 (base32 - "16a212j9ghdirm11d25s5q5qw32bkjrxsh3rblfyyv29djch34w6")))) + "0c1yc2qb7vrqad96savfn06rn01izlfz0va738signv93qqj5k3v")))) (inputs `(("cfitsio" ,cfitsio) ("gsl" ,gsl) @@ -119,6 +136,9 @@ header.") ("libtiff" ,libtiff) ("wcslib" ,wcslib) ("zlib" ,zlib))) + (native-inputs + `(("libtool" ,libtool) + ("lzip" ,lzip))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/gnuastro/") (synopsis "Astronomy utilities") @@ -129,16 +149,15 @@ programs for the manipulation and analysis of astronomical data.") (define-public stellarium (package (name "stellarium") - (version "0.18.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Stellarium/" name - "/releases/download/v" version - "/" name "-" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0vjkwrjy22b4wdjkafm63pmb0fck14ffnylpq8xr91ywycw4blrq")))) + (version "0.19.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Stellarium/stellarium" + "/releases/download/v" version + "/stellarium-" version ".tar.gz")) + (sha256 + (base32 "10b05slj5fjakrjb20m68xql68plb64mwn0165dy2fry8z2hbl74")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) @@ -148,9 +167,9 @@ programs for the manipulation and analysis of astronomical data.") ("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 + `(("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 "test" @@ -166,10 +185,107 @@ programs for the manipulation and analysis of astronomical data.") (setenv "QT_QPA_PLATFORM" "offscreen") (setenv "HOME" "/tmp") #t))))) - (home-page "http://stellarium.org/") + (home-page "https://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+))) + +(define-public celestia + (let ((commit "9dbdf29c4ac3d20afb2d9a80d3dff241ecf81dce")) + (package + (name "celestia") + (version (git-version "1.6.1" "815" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/celestiaproject/celestia") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00xibg87l1arzifakgj7s828x9pszcgx7x7ij88a561ig49ryh78")))) + (build-system cmake-build-system) + (native-inputs + `(("perl" ,perl) + ("libgit2" ,libgit2) + ("pkg-config" ,pkg-config) + ("libtool" ,libtool) + ("gettext" ,gettext-minimal))) + (inputs + `(("glu" ,glu) + ("glew" ,glew) + ("libtheora" ,libtheora) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ;; maybe required? + ("mesa" ,mesa) + ;; optional: fmtlib, Eigen3; + ("fmt" ,fmt) + ("eigen" ,eigen) + ;; glut: for glut interface + ("freeglut" ,freeglut))) + (propagated-inputs + `(("lua" ,lua))) + (arguments + `(#:configure-flags '("-DENABLE_GLUT=ON" "-DENABLE_QT=OFF") + #:tests? #f)) ;no tests + (home-page "https://celestia.space/") + (synopsis "Real-time 3D visualization of space") + (description + "This simulation program lets you explore our universe in three +dimensions. Celestia simulates many different types of celestial objects. +From planets and moons to star clusters and galaxies, you can visit every +object in the expandable database and view it from any point in space and +time. The position and movement of solar system objects is calculated +accurately in real time at any rate desired.") + (license license:gpl2+)))) + +(define-public celestia-gtk + (package + (inherit celestia) + (name "celestia-gtk") + (inputs + (append (alist-delete "freeglut" (package-inputs celestia)) + `(("gtk2" ,gtk+-2) + ("gtkglext" ,gtkglext)))) + (arguments + `(#:configure-flags '("-DENABLE_GTK=ON" "-DENABLE_QT=OFF") + #:tests? #f)))) + +(define-public libnova + (package + (name "libnova") + (version "0.16") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.code.sf.net/p/libnova/libnova.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0icwylwkixihzni0kgl0j8dx3qhqvym6zv2hkw2dy6v9zvysrb1b")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-git-version + (lambda _ + (substitute* "./git-version-gen" + (("/bin/sh") (which "sh"))) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (synopsis "Celestial mechanics, astrometry and astrodynamics library") + (description "Libnova is a general purpose, double precision, Celestial +Mechanics, Astrometry and Astrodynamics library.") + (home-page "http://libnova.sourceforge.net/") + (license (list license:lgpl2.0+ + license:gpl2+)))) ; examples/transforms.c & lntest/*.c +