From 77afb922f470ddc97819dd8bb623450585fb2e12 Mon Sep 17 00:00:00 2001 From: Jeremy Robst 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 --- 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 ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016 Jeremy Robst ;;; ;;; 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="`whoami`@`hostname`" + +--- 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: @host_cpu@-@host_vendor@-@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@ +-@HDF_BUILD_FORTRAN_TRUE@ Fortran Compiler: @F77_VERSION@ ++@HDF_BUILD_FORTRAN_TRUE@ Fortran Compiler: + @HDF_BUILD_FORTRAN_TRUE@ FFLAGS: @FFLAGS@ + + Features: -- 2.7.4