* [bug#50887] [PATCH] gnu: Add python-fitsio.
@ 2021-09-29 8:47 Konrad Hinsen
2021-10-01 14:05 ` Xinglu Chen
0 siblings, 1 reply; 4+ messages in thread
From: Konrad Hinsen @ 2021-09-29 8:47 UTC (permalink / raw)
To: 50887
* gnu/packages/astronomy.scm (python-fitsio): New variable.
---
gnu/packages/astronomy.scm | 43 ++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index a3f7d5cbf4..4fba3aae99 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -96,6 +96,49 @@ in FITS files.")
(license (license:non-copyleft "file://License.txt"
"See License.txt in the distribution."))))
+(define-public python-fitsio
+ (package
+ (name "python-fitsio")
+ (version "1.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fitsio" version))
+ (sha256
+ (base32 "1llql2i6xr9lkdl81jx5nvz80kspamvira90546y32ldy551hq1l"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unbundle-cfitsio
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((cfitsio (assoc-ref inputs "cfitsio"))
+ (includedir (string-append "\"" cfitsio "/include\""))
+ (libdir (string-append "\"" cfitsio "/lib\"")))
+ ;; Use Guix' cfitsio instead of the bundled one
+ (substitute* "setup.py"
+ (("self.use_system_fitsio = False") "pass")
+ (("self.system_fitsio_includedir = None") "pass")
+ (("self.system_fitsio_libdir = None") "pass")
+ (("self.use_system_fitsio") "True")
+ (("self.system_fitsio_includedir") includedir)
+ (("self.system_fitsio_libdir") libdir)))
+ ;; The bzip2 test fails because Guix' cfitsio
+ ;; is built without bzip2 support.
+ (substitute* "fitsio/test.py"
+ (("'SKIP_BZIP_TEST' in os.environ") "True"))
+ #t)))))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("cfitsio" ,cfitsio)))
+ (home-page "https://github.com/esheldon/fitsio")
+ (synopsis
+ "Python library to read from and write to FITS files")
+ (description
+ "A compact Python library for reading from and writing to FITS files,
+based on the CFITSIO library.")
+ (license license:gpl2)))
+
(define-public qfits
(package
(name "qfits")
--
2.33.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#50887] [PATCH] gnu: Add python-fitsio.
2021-09-29 8:47 [bug#50887] [PATCH] gnu: Add python-fitsio Konrad Hinsen
@ 2021-10-01 14:05 ` Xinglu Chen
2021-10-01 17:03 ` Konrad Hinsen
0 siblings, 1 reply; 4+ messages in thread
From: Xinglu Chen @ 2021-10-01 14:05 UTC (permalink / raw)
To: Konrad Hinsen, 50887
[-- Attachment #1: Type: text/plain, Size: 3493 bytes --]
On Wed, Sep 29 2021, Konrad Hinsen wrote:
> * gnu/packages/astronomy.scm (python-fitsio): New variable.
> ---
> gnu/packages/astronomy.scm | 43 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
> index a3f7d5cbf4..4fba3aae99 100644
> --- a/gnu/packages/astronomy.scm
> +++ b/gnu/packages/astronomy.scm
> @@ -96,6 +96,49 @@ in FITS files.")
> (license (license:non-copyleft "file://License.txt"
> "See License.txt in the distribution."))))
>
> +(define-public python-fitsio
> + (package
> + (name "python-fitsio")
> + (version "1.1.5")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "fitsio" version))
> + (sha256
> + (base32 "1llql2i6xr9lkdl81jx5nvz80kspamvira90546y32ldy551hq1l"))))
> + (build-system python-build-system)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'unbundle-cfitsio
> + (lambda* (#:key inputs #:allow-other-keys)
> + (let* ((cfitsio (assoc-ref inputs "cfitsio"))
> + (includedir (string-append "\"" cfitsio "/include\""))
> + (libdir (string-append "\"" cfitsio "/lib\"")))
> + ;; Use Guix' cfitsio instead of the bundled one
> + (substitute* "setup.py"
> + (("self.use_system_fitsio = False") "pass")
> + (("self.system_fitsio_includedir = None") "pass")
> + (("self.system_fitsio_libdir = None") "pass")
> + (("self.use_system_fitsio") "True")
> + (("self.system_fitsio_includedir") includedir)
> + (("self.system_fitsio_libdir") libdir)))
Maybe the bundled cfitsio should also be deleted in a ‘snippet’ in the ‘origin’?
> + ;; The bzip2 test fails because Guix' cfitsio
> + ;; is built without bzip2 support.
> + (substitute* "fitsio/test.py"
> + (("'SKIP_BZIP_TEST' in os.environ") "True"))
This part should probably be put in a separate phase, maybe you could
call it ‘skip-bzip-test’.
> + #t)))))
Phases don’t need to return #t.
> + (propagated-inputs
> + `(("python-numpy" ,python-numpy)
> + ("cfitsio" ,cfitsio)))
> + (home-page "https://github.com/esheldon/fitsio")
> + (synopsis
> + "Python library to read from and write to FITS files")
> + (description
> + "A compact Python library for reading from and writing to FITS files,
> +based on the CFITSIO library.")
The sentence is lacking a subject; the meaning of “FITS” should be
written (I had no idea what it meant). I suggest something like
This package provides a Python library for reading from and writing to
@acronym{FITS, Flexible Image Transport System} files using the
CFITSIO library. Among other things, it can
@itemize
@item read and write image, binary, and ascii table extensions;
@item read arbitrary subsets of tables in a lazy manner;
@item query the rows and columns of a table;
@item read and write header keywords;
@item read and write Gzip files directory;
@item read Zip and Bzip2 files.
@end itemize
> + (license license:gpl2)))
‘LICENSE.txt’ looks like gpl2+
Could you send an updated patch?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* [bug#50887] [PATCH] gnu: Add python-fitsio.
2021-10-01 14:05 ` Xinglu Chen
@ 2021-10-01 17:03 ` Konrad Hinsen
2021-10-04 14:10 ` bug#50887: " Ludovic Courtès
0 siblings, 1 reply; 4+ messages in thread
From: Konrad Hinsen @ 2021-10-01 17:03 UTC (permalink / raw)
To: Xinglu Chen, 50887
[-- Attachment #1: Type: text/plain, Size: 272 bytes --]
Xinglu Chen <public@yoctocell.xyz> writes:
> Could you send an updated patch?
Here it comes. Thanks for the careful code review! I learned a few
things from this: I didn't know about snippets, nor about the subtle
differences between gpl2 and gpl2+.
Thanks,
Konrad.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-python-fitsio.patch --]
[-- Type: text/x-diff, Size: 3294 bytes --]
From c95c0b18b4c2da6af7432a3dcf11c5f9984772f8 Mon Sep 17 00:00:00 2001
From: Konrad Hinsen <konrad.hinsen@fastmail.net>
Date: Wed, 29 Sep 2021 10:47:39 +0200
Subject: [PATCH] gnu: Add python-fitsio.
* gnu/packages/astronomy.scm (python-fitsio): New variable.
---
gnu/packages/astronomy.scm | 65 ++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index a3f7d5cbf4..287cf4a94c 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -96,6 +96,71 @@ in FITS files.")
(license (license:non-copyleft "file://License.txt"
"See License.txt in the distribution."))))
+(define-public python-fitsio
+ (package
+ (name "python-fitsio")
+ (version "1.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "fitsio" version))
+ (sha256
+ (base32 "1llql2i6xr9lkdl81jx5nvz80kspamvira90546y32ldy551hq1l"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Remove the bundled cfitsio
+ `(begin
+ (delete-file-recursively "cfitsio3490")
+ (substitute* "MANIFEST.in"
+ (("recursive-include cfitsio3490.*$\n") ""))
+ #t))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unbundle-cfitsio
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((cfitsio (assoc-ref inputs "cfitsio"))
+ (includedir (string-append "\"" cfitsio "/include\""))
+ (libdir (string-append "\"" cfitsio "/lib\"")))
+ ;; Use Guix' cfitsio instead of the bundled one
+ (substitute* "setup.py"
+ (("self.use_system_fitsio = False") "pass")
+ (("self.system_fitsio_includedir = None") "pass")
+ (("self.system_fitsio_libdir = None") "pass")
+ (("self.use_system_fitsio") "True")
+ (("self.system_fitsio_includedir") includedir)
+ (("self.system_fitsio_libdir") libdir)))))
+ (add-after 'unpack 'skip-bzip2-test
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; The bzip2 test fails because Guix' cfitsio
+ ;; is built without bzip2 support.
+ (substitute* "fitsio/test.py"
+ (("'SKIP_BZIP_TEST' in os.environ") "True")))))))
+ (propagated-inputs
+ `(("python-numpy" ,python-numpy)
+ ("cfitsio" ,cfitsio)))
+ (home-page "https://github.com/esheldon/fitsio")
+ (synopsis
+ "Python library to read from and write to FITS files")
+ (description
+ "This package provides a Python library for reading from and writing
+to @acronym{FITS, Flexible Image Transport System} files using the
+CFITSIO library. Among other things, it can
+
+@itemize
+@item read and write image, binary, and ascii table extensions;
+
+@item read arbitrary subsets of tables in a lazy manner;
+
+@item query the rows and columns of a table;
+
+@item read and write header keywords;
+
+@item read and write Gzip files.
+@end itemize")
+ (license license:gpl2+)))
+
(define-public qfits
(package
(name "qfits")
--
2.33.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#50887: [PATCH] gnu: Add python-fitsio.
2021-10-01 17:03 ` Konrad Hinsen
@ 2021-10-04 14:10 ` Ludovic Courtès
0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2021-10-04 14:10 UTC (permalink / raw)
To: Konrad Hinsen; +Cc: Xinglu Chen, 50887-done
Hi Konrad,
Konrad Hinsen <konrad.hinsen@fastmail.net> skribis:
>>From c95c0b18b4c2da6af7432a3dcf11c5f9984772f8 Mon Sep 17 00:00:00 2001
> From: Konrad Hinsen <konrad.hinsen@fastmail.net>
> Date: Wed, 29 Sep 2021 10:47:39 +0200
> Subject: [PATCH] gnu: Add python-fitsio.
>
> * gnu/packages/astronomy.scm (python-fitsio): New variable.
Applied. Thank you & thanks Xinglu for reviewing!
Ludo’.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-10-04 14:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29 8:47 [bug#50887] [PATCH] gnu: Add python-fitsio Konrad Hinsen
2021-10-01 14:05 ` Xinglu Chen
2021-10-01 17:03 ` Konrad Hinsen
2021-10-04 14:10 ` bug#50887: " Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).