diff mbox series

[bug#62306,v2] gnu: Add phd2.

Message ID 20230327084649.5633-1-sharlatanus@gmail.com
State New
Headers show
Series [bug#62306,v2] gnu: Add phd2. | expand

Commit Message

Sharlatan Hellseher March 27, 2023, 8:46 a.m. UTC
* gnu/packages/astronomy.scm (phd2): New variable.
---
 gnu/packages/astronomy.scm | 70 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

Comments

Maxim Cournoyer April 11, 2023, 3:56 p.m. UTC | #1
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 mbox series

Patch

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")