guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add hdf4


From: Ludovic Courtès
Subject: Re: [PATCH] gnu: Add hdf4
Date: Mon, 30 May 2016 00:07:41 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hello,

Jeremy Robst <address@hidden> skribis:

> Here's the patch as an attachment - sorry for the hassle. I will try
> and work out what's going wrong so I can send proper patches in
> future.

No problem!

I tried the attached patch, which includes mostly cosmetic changes
compared to the one you posted.  However, I stumble upon test failures
(on x86_64, with Linux-libre 4.6.0):

--8<---------------cut here---------------start------------->8---
----------------------------
hdftest  Test Log
----------------------------
Testing create/read/write compressed datasets (tcomp.c)                PASSED
Testing create/read/write chunked datasets (tchunk.c)                  PASSED
Testing reading of netCDF file using the SDxxx inteface (tnetcdf.c)    PASSED
Testing functionality of dimensions (tdim.c)                           PASSED
Testing functions involving empty data sets (temptySDSs.c)             PASSED
Testing various setting attribute features (tattributes.c)             PASSED
Testing getting data size of special data (tdatasizes.c)               PASSED
Testing getting location info of data (tdatainfo.c)                    PASSED
Testing getting location info of attr and annot data (tattdatainfo.c)  PASSED
Testing a mix of SD, V, and VS functions (tmixed_apis.c)               PASSED
Testing miscellaneous file related functions (tfile.c)                *** 
Routine test_maxopenfiles: SDstart FAILED at line 285 ***
*** Routine test_maxopenfiles: SDgetfilename FAILED at line 292 ***
SDgetfilename: incorrect file being opened - expected <file5>, retrieved <file4>
*** Routine test_maxopenfiles: SDend FAILED at line 305 ***
Testing various SDS' properties (tsdsprops.c)                          PASSED
Testing various coordinate variable features (tcoordvar.c)             PASSED
Testing szip compression for datasets (tszip.c)                        PASSED
*** HDF-SD test fails ***
Makefile:1169: recipe for target 'hdftest.chkexe_' failed
make[5]: *** [hdftest.chkexe_] Error 1
make[5]: *** Waiting for unfinished jobs....
Finished testing testmfhdf.sh 
============================
testmfhdf.sh  Test Log
============================
=============================
Running mfhdf tests
=============================
=============================
HDF-SD C interface tests
=============================
Testing create/read/write compressed datasets (tcomp.c)                PASSED
Testing create/read/write chunked datasets (tchunk.c)                  PASSED
Testing reading of netCDF file using the SDxxx inteface (tnetcdf.c)    PASSED
Testing functionality of dimensions (tdim.c)                           PASSED
Testing functions involving empty data sets (temptySDSs.c)             PASSED
Testing various setting attribute features (tattributes.c)             PASSED
Testing getting data size of special data (tdatasizes.c)               PASSED
Testing getting location info of data (tdatainfo.c)                    PASSED
Testing getting location info of attr and annot data (tattdatainfo.c)  PASSED
Testing a mix of SD, V, and VS functions (tmixed_apis.c)               PASSED
Testing miscellaneous file related functions (tfile.c)                *** 
Routine test_maxopenfiles: SDstart FAILED at line 285 ***
*** Routine test_maxopenfiles: SDstart FAILED at line 285 ***
*** Routine test_maxopenfiles: SDstart FAILED at line 285 ***

[...]

SDgetfilename: incorrect file being opened - expected <file67>, retrieved 
<file57>
*** Routine test_maxopenfiles: SDgetfilename FAILED at line 292 ***
SDgetfilename: incorrect file being opened - expected <file68>, retrieved 
<file57>
*** Routine test_maxopenfiles: SDgetfilename FAILED at line 292 ***
SDgetfilename: incorrect file being opened - expected <file69>, retrieved 
<file57>
*** Routine test_maxopenfiles: SDgetfilename FAILED at line 292 ***
--8<---------------cut here---------------start------------->8---

Any ideas?

Thanks,
Ludo’.

>From 77afb922f470ddc97819dd8bb623450585fb2e12 Mon Sep 17 00:00:00 2001
From: Jeremy Robst <address@hidden>
Date: Mon, 23 May 2016 17:59:00 +0100
Subject: [PATCH] gnu: Add hdf4.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/maths.scm (hdf4): New variable.
* gnu/packages/patches/hdf4-config-settings.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <address@hidden>
---
 gnu/local.mk                                    |  1 +
 gnu/packages/maths.scm                          | 42 +++++++++++++++++++
 gnu/packages/patches/hdf4-config-settings.patch | 55 +++++++++++++++++++++++++
 3 files changed, 98 insertions(+)
 create mode 100644 gnu/packages/patches/hdf4-config-settings.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index dade736..9d608e8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -533,6 +533,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/gtk2-theme-paths.patch                  \
   %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch       \
   %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
+  %D%/packages/patches/hdf4-config-settings.patch              \
   %D%/packages/patches/hdf5-config-date.patch                  \
   %D%/packages/patches/hop-bigloo-4.0b.patch                   \
   %D%/packages/patches/hop-linker-flags.patch                  \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e11208c..b6e15f9 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2016 Roel Janssen <address@hidden>
 ;;; Copyright © 2016 Kei Kebreau <address@hidden>
 ;;; Copyright © 2016 Ludovic Courtès <address@hidden>
+;;; Copyright © 2016 Jeremy Robst <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -408,6 +409,47 @@ plotting engine by third-party applications like Octave.")
     (license (license:fsf-free
               
"http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright";))))
 
+(define-public hdf4
+  (package
+    (name "hdf4")
+    (version "4.2.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://www.hdfgroup.org/ftp/HDF/releases/HDF"; version
+             "/src/hdf-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "16yr50j845zlfx20skmw3y75ww77akk9gg0affjqkg66ih5r03mv"))
+       (patches (search-patches "hdf4-config-settings.patch"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gfortran" ,gfortran)
+       ("bison" ,bison)
+       ("flex" ,flex)))
+    (inputs
+     `(("zlib" ,zlib)
+       ("libjpeg" ,libjpeg)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-configure
+          (lambda _
+            (substitute*
+                '("mfhdf/hdfimport/testutil.sh.in" "hdf/util/testutil.sh.in")
+              (("/bin/rm") "rm")
+              (("/bin/mkdir") "mkdir"))
+            #t)))))
+    (home-page "https://www.hdfgroup.org/products/hdf4/";)
+    (synopsis
+     "Library and multi-object file format for storing and managing data")
+    (description "HDF4 is a library and multi-object file format for storing
+and managing data between machines.  HDF4 is an older hiearchical data format,
+incompatible with HDF5.")
+    (license (license:non-copyleft
+              
"https://www.hdfgroup.org/ftp/HDF/HDF_Current/src/unpacked/COPYING";))))
+
 (define-public hdf5
   (package
     (name "hdf5")
diff --git a/gnu/packages/patches/hdf4-config-settings.patch 
b/gnu/packages/patches/hdf4-config-settings.patch
new file mode 100644
index 0000000..e79362e
--- /dev/null
+++ b/gnu/packages/patches/hdf4-config-settings.patch
@@ -0,0 +1,55 @@
+Honor SOURCE_DATE_EPOCH when exporting configuraton date.
+Remove unreproducible configuration data.
+
+--- a/configure
++++ b/configure
+@@ -23169,7 +23169,14 @@
+ 
+ 
+ ## Configuration date
+- CONFIG_DATE="`date`"
++ CONFIG_DATE="`date -u`"
++if test -n "$SOURCE_DATE_EPOCH"; then
++  CONFIG_DATE=`date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null \
++               || date -u -r "$SOURCE_DATE_EPOCH" 2>/dev/null`
++  if test -z "$CONFIG_DATE"; then
++    as_fn_error $? "malformed SOURCE_DATE_EPOCH" "$LINENO" 5
++  fi
++fi
+ 
+ ## User doing the configuration
+  CONFIG_USER="address@hidden"
+
+--- a/libhdf4.settings.in
++++ b/libhdf4.settings.in
+@@ -5,17 +5,17 @@
+ -------------------
+                  HDF4 Version: @H4_VERSION@
+                 Configured on: @CONFIG_DATE@
+-                Configured by: @CONFIG_USER@
++                Configured by: guix
+                Configure mode: @CONFIG_MODE@
+-                  Host system: @address@hidden@address@hidden@host_os@
+-              Uname information: @UNAME_INFO@
++                  Host system: guix
++              Uname information: guix
+                     Libraries: @STATIC_SHARED@
+            Installation point: @prefix@
+ 
+ Compiling Options:
+ ------------------
+                Compilation Mode: @CONFIG_MODE@
+-                     C compiler: @CC_VERSION@
++                     C compiler: 
+                          CFLAGS: @CFLAGS@
+                        CPPFLAGS: @CPPFLAGS@
+                Shared Libraries: @enable_shared@
+@@ -29,7 +29,7 @@
+ Languages:
+ ----------
+                         Fortran: @BUILD_FORTRAN@
address@hidden@               Fortran Compiler: @F77_VERSION@
address@hidden@               Fortran Compiler: 
+ @HDF_BUILD_FORTRAN_TRUE@                         FFLAGS: @FFLAGS@
+ 
+ Features:
-- 
2.7.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]