diff mbox series

[bug#66204] gnu: hdf-eos5: Update to 2.0.

Message ID 6bdf4579454a1147bb8430c472ab291e602aea05.1695677238.git.david.elsing@posteo.net
State New
Headers show
Series [bug#66204] gnu: hdf-eos5: Update to 2.0. | expand

Commit Message

David Elsing Sept. 25, 2023, 9:27 p.m. UTC
* gnu/packages/maths.scm (hdf-eos5): Update to 2.0.
[source]: Change URL and add snippet to remove generated files.
[native-inputs]: Add autoconf, automake and libtool.
[inputs]: Replace hdf5-1.8 with hdf5-1.14.
[arguments]: Do not use quasiquote and add the phases
remove-single-module-flag and fix-parallel-tests.
---
 gnu/packages/maths.scm | 57 ++++++++++++++++++++++++++++++------------
 1 file changed, 41 insertions(+), 16 deletions(-)

Comments

Christopher Baines Sept. 30, 2023, 9:39 a.m. UTC | #1
David Elsing <david.elsing@posteo.net> writes:

> * gnu/packages/maths.scm (hdf-eos5): Update to 2.0.
> [source]: Change URL and add snippet to remove generated files.
> [native-inputs]: Add autoconf, automake and libtool.
> [inputs]: Replace hdf5-1.8 with hdf5-1.14.
> [arguments]: Do not use quasiquote and add the phases
> remove-single-module-flag and fix-parallel-tests.
> ---
>  gnu/packages/maths.scm | 57 ++++++++++++++++++++++++++++++------------
>  1 file changed, 41 insertions(+), 16 deletions(-)

Thanks for the patch! I've pushed this to master as
d78bbb912c26e6f9329e82e22dd444488cd87979.

Chris
diff mbox series

Patch

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 6141c09886..f5c925c38f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1741,27 +1741,52 @@  (define-public hdf-eos2
 (define-public hdf-eos5
   (package
     (name "hdf-eos5")
-    (version "1.15")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "ftp://edhs1.gsfc.nasa.gov\
-/edhs/hdfeos5/latest_release/HDF-EOS5." version ".tar.Z"))
-              (sha256
-               (base32
-                "1p83333nzzy8rn5chxlm0hrkjjnhh2w1ji8ac0f9q4xzg838i58i"))
-              (patches (search-patches "hdf-eos5-build-shared.patch"
-                                       "hdf-eos5-remove-gctp.patch"
-                                       "hdf-eos5-fix-szip.patch"
-                                       "hdf-eos5-fortrantests.patch"))))
+    (version "2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://git.earthdata.nasa.gov/projects/DAS/repos/hdfeos5/raw/"
+             "hdf-eos5-" version "-src.tar.gz?at=refs/heads/HDFEOS5_" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0by82zznms00b0d5v4iv8a7jff6xm9hzswsx4mfzw2gyy1q4ghyp"))
+       (modules '((guix build utils)))
+       (snippet
+        #~(begin
+            (for-each delete-file (find-files "." "Makefile\\.in$"))
+            (for-each delete-file (find-files "m4" "^l.*\\.m4$"))
+            (delete-file "configure")
+            (delete-file "aclocal.m4")))))
     (native-inputs
-     (list gfortran))
+     (list autoconf automake gfortran libtool))
     (build-system gnu-build-system)
     (inputs
-     (list hdf5-1.8 zlib gctp))
+     (list hdf5-1.14 zlib gctp))
     (arguments
-     `(#:configure-flags '("--enable-install-include" "--enable-shared"
+     (list
+      #:configure-flags ''("--enable-install-include" "--enable-shared"
                            "CC=h5cc -Df2cFortran" "LIBS=-lgctp")
-       #:parallel-tests? #f))
+      #:parallel-tests? #f
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'remove-single_module-flag
+            (lambda _
+              (substitute* "src/Makefile.am"
+                ((",-single_module") ""))))
+          (add-after 'unpack 'fix-parallel-tests
+            (lambda _
+              (substitute* (find-files "testdrivers" "\\.c$")
+                (("#include <HE5_HdfEosDef.h>" orig)
+                 (string-append "#include <HE5_config.h>\n" orig)))
+              ;; pthread is already linked.
+              (substitute* "testdrivers/threads/Makefile.am"
+                (("(LDADD=\\$\\(LIBHDFEOS5\\) \\$\\(LIBGCTP\\)) pthread" _ rest)
+                 rest))
+              ;; This file is missing in the testdrivers/threads directory.
+              (copy-file "testdrivers/point/simple.txt"
+                         "testdrivers/threads/simple.txt"))))))
     (synopsis "HDF5-based data format for NASA's Earth Observing System")
     (description
      "HDF-EOS5 is a software library built on HDF5 to support the construction