Subject: bug#55935: closed (Re: bug#55935: [PATCH 1/1] gnu: Add casacore)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 23 Jun 2022 21:21:02 +0000

Your bug report

#55935: [PATCH 1/1] gnu: Add casacore

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
55935: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55935
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#55935: [PATCH 1/1] gnu: Add casacore
From: Ludovic Courtès <[email-masked]>
To: Sharlatan Hellseher <[email-masked]>
Cc: [email-masked]
Date: Thu, 23 Jun 2022 23:20:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Sharlatan Hellseher <[email-masked]> skribis:

> From 916bde255b94eab85c10e55104b0e088781ef943 Mon Sep 17 00:00:00 2001
> From: Sharlatan Hellseher <[email-masked]>
> Date: Sun, 12 Jun 2022 22:25:07 +0100
> Subject: [PATCH 1/1] gnu: Add casacore
>
> * gnu/packages/astronomy.scm (casacore): New variable.
>   Modules sorted alphabetically to easy maintannce.
> ---
>  gnu/packages/astronomy.scm | 102 +++++++++++++++++++++++++++++++++++--
>  1 file changed, 97 insertions(+), 5 deletions(-)

Applied with the changes below:

  • use ‘this-package-input’ to refer to the same Python package that
    appears in ‘inputs’;

  • use ‘search-input-file’ rather than ‘which’ for “rm”, which is more
    correct if we ever want to cross-compile it (it makes sure we pick
    “rm” among the inputs rather than among native inputs);

  • remove now-unneeded trailing #t from build phases;

  • change license to ‘gpl2+’ because source file headers explicitly say
    “or any later version”.

Thanks!

Ludo’.

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index a0de5a617f..61c10c985f 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -130,11 +130,11 @@ (define-public casacore
     (build-system cmake-build-system)
     (arguments
      (list
-      ;; NOTE: (Sharlatan-20220611T213043+0100): There are multiple fails in
+      ;; Note: There are multiple failures in
       ;; tests which require additional measures data. They are
       ;; distributed via FTP without any license:
       ;; ftp://ftp.astron.nl/outgoing/Measures/
-      ;; Check how to fix tests.
+      ;; TODO: Check how to fix tests.
       #:tests? #f
       #:parallel-build? #t
       #:configure-flags
@@ -145,25 +145,27 @@ (define-public casacore
               "-DUSE_OPENMP=OFF"
               "-DUSE_THREADS=ON"
               (string-append "-DDATA_DIR=" #$output "/data")
-              (string-append "-DPYTHON3_EXECUTABLE=" #$python "/bin")
-              (string-append "-DPYTHON3_INCLUDE_DIR=" #$python "/include")
-              (string-append "-DPYTHON3_LIBRARY=" #$python "/lib"))
+              (string-append "-DPYTHON3_EXECUTABLE="
+                             #$(this-package-input "python") "/bin")
+              (string-append "-DPYTHON3_INCLUDE_DIR="
+                             #$(this-package-input "python") "/include")
+              (string-append "-DPYTHON3_LIBRARY="
+                             #$(this-package-input "python") "/lib"))
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'set-env
             (lambda _
               (setenv "HOME" "/tmp")))
           (add-after 'unpack 'use-absolute-rm
-            (lambda _
+            (lambda* (#:key inputs #:allow-other-keys)
               (substitute* "casa/OS/test/tFile.run"
-                (("/bin/rm") (which "rm")))
-              #t))
+                (("/bin/rm")
+                 (search-input-file inputs "/bin/rm")))))
           (add-after 'unpack 'use-absolute-python3
             (lambda _
               (substitute* "build-tools/casacore_floatcheck"
                 (("#!/usr/bin/env python")
-                 (string-append "#!" #$python "/bin/python3")))
-              #t))
+                 (string-append "#!" (which "python3"))))))
           ;; NOTE: (Sharlatan-20220611T200837+0100): Workaround for casacore
           ;; tests stuck with missing "qsub" issue.
           ;; https://github.com/casacore/casacore/issues/1122
@@ -171,8 +173,7 @@ (define-public casacore
             (lambda _
               (substitute* "build-tools/casacore_assay"
                 (("QSUBP=.*$") "QSUBP=\n")
-                (("YODP=.*$") "YODP=\n"))
-              #t)))))
+                (("YODP=.*$") "YODP=\n")))))))
     (native-inputs
      (list bison
            boost
@@ -194,10 +195,10 @@ (define-public casacore
     (synopsis "Suite of C++ libraries for radio astronomy data processing")
     (description
      "The casacore package contains the core libraries of the old
-@code{AIPS++/CASA} (Common Astronomy Software Application) package.  This split
-was made to get a better separation of core libraries and applications.
-(CASA @url{https://casa.nrao.edu/}) is now built on top of Casacore.")
-    (license license:gpl2)))
+AIPS++/CASA (Common Astronomy Software Application) package.  This split was
+made to get a better separation of core libraries and applications.
+@url{https://casa.nrao.edu/, CASA} is now built on top of Casacore.")
+    (license license:gpl2+)))
 
 (define-public cfitsio
   (package

Subject: [PATCH 1/1] gnu: Add casacore
From: Sharlatan Hellseher <[email-masked]>
To: [email-masked]
Date: Sun, 12 Jun 2022 22:33:13 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Guix team!

Here is one more core Astronomical library (peeped at
https://blends.debian.org/astro/tasks/, which I use as guidiing for
packing to Guix)

Sharlatan Hellseher (1):
  gnu: Add casacore

 gnu/packages/astronomy.scm | 102 +++++++++++++++++++++++++++++++++++--
 1 file changed, 97 insertions(+), 5 deletions(-)

base-commit: 0006a9a83a568715f7f30fbb9abb4c78da06a886

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.
From 916bde255b94eab85c10e55104b0e088781ef943 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 12 Jun 2022 22:25:07 +0100
Subject: [PATCH 1/1] gnu: Add casacore

* gnu/packages/astronomy.scm (casacore): New variable.
  Modules sorted alphabetically to easy maintannce.
---
 gnu/packages/astronomy.scm | 102 +++++++++++++++++++++++++++++++++++--
 1 file changed, 97 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 93c45d5780..a0de5a617f 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -26,18 +26,15 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages astronomy)
-  #:use-module (guix packages)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix download)
-  #:use-module (guix git-download)
-  #:use-module (guix utils)
-  #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
@@ -49,16 +46,19 @@ (define-module (gnu packages astronomy)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages maths)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages netpbm)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages python-check)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-science)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages readline)
   #:use-module (gnu packages time)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages video)
@@ -66,9 +66,15 @@ (define-module (gnu packages astronomy)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
+  #:use-module (guix download)
+  #:use-module (guix gexp)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1))
 
@@ -107,6 +113,92 @@ (define-public calceph
 @end itemize\n")
     (license license:cecill)))
 
+(define-public casacore
+  (package
+    (name "casacore")
+    (version "3.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/casacore/casacore")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32
+         "05ar5gykgh4dm826xplj5ri5rw7znhxrvin2l67a3mjwfys7r2a0"))
+       (file-name (git-file-name name version))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      ;; NOTE: (Sharlatan-20220611T213043+0100): There are multiple fails in
+      ;; tests which require additional measures data. They are
+      ;; distributed via FTP without any license:
+      ;; ftp://ftp.astron.nl/outgoing/Measures/
+      ;; Check how to fix tests.
+      #:tests? #f
+      #:parallel-build? #t
+      #:configure-flags
+      #~(list "-DBUILD_PYTHON3=ON"
+              "-DBUILD_PYTHON=OFF"
+              "-DBUILD_TESTING=TRUE"
+              "-DUSE_HDF5=ON"
+              "-DUSE_OPENMP=OFF"
+              "-DUSE_THREADS=ON"
+              (string-append "-DDATA_DIR=" #$output "/data")
+              (string-append "-DPYTHON3_EXECUTABLE=" #$python "/bin")
+              (string-append "-DPYTHON3_INCLUDE_DIR=" #$python "/include")
+              (string-append "-DPYTHON3_LIBRARY=" #$python "/lib"))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'set-env
+            (lambda _
+              (setenv "HOME" "/tmp")))
+          (add-after 'unpack 'use-absolute-rm
+            (lambda _
+              (substitute* "casa/OS/test/tFile.run"
+                (("/bin/rm") (which "rm")))
+              #t))
+          (add-after 'unpack 'use-absolute-python3
+            (lambda _
+              (substitute* "build-tools/casacore_floatcheck"
+                (("#!/usr/bin/env python")
+                 (string-append "#!" #$python "/bin/python3")))
+              #t))
+          ;; NOTE: (Sharlatan-20220611T200837+0100): Workaround for casacore
+          ;; tests stuck with missing "qsub" issue.
+          ;; https://github.com/casacore/casacore/issues/1122
+          (add-after 'unpack 'patch-pre-test-checks
+            (lambda _
+              (substitute* "build-tools/casacore_assay"
+                (("QSUBP=.*$") "QSUBP=\n")
+                (("YODP=.*$") "YODP=\n"))
+              #t)))))
+    (native-inputs
+     (list bison
+           boost
+           flex
+           readline))
+    (inputs
+     (list cfitsio
+           fftw
+           fftwf
+           gfortran
+           hdf5
+           lapack
+           ncurses
+           openblas
+           python
+           python-numpy
+           wcslib))
+    (home-page "http://casacore.github.io/casacore/")
+    (synopsis "Suite of C++ libraries for radio astronomy data processing")
+    (description
+     "The casacore package contains the core libraries of the old
+@code{AIPS++/CASA} (Common Astronomy Software Application) package.  This split
+was made to get a better separation of core libraries and applications.
+(CASA @url{https://casa.nrao.edu/}) is now built on top of Casacore.")
+    (license license:gpl2)))
+
 (define-public cfitsio
   (package
     (name "cfitsio")
-- 
2.36.0