Message ID | 20230327084649.5633-1-sharlatanus@gmail.com |
---|---|
State | New |
Headers | show |
Series | [bug#62306,v2] gnu: Add phd2. | expand |
Hi, Sharlatan Hellseher <sharlatanus@gmail.com> writes: > * gnu/packages/astronomy.scm (phd2): New variable. > --- > gnu/packages/astronomy.scm | 70 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 70 insertions(+) > > diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm > index 46839c802f..6ca3c4f4e7 100644 > --- a/gnu/packages/astronomy.scm > +++ b/gnu/packages/astronomy.scm > @@ -678,6 +678,76 @@ (define-public gnuastro > programs for the manipulation and analysis of astronomical data.") > (license license:gpl3+))) > > +(define-public phd2 > + (package > + (name "phd2") > + (version "2.6.11") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/OpenPHDGuiding/phd2") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "0n87xsv9gzrwk1ygws4vw397ffq40xybp5b3c3bd5kcmff0avaw9")) > + (modules '((guix build utils) > + (ice-9 ftw) > + (srfi srfi-26))) > + (snippet > + #~(begin > + ;; TODO: This snippet is sourced from > + ;; guix/gnu/packages/vnc.scm. It might be merged with > + ;; `delete-file-recursively' which can have `ignore' optional > + ;; argument. > + (define (delete-all-but directory . preserve) > + (define (directory? x) > + (and=> (stat x #f) > + (compose (cut eq? 'directory <>) stat:type))) > + (with-directory-excursion directory > + (let* ((pred > + (negate (cut member <> (append '("." "..") preserve)))) > + (items (scandir "." pred))) > + (for-each (lambda (item) > + (if (directory? item) > + (delete-file-recursively item) > + (delete-file item))) > + items)))) > + ;; XXX: Check this list of ignored items in next release. > + (delete-all-but "thirdparty" "thirdparty.cmake"))))) > + (build-system cmake-build-system) > + (arguments > + (list > + #:configure-flags > + #~(list "-DOPENSOURCE_ONLY=yes" > + "-DUSE_SYSTEM_CFITSIO=yes" > + "-DUSE_SYSTEM_EIGEN3=yes" > + "-DUSE_SYSTEM_GTEST=yes" > + "-DUSE_SYSTEM_LIBINDI=yes" > + "-DUSE_SYSTEM_LIBUSB=yes"))) > + (native-inputs > + (list gettext-minimal > + googletest > + perl > + pkg-config > + python-wrapper)) > + (inputs > + (list cfitsio > + curl-minimal > + eigen > + gtk+ > + indi > + libnova > + libusb > + wxwidgets > + zlib)) > + (home-page "https://openphdguiding.org") > + (synopsis "Teleskope guiding software") > + (description > + "PHD2 is the enhanced, second generation version of the PHD guiding software > +from Stark Labs.") > + (license license:bsd-3))) > + > (define-public sextractor > (package > (name "sextractor") I've taken the liberty to apply the following cosmetic adjustments: --8<---------------cut here---------------start------------->8--- 1 file changed, 10 insertions(+), 16 deletions(-) gnu/packages/astronomy.scm | 26 ++++++++++---------------- modified gnu/packages/astronomy.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2019 by Amar Singh <nly@disroot.org> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> ;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> -;;; Copyright © 2021, 2022 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2021, 2022, 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> @@ -696,10 +696,7 @@ (define-public phd2 (srfi srfi-26))) (snippet #~(begin - ;; TODO: This snippet is sourced from - ;; guix/gnu/packages/vnc.scm. It might be merged with - ;; `delete-file-recursively' which can have `ignore' optional - ;; argument. + ;; XXX: 'delete-all-but' is copied from the turbovnc package. Rationale: the suggestion to enhance delete-file-recursively would be better discussed on guix-devel. (define (delete-all-but directory . preserve) (define (directory? x) (and=> (stat x #f) @@ -713,27 +710,24 @@ (define (directory? x) (delete-file-recursively item) (delete-file item))) items)))) - ;; XXX: Check this list of ignored items in next release. (delete-all-but "thirdparty" "thirdparty.cmake"))))) Rationale: we're safe by default. If the package breaks on a version update, its maintainer will be forced into looking into that :-). (build-system cmake-build-system) (arguments - (list - #:configure-flags - #~(list "-DOPENSOURCE_ONLY=yes" - "-DUSE_SYSTEM_CFITSIO=yes" - "-DUSE_SYSTEM_EIGEN3=yes" - "-DUSE_SYSTEM_GTEST=yes" - "-DUSE_SYSTEM_LIBINDI=yes" - "-DUSE_SYSTEM_LIBUSB=yes"))) + (list #:configure-flags #~(list "-DOPENSOURCE_ONLY=yes" + "-DUSE_SYSTEM_CFITSIO=yes" + "-DUSE_SYSTEM_EIGEN3=yes" + "-DUSE_SYSTEM_GTEST=yes" + "-DUSE_SYSTEM_LIBINDI=yes" + "-DUSE_SYSTEM_LIBUSB=yes"))) Stylistic. (native-inputs (list gettext-minimal googletest perl pkg-config - python-wrapper)) + python)) (inputs (list cfitsio - curl-minimal + curl curl-minimal doesn't exist anymore. It had long been deprecated (2020). eigen gtk+ indi --8<---------------cut here---------------end--------------->8--- And installed it! Thank you!
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 46839c802f..6ca3c4f4e7 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -678,6 +678,76 @@ (define-public gnuastro programs for the manipulation and analysis of astronomical data.") (license license:gpl3+))) +(define-public phd2 + (package + (name "phd2") + (version "2.6.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenPHDGuiding/phd2") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n87xsv9gzrwk1ygws4vw397ffq40xybp5b3c3bd5kcmff0avaw9")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-26))) + (snippet + #~(begin + ;; TODO: This snippet is sourced from + ;; guix/gnu/packages/vnc.scm. It might be merged with + ;; `delete-file-recursively' which can have `ignore' optional + ;; argument. + (define (delete-all-but directory . preserve) + (define (directory? x) + (and=> (stat x #f) + (compose (cut eq? 'directory <>) stat:type))) + (with-directory-excursion directory + (let* ((pred + (negate (cut member <> (append '("." "..") preserve)))) + (items (scandir "." pred))) + (for-each (lambda (item) + (if (directory? item) + (delete-file-recursively item) + (delete-file item))) + items)))) + ;; XXX: Check this list of ignored items in next release. + (delete-all-but "thirdparty" "thirdparty.cmake"))))) + (build-system cmake-build-system) + (arguments + (list + #:configure-flags + #~(list "-DOPENSOURCE_ONLY=yes" + "-DUSE_SYSTEM_CFITSIO=yes" + "-DUSE_SYSTEM_EIGEN3=yes" + "-DUSE_SYSTEM_GTEST=yes" + "-DUSE_SYSTEM_LIBINDI=yes" + "-DUSE_SYSTEM_LIBUSB=yes"))) + (native-inputs + (list gettext-minimal + googletest + perl + pkg-config + python-wrapper)) + (inputs + (list cfitsio + curl-minimal + eigen + gtk+ + indi + libnova + libusb + wxwidgets + zlib)) + (home-page "https://openphdguiding.org") + (synopsis "Teleskope guiding software") + (description + "PHD2 is the enhanced, second generation version of the PHD guiding software +from Stark Labs.") + (license license:bsd-3))) + (define-public sextractor (package (name "sextractor")