mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
gnu: Add hdf-eos5.
* gnu/packages/maths.scm (hdf-eos5): New variable. * gnu/packages/patches/hdf-eos5-build-shared.patch: New file. * gnu/packages/patches/hdf-eos5-remove-gctp.patch: New file. * gnu/packages/patches/hdf-eos5-fix-szip.patch: New file. * gnu/packages/patches/hdf-eos5-fortrantests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patches. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
b282c78192
commit
0f43f8354c
6 changed files with 313 additions and 0 deletions
|
@ -571,6 +571,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
%D%/packages/patches/hdf5-config-date.patch \
|
||||
%D%/packages/patches/hdf-eos5-build-shared.patch \
|
||||
%D%/packages/patches/hdf-eos5-remove-gctp.patch \
|
||||
%D%/packages/patches/hdf-eos5-fix-szip.patch \
|
||||
%D%/packages/patches/hdf-eos5-fortrantests.patch \
|
||||
%D%/packages/patches/higan-remove-march-native-flag.patch \
|
||||
%D%/packages/patches/hop-bigloo-4.0b.patch \
|
||||
%D%/packages/patches/hop-linker-flags.patch \
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
|
||||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -483,6 +484,42 @@ (define-public hdf5
|
|||
(license (license:x11-style
|
||||
"http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING"))))
|
||||
|
||||
(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"))))
|
||||
(native-inputs
|
||||
`(("gfortran" ,gfortran)))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("hdf5" ,hdf5)
|
||||
("zlib" ,zlib)
|
||||
("gctp" ,gctp)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-install-include" "--enable-shared"
|
||||
"CC=h5cc -Df2cFortran" "LIBS=-lgctp")
|
||||
#:parallel-tests? #f))
|
||||
(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
|
||||
of data structures used in NASA's Earth Observing System (Grid, Point and
|
||||
Swath).")
|
||||
(home-page "http://www.hdfeos.org/software/library.php#HDF-EOS5")
|
||||
|
||||
;; Source files carry a permissive license header.
|
||||
(license (license:non-copyleft home-page))))
|
||||
|
||||
(define-public hdf5-parallel-openmpi
|
||||
(package (inherit hdf5)
|
||||
(name "hdf5-parallel-openmpi")
|
||||
|
|
31
gnu/packages/patches/hdf-eos5-build-shared.patch
Normal file
31
gnu/packages/patches/hdf-eos5-build-shared.patch
Normal file
|
@ -0,0 +1,31 @@
|
|||
Make shared library linking work.
|
||||
---
|
||||
src/Makefile.in | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index 86880e5..24efffe 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -72,7 +72,7 @@ LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CFLAGS) $(CFLAGS) -DH5_USE_16_API
|
||||
CCLD = $(CC)
|
||||
-LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
+LINK = HDF5_USE_SHLIB=yes $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
SOURCES = $(libhe5_hdfeos_la_SOURCES)
|
||||
DIST_SOURCES = $(libhe5_hdfeos_la_SOURCES)
|
||||
@@ -124,9 +124,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
|
||||
-# Set LDFLAGS to allow the HDF-EOS library to use extern variables from
|
||||
-# HDF5
|
||||
-LDFLAGS = -Wl,-single_module
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
--
|
||||
2.10.0
|
||||
|
30
gnu/packages/patches/hdf-eos5-fix-szip.patch
Normal file
30
gnu/packages/patches/hdf-eos5-fix-szip.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
Ill-placed #endif causes missing symbol errors when compiling without
|
||||
szip. Reported to upstream maintainer.
|
||||
---
|
||||
src/EHapi.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/EHapi.c b/src/EHapi.c
|
||||
index 46a9b5c..208f447 100755
|
||||
--- a/src/EHapi.c
|
||||
+++ b/src/EHapi.c
|
||||
@@ -11379,6 +11379,7 @@ int HE5_szip_can_encode(void )
|
||||
return(-1);
|
||||
}
|
||||
|
||||
+#endif /* H5_HAVE_FILTER_SZIP */
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------|
|
||||
@@ -11509,8 +11510,6 @@ HE5_EHHEisHE5(char *filename)
|
||||
}
|
||||
}
|
||||
|
||||
-#endif /* H5_HAVE_FILTER_SZIP */
|
||||
-
|
||||
|
||||
#ifndef __cplusplus
|
||||
|
||||
--
|
||||
2.10.0
|
||||
|
156
gnu/packages/patches/hdf-eos5-fortrantests.patch
Normal file
156
gnu/packages/patches/hdf-eos5-fortrantests.patch
Normal file
|
@ -0,0 +1,156 @@
|
|||
Fix fortran line length/indentation issues in Fortran test programs.
|
||||
Reported to upstream maintainer.
|
||||
|
||||
diff --git a/samples/he5_gd_writedataF_32.f b/samples/he5_gd_writedataF_32.f
|
||||
index 515edf9..9c86299 100755
|
||||
--- a/samples/he5_gd_writedataF_32.f
|
||||
+++ b/samples/he5_gd_writedataF_32.f
|
||||
@@ -77,26 +77,26 @@ c ------------------------------
|
||||
|
||||
attr4 = "ABCDEFGH"
|
||||
count(1) = 8
|
||||
- status = he5_gdwrattr(gdid,"GLOBAL_CHAR_ATTR",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_gdwrattr(gdid,"GLOBAL_CHAR_ATTR"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
write(*,*) 'Status returned by he5_gdwrattr(): ',status
|
||||
|
||||
attr4 = "111"
|
||||
count(1) = 3
|
||||
- status = he5_gdwrgattr(gdid,"GLOBAL_CHAR_ATTR_1",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_gdwrgattr(gdid,"GLOBAL_CHAR_ATTR_1"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
write(*,*) 'Status returned by he5_gdwrgattr(): ',status
|
||||
|
||||
attr4 = "222222"
|
||||
count(1) = 6
|
||||
- status = he5_ehwrglatt(gdfid,"GLOBAL_CHAR_ATTR_2",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_ehwrglatt(gdfid,"GLOBAL_CHAR_ATTR_2"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
write(*,*) 'Status returned by he5_ehwrglatt(): ',status
|
||||
|
||||
attr5 = "abcdefgh111111111111"
|
||||
count(1) = 20
|
||||
- status = he5_gdwrlattr(gdid,"Vegetation","LocalAttribute_0",
|
||||
- 1 HE5T_NATIVE_CHAR,count,attr5)
|
||||
+ status = he5_gdwrlattr(gdid,"Vegetation"
|
||||
+ & ,"LocalAttribute_0",HE5T_NATIVE_CHAR,count,attr5)
|
||||
write(*,*) 'Status returned by he5_gdwrlattr(): ',status
|
||||
|
||||
endif
|
||||
diff --git a/samples/he5_gd_writedataF_64.f b/samples/he5_gd_writedataF_64.f
|
||||
index eff04f5..62a7398 100755
|
||||
--- a/samples/he5_gd_writedataF_64.f
|
||||
+++ b/samples/he5_gd_writedataF_64.f
|
||||
@@ -77,26 +77,26 @@ c ------------------------------
|
||||
|
||||
attr4 = "ABCDEFGH"
|
||||
count(1) = 8
|
||||
- status = he5_gdwrattr(gdid,"GLOBAL_CHAR_ATTR",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_gdwrattr(gdid,"GLOBAL_CHAR_ATTR"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
write(*,*) 'Status returned by he5_gdwrattr(): ',status
|
||||
|
||||
attr4 = "111"
|
||||
count(1) = 3
|
||||
- status = he5_gdwrgattr(gdid,"GLOBAL_CHAR_ATTR_1",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_gdwrgattr(gdid,"GLOBAL_CHAR_ATTR_1"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
write(*,*) 'Status returned by he5_gdwrgattr(): ',status
|
||||
|
||||
attr4 = "222222"
|
||||
count(1) = 6
|
||||
- status = he5_ehwrglatt(gdfid,"GLOBAL_CHAR_ATTR_2",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_ehwrglatt(gdfid,"GLOBAL_CHAR_ATTR_2"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
write(*,*) 'Status returned by he5_ehwrglatt(): ',status
|
||||
|
||||
attr5 = "abcdefgh111111111111"
|
||||
count(1) = 20
|
||||
- status = he5_gdwrlattr(gdid,"Vegetation","LocalAttribute_0",
|
||||
- 1 HE5T_NATIVE_CHAR,count,attr5)
|
||||
+ status = he5_gdwrlattr(gdid,"Vegetation"
|
||||
+ & ,"LocalAttribute_0",HE5T_NATIVE_CHAR,count,attr5)
|
||||
write(*,*) 'Status returned by he5_gdwrlattr(): ',status
|
||||
|
||||
endif
|
||||
diff --git a/samples/he5_sw_writedataF_32.f b/samples/he5_sw_writedataF_32.f
|
||||
index 7abab9b..fedd49a 100755
|
||||
--- a/samples/he5_sw_writedataF_32.f
|
||||
+++ b/samples/he5_sw_writedataF_32.f
|
||||
@@ -173,20 +173,21 @@ c Write Global Attribute
|
||||
c ----------------------
|
||||
attr4 = "ABCDEFGH"
|
||||
count(1) = 8
|
||||
- status = he5_swwrattr(swid,"GLOBAL_CHAR_ATTR",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_swwrattr(swid,"GLOBAL_CHAR_ATTR"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
write(*,*) 'Status returned by he5_swwrattr(): ',status
|
||||
|
||||
attr4 = "111"
|
||||
count(1) = 3
|
||||
- status = he5_swwrgattr(swid,"GLOBAL_CHAR_ATTR_1",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_swwrgattr(swid,"GLOBAL_CHAR_ATTR_1"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
write(*,*) 'Status returned by he5_swwrgattr(): ',status
|
||||
|
||||
attr4 = "222222"
|
||||
count(1) = 6
|
||||
- status = he5_ehwrglatt(swfid,"GLOBAL_CHAR_ATTR_2",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_ehwrglatt(swfid
|
||||
+ & ,"GLOBAL_CHAR_ATTR_2",HE5T_NATIVE_CHAR
|
||||
+ & ,count,attr4)
|
||||
write(*,*) 'Status returned by he5_ehwrglatt(): ',status
|
||||
|
||||
c Write Local Attribute
|
||||
diff --git a/samples/he5_sw_writedataF_64.f b/samples/he5_sw_writedataF_64.f
|
||||
index 79e34bd..e5d74cb 100755
|
||||
--- a/samples/he5_sw_writedataF_64.f
|
||||
+++ b/samples/he5_sw_writedataF_64.f
|
||||
@@ -162,25 +162,27 @@ c Write Global Attribute
|
||||
c ----------------------
|
||||
attr4 = "ABCDEFGH"
|
||||
count(1) = 8
|
||||
- status = he5_swwrattr(swid,"GLOBAL_CHAR_ATTR",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_swwrattr(swid,"GLOBAL_CHAR_ATTR"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
|
||||
attr4 = "111"
|
||||
count(1) = 3
|
||||
- status = he5_swwrgattr(swid,"GLOBAL_CHAR_ATTR_1",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_swwrgattr(swid,"GLOBAL_CHAR_ATTR_1"
|
||||
+ & ,HE5T_NATIVE_CHAR,count,attr4)
|
||||
|
||||
attr4 = "222222"
|
||||
count(1) = 6
|
||||
- status = he5_ehwrglatt(swfid,"GLOBAL_CHAR_ATTR_2",HE5T_NATIVE_CHAR,
|
||||
- 1 count,attr4)
|
||||
+ status = he5_ehwrglatt(swfid
|
||||
+ & ,"GLOBAL_CHAR_ATTR_2",HE5T_NATIVE_CHAR
|
||||
+ & ,count,attr4)
|
||||
|
||||
c Write Local Attribute
|
||||
c ---------------------
|
||||
attr5 = "abababababababababab"
|
||||
count(1) = 20
|
||||
- status = he5_swwrlattr(swid,"Density","LocalAttribute_0",
|
||||
- 1 HE5T_NATIVE_CHAR,count,attr5)
|
||||
+ status = he5_swwrlattr(swid,"Density"
|
||||
+ & ,"LocalAttribute_0",HE5T_NATIVE_CHAR,count
|
||||
+ & ,attr5)
|
||||
|
||||
|
||||
endif
|
||||
--
|
||||
2.10.0
|
||||
|
55
gnu/packages/patches/hdf-eos5-remove-gctp.patch
Normal file
55
gnu/packages/patches/hdf-eos5-remove-gctp.patch
Normal file
|
@ -0,0 +1,55 @@
|
|||
Don't build/install/use bundled gctp code/headers.
|
||||
|
||||
* cproj.h, proj.h: part of GCTP, therefore already present.
|
||||
* HE5_config.h, tutils.h: used for library building and testing.
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index f160d0d..367b537 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -206,7 +206,7 @@ LIBGCTP = $(top_builddir)/gctp/src/libGctp.la
|
||||
@TESTDRIVERS_CONDITIONAL_TRUE@TESTDRIVERS = testdrivers
|
||||
@INSTALL_INCLUDE_CONDITIONAL_FALSE@INCLUDE =
|
||||
@INSTALL_INCLUDE_CONDITIONAL_TRUE@INCLUDE = include
|
||||
-SUBDIRS = gctp src $(INCLUDE) samples $(TESTDRIVERS)
|
||||
+SUBDIRS = src $(INCLUDE) samples $(TESTDRIVERS)
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
diff --git a/samples/Makefile.in b/samples/Makefile.in
|
||||
index 59331dd..64fda89 100644
|
||||
--- a/samples/Makefile.in
|
||||
+++ b/samples/Makefile.in
|
||||
@@ -206,7 +206,6 @@ he5_gd_datainfo_SOURCES = he5_gd_datainfo.c
|
||||
he5_gd_datainfo_OBJECTS = he5_gd_datainfo.$(OBJEXT)
|
||||
he5_gd_datainfo_LDADD = $(LDADD)
|
||||
am__DEPENDENCIES_1 = $(top_builddir)/src/libhe5_hdfeos.la
|
||||
-am__DEPENDENCIES_2 = $(top_builddir)/gctp/src/libGctp.la
|
||||
he5_gd_datainfo_DEPENDENCIES = $(am__DEPENDENCIES_1) \
|
||||
$(am__DEPENDENCIES_2)
|
||||
he5_gd_defexternalfld_SOURCES = he5_gd_defexternalfld.c
|
||||
@@ -1093,7 +1092,7 @@ sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
LIBHDFEOS5 = $(top_builddir)/src/libhe5_hdfeos.la
|
||||
-LIBGCTP = $(top_builddir)/gctp/src/libGctp.la
|
||||
+LIBGCTP =
|
||||
|
||||
# Boilerplate definitions file
|
||||
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index a572128..64dabb5 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -190,8 +190,7 @@ LIBGCTP = $(top_builddir)/gctp/src/libGctp.la
|
||||
# Boilerplate include
|
||||
|
||||
# Headers to install
|
||||
-include_HEADERS = HE5_GctpFunc.h HE5_HdfEosDef.h HE5_config.h cproj.h ease.h \
|
||||
- isin.h proj.h tutils.h cfortHdf.h
|
||||
+include_HEADERS = HE5_GctpFunc.h HE5_HdfEosDef.h ease.h isin.h cfortHdf.h
|
||||
|
||||
all: HE5_config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
--
|
||||
2.10.0
|
Loading…
Reference in a new issue