[PATCH] gnu: Add phd2

  • Done
  • quality assurance status badge
Details
2 participants
  • Maxim Cournoyer
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Sharlatan Hellseher
Severity
normal
S
S
Sharlatan Hellseher wrote on 20 Mar 2023 22:50
(address . guix-patches@gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
20230320215028.26102-1-sharlatanus@gmail.com
* gnu/packages/astronomy.scm (phd2): New variable.
---
gnu/packages/astronomy.scm | 71 ++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)

Toggle diff (84 lines)
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 46839c802f..66040ad5f5 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -678,6 +678,77 @@ (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)))
+ (snippet
+ '(begin
+ ;; NOTE: Keep eye on the thirdparty directory as the bundled names
+ ;; change from relase to release.
+ ;;
+ ;; Remove bundles.
+ (with-directory-excursion "thirdparty"
+ (for-each delete-file-recursively
+ '("HID_Utilities"
+ "MallincamGuider-OSX-dylib-source.zip"
+ "VidCapture"
+ "cfitsio-3.47-patched.tar.gz"
+ "cfitsio-README-PHD2.txt"
+ "cfitsio-snprintf.patch"
+ "eigen-eigen-67e894c6cd8f.tar.bz2"
+ "gettext-0.14.4-bin.zip"
+ "gettext-0.14.4-dep.zip"
+ "gtest-1.7.0.zip"
+ "indiclient-44aaf5d3-win32.zip"
+ "libcurl-7.54.0-win32.zip"
+ "libdc1394-2.2.2.tar.gz"
+ "libindi-58b26c584049e1b9ecd55aa5f4a225677a417898.tar.gz"
+ "libusb-1.0.21.tar.bz2"
+ "openssag")))))))
+ (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 to simplify the process of tracking a guide star.")
+ (license license:bsd-3)))
+
(define-public sextractor
(package
(name "sextractor")
--
2.39.2
M
M
Maxim Cournoyer wrote on 21 Mar 2023 20:24
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 62306@debbugs.gnu.org)
87lejpnc17.fsf@gmail.com
Hi,

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

Toggle quote (52 lines)
> * gnu/packages/astronomy.scm (phd2): New variable.
> ---
> gnu/packages/astronomy.scm | 71 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 71 insertions(+)
>
> diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
> index 46839c802f..66040ad5f5 100644
> --- a/gnu/packages/astronomy.scm
> +++ b/gnu/packages/astronomy.scm
> @@ -678,6 +678,77 @@ (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)))
> + (snippet
> + '(begin
> + ;; NOTE: Keep eye on the thirdparty directory as the bundled names
> + ;; change from relase to release.
> + ;;
> + ;; Remove bundles.
> + (with-directory-excursion "thirdparty"
> + (for-each delete-file-recursively
> + '("HID_Utilities"
> + "MallincamGuider-OSX-dylib-source.zip"
> + "VidCapture"
> + "cfitsio-3.47-patched.tar.gz"
> + "cfitsio-README-PHD2.txt"
> + "cfitsio-snprintf.patch"
> + "eigen-eigen-67e894c6cd8f.tar.bz2"
> + "gettext-0.14.4-bin.zip"
> + "gettext-0.14.4-dep.zip"
> + "gtest-1.7.0.zip"
> + "indiclient-44aaf5d3-win32.zip"
> + "libcurl-7.54.0-win32.zip"
> + "libdc1394-2.2.2.tar.gz"
> + "libindi-58b26c584049e1b9ecd55aa5f4a225677a417898.tar.gz"
> + "libusb-1.0.21.tar.bz2"
> + "openssag")))))))

To make maintenance easier, perhaps you could reuse the 'delete-all-but'
procedure from turbovnc or similar? This has the benefit of listing
what is kept (more transparent), and if the things we do care for change
names, we will know.

Could you please send a v2 with this suggestion implemented?

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 21 Mar 2023 20:24
control message for bug #62306
(address . control@debbugs.gnu.org)
87jzz9nc08.fsf@gmail.com
tags 62306 + moreinfo
quit
S
S
Sharlatan Hellseher wrote on 22 Mar 2023 12:04
Re: bug#62306: [PATCH] gnu: Add phd2
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 62306@debbugs.gnu.org)
CAO+9K5qZav6rTZPZJxEWFXXg_wXtekLC=APkX+v=ATk-sU37fw@mail.gmail.com
Hi Maxim,

Thank you for the review. I'll check that procedure and prepare simplified
v2 patch.

Oleg

On Tue, 21 Mar 2023, 19:24 Maxim Cournoyer, <maxim.cournoyer@gmail.com>
wrote:

Toggle quote (69 lines)
> Hi,
>
> Sharlatan Hellseher <sharlatanus@gmail.com> writes:
>
> > * gnu/packages/astronomy.scm (phd2): New variable.
> > ---
> > gnu/packages/astronomy.scm | 71 ++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 71 insertions(+)
> >
> > diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
> > index 46839c802f..66040ad5f5 100644
> > --- a/gnu/packages/astronomy.scm
> > +++ b/gnu/packages/astronomy.scm
> > @@ -678,6 +678,77 @@ (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)))
> > + (snippet
> > + '(begin
> > + ;; NOTE: Keep eye on the thirdparty directory as the bundled
> names
> > + ;; change from relase to release.
> > + ;;
> > + ;; Remove bundles.
> > + (with-directory-excursion "thirdparty"
> > + (for-each delete-file-recursively
> > + '("HID_Utilities"
> > + "MallincamGuider-OSX-dylib-source.zip"
> > + "VidCapture"
> > + "cfitsio-3.47-patched.tar.gz"
> > + "cfitsio-README-PHD2.txt"
> > + "cfitsio-snprintf.patch"
> > + "eigen-eigen-67e894c6cd8f.tar.bz2"
> > + "gettext-0.14.4-bin.zip"
> > + "gettext-0.14.4-dep.zip"
> > + "gtest-1.7.0.zip"
> > + "indiclient-44aaf5d3-win32.zip"
> > + "libcurl-7.54.0-win32.zip"
> > + "libdc1394-2.2.2.tar.gz"
> > +
> "libindi-58b26c584049e1b9ecd55aa5f4a225677a417898.tar.gz"
> > + "libusb-1.0.21.tar.bz2"
> > + "openssag")))))))
>
> To make maintenance easier, perhaps you could reuse the 'delete-all-but'
> procedure from turbovnc or similar? This has the benefit of listing
> what is kept (more transparent), and if the things we do care for change
> names, we will know.
>
> Could you please send a v2 with this suggestion implemented?
>
> --
> Thanks,
> Maxim
>
Attachment: file
S
S
Sharlatan Hellseher wrote on 27 Mar 2023 10:46
[PATCH v2] gnu: Add phd2.
(address . 62306@debbugs.gnu.org)(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)
20230327084649.5633-1-sharlatanus@gmail.com
* gnu/packages/astronomy.scm (phd2): New variable.
---
gnu/packages/astronomy.scm | 70 ++++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)

Toggle diff (83 lines)
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")
--
2.39.2
S
S
Sharlatan Hellseher wrote on 9 Apr 2023 21:00
(address . 62306@debbugs.gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
CAO+9K5p89TYw1=B0iEREbaS9_3=mt1iqeKnFf-6R0Y-TagouFw@mail.gmail.com
Hi,
Just a gentle ping on the status of this pach. Let me know if it
requirers to be modified more.
Thanks,
Oleg
--
… ??? ????? - ???????????? ?????????????? ?????? ??????? ????????
????? ????? ????? ? ??? ??????, ??????????? ????? ???????, ??
?????????? ?? ? ????????? ??????? ????? ? ?????????????????.
M
M
Maxim Cournoyer wrote on 11 Apr 2023 17:56
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 62306-done@debbugs.gnu.org)
87jzyimmzt.fsf_-_@gmail.com
Hi,

Sharlatan Hellseher <sharlatanus@gmail.com> writes:

Toggle quote (87 lines)
> * 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:

Toggle snippet (77 lines)
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

And installed it! Thank you!

--
Thanks,
Maxim
Closed
?