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?