diff mbox

gnu: Add hdf-eos2.

Message ID 20161013.111256.2080367666653045286.post@thomasdanckaert.be
State New
Headers show

Commit Message

Thomas Danckaert Oct. 13, 2016, 9:12 a.m. UTC
Hi guix,

this patch adds HDF-EOS2 (which, somewhat confusingly, is completely 
independent from HDF-EOS5).

I'm not sure what the best version name is.  The tarball is
HDF-EOS2.19v1.00.tar.Z, but documentation sometimes refers to it as
“version 2.19”.  The 2 is part of the library name, though, so I went
with (version "19.1.0") in the end :-).  Is there a policy for version
labeling in Guix, and would (version "19v1.00") be ok?

Thomas

Comments

Ludovic Courtès Oct. 19, 2016, 3:08 p.m. UTC | #1
Hi!

Thomas Danckaert <post@thomasdanckaert.be> skribis:

> this patch adds HDF-EOS2 (which, somewhat confusingly, is completely
> independent from HDF-EOS5).
>
> I'm not sure what the best version name is.  The tarball is
> HDF-EOS2.19v1.00.tar.Z, but documentation sometimes refers to it as
> “version 2.19”.  The 2 is part of the library name, though, so I went
> with (version "19.1.0") in the end :-).  Is there a policy for version
> labeling in Guix, and would (version "19v1.00") be ok?

There’s no policy for weird cases like this.  :-)  I personally prefer
“19.1.0”.

> From 53f69f5b4f0931b259ddd41ef25fc88a2ec6c26a Mon Sep 17 00:00:00 2001
> From: Thomas Danckaert <thomas.danckaert@gmail.com>
> Date: Fri, 30 Sep 2016 09:59:08 +0200
> Subject: [PATCH] gnu: Add hdf-eos2.
>
> * gnu/packages/maths.scm (hdf-eos2): New variable.
> * gnu/packages/patches/hdf-eos2-build-shared.patch: New file.
> * gnu/packages/patches/hdf-eos2-remove-gctp.patch: New file.
> * gnu/packages/patches/hdf-eos2-fortrantests.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Add patches.
> +    (synopsis "HDF4-based data format for NASA's Earth Observing System")
> +    (description "HDF-EOS2 is a software library built on HDF4 which supports
> +the construction of data structures used in NASA's Earth Observing
> +system (Grid, Point and Swath).")
   ^
Capital S?

> --- /dev/null
> +++ b/gnu/packages/patches/hdf-eos2-build-shared.patch
> @@ -0,0 +1,23 @@

Please add a comment at the beginning of this patch.

> --- /dev/null
> +++ b/gnu/packages/patches/hdf-eos2-fortrantests.patch
> @@ -0,0 +1,329 @@
> +Fix multi-line string formatting in fortran test programs (reported upstream).

If there’s a URL for the bug report or upstream commit, could you add it
here?

The rest LGTM.

Could you send an updated patch?

Thanks!

Ludo’.
diff mbox

Patch

From 53f69f5b4f0931b259ddd41ef25fc88a2ec6c26a Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <thomas.danckaert@gmail.com>
Date: Fri, 30 Sep 2016 09:59:08 +0200
Subject: [PATCH] gnu: Add hdf-eos2.

* gnu/packages/maths.scm (hdf-eos2): New variable.
* gnu/packages/patches/hdf-eos2-build-shared.patch: New file.
* gnu/packages/patches/hdf-eos2-remove-gctp.patch: New file.
* gnu/packages/patches/hdf-eos2-fortrantests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add patches.
---
 gnu/local.mk                                     |   3 +
 gnu/packages/maths.scm                           |  35 +++
 gnu/packages/patches/hdf-eos2-build-shared.patch |  23 ++
 gnu/packages/patches/hdf-eos2-fortrantests.patch | 329 +++++++++++++++++++++++
 gnu/packages/patches/hdf-eos2-remove-gctp.patch  |  55 ++++
 5 files changed, 445 insertions(+)
 create mode 100644 gnu/packages/patches/hdf-eos2-build-shared.patch
 create mode 100644 gnu/packages/patches/hdf-eos2-fortrantests.patch
 create mode 100644 gnu/packages/patches/hdf-eos2-remove-gctp.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 521ba2d..3e1348d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -581,6 +581,9 @@  dist_patch_DATA =						\
   %D%/packages/patches/hdf4-shared-fortran.patch 		\
   %D%/packages/patches/hdf4-reproducibility.patch 		\
   %D%/packages/patches/hdf5-config-date.patch			\
+  %D%/packages/patches/hdf-eos2-build-shared.patch 		\
+  %D%/packages/patches/hdf-eos2-remove-gctp.patch		\
+  %D%/packages/patches/hdf-eos2-fortrantests.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			\
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 07934e3..fd096b7 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -543,6 +543,41 @@  extremely large and complex data collections.")
     (license (license:x11-style
               "http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING"))))
 
+(define-public hdf-eos2
+  (package
+    (name "hdf-eos2")
+    (version "19.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri "ftp://edhs1.gsfc.nasa.gov\
+/edhs/hdfeos/latest_release/HDF-EOS2.19v1.00.tar.Z")
+       (sha256
+        (base32 "0c9fcz25s292ldap12wxmlrvnyz99z24p63d8fwx51bf8s0s1zrz"))
+       (patches (search-patches "hdf-eos2-remove-gctp.patch"
+                                "hdf-eos2-build-shared.patch"
+                                "hdf-eos2-fortrantests.patch"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gfortran" ,gfortran)))
+    (inputs
+     `(("hdf4" ,hdf4-alt) ; assume most HDF-EOS2 users won't use the HDF4 netCDF API
+       ("zlib" ,zlib)
+       ("libjpeg" ,libjpeg)
+       ("gctp" ,gctp)))
+    (arguments
+     `( #:configure-flags '("--enable-install-include" "--enable-shared"
+                            "CC=h4cc -Df2cFortran" "LIBS=-lgctp")
+        #:parallel-tests? #f))
+    (home-page "http://hdfeos.org/software/library.php#HDF-EOS2")
+    (synopsis "HDF4-based data format for NASA's Earth Observing System")
+    (description "HDF-EOS2 is a software library built on HDF4 which supports
+the construction of data structures used in NASA's Earth Observing
+system (Grid, Point and Swath).")
+
+    ;; Source files carry a permissive license header.
+    (license (license:non-copyleft home-page))))
+
 (define-public hdf-eos5
   (package
     (name "hdf-eos5")
diff --git a/gnu/packages/patches/hdf-eos2-build-shared.patch b/gnu/packages/patches/hdf-eos2-build-shared.patch
new file mode 100644
index 0000000..2197296
--- /dev/null
+++ b/gnu/packages/patches/hdf-eos2-build-shared.patch
@@ -0,0 +1,23 @@ 
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 9534473..12411bf 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -73,7 +73,7 @@ LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \
+ 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ 	$(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
++LINK = HDF4_USE_SHLIB=yes $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+ SOURCES = $(libhdfeos_la_SOURCES)
+ DIST_SOURCES = $(libhdfeos_la_SOURCES)
+@@ -125,8 +125,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ 
+-# Set LDFLAGS to alow the HDF-EOS library to use extern variables from HDF4
+-LDFLAGS = -Wl,-single_module
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+
diff --git a/gnu/packages/patches/hdf-eos2-fortrantests.patch b/gnu/packages/patches/hdf-eos2-fortrantests.patch
new file mode 100644
index 0000000..adecc18
--- /dev/null
+++ b/gnu/packages/patches/hdf-eos2-fortrantests.patch
@@ -0,0 +1,329 @@ 
+Fix multi-line string formatting in fortran test programs (reported upstream).
+
+diff --git a/samples/appendfield.f b/samples/appendfield.f
+index 42c4b6b..58257f7 100644
+--- a/samples/appendfield.f
++++ b/samples/appendfield.f
+@@ -22,8 +22,8 @@ c
+          inarray(i) = i
+       enddo
+       
+-      swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer_o
+-     1f_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++      swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+       swid = swattach(swfid, "Swath1")
+ 
+ 
+diff --git a/samples/definefields.f b/samples/definefields.f
+index 89859e4..f3b3497 100644
+--- a/samples/definefields.f
++++ b/samples/definefields.f
+@@ -24,8 +24,8 @@ c	DFACC_RDWR accesscode in the open statement.  The SWopen
+ c	routine returns the swath fileid, swfid, which is used to
+ c	identify the file in subsequent routines.
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ c
+diff --git a/samples/definegdflds.f b/samples/definegdflds.f
+index 177422e..1b7fcf6 100644
+--- a/samples/definegdflds.f
++++ b/samples/definegdflds.f
+@@ -21,8 +21,8 @@
+ 	fillval1=-7.0
+ 	fillval2=-9999.0
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ 	gdid1 = gdattach(gdfid, "UTMGrid")
+diff --git a/samples/definelevels.f b/samples/definelevels.f
+index 2496d5f..64b2842 100644
+--- a/samples/definelevels.f
++++ b/samples/definelevels.f
+@@ -32,8 +32,8 @@ c	DFACC_RDWR access code in the open statement.  The ptopen
+ c	routine returns the point fileid, ptfid, which is used to
+ c	identify the file in subsequent routines.
+ 
+-	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"//
++     1  "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ c
+diff --git a/samples/inquiregrid.f b/samples/inquiregrid.f
+index 8110461..8ce71e4 100644
+--- a/samples/inquiregrid.f
++++ b/samples/inquiregrid.f
+@@ -18,8 +18,8 @@
+ 
+ 
+ 	
+-	gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf', DFACC_READ)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+     
+ 	if (gdfid .ne. -1) then
+diff --git a/samples/inquireswath.f b/samples/inquireswath.f
+index 899ee59..78c292b 100644
+--- a/samples/inquireswath.f
++++ b/samples/inquireswath.f
+@@ -24,8 +24,8 @@ c
+ c	Open the Swath File for read only access
+ c
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+     
+ 	if (swfid .NE. -1) then
+diff --git a/samples/readdimscalegrid.f b/samples/readdimscalegrid.f
+index fed5540..a0bb48a 100644
+--- a/samples/readdimscalegrid.f
++++ b/samples/readdimscalegrid.f
+@@ -34,8 +34,8 @@
+ !     * id, gdfid, which is used to identify the file in subsequent routines.
+ !     */
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ !    /*
+ !     * If the grid file cannot be found, gdopen will return -1 for the file
+diff --git a/samples/readdimscaleswath.f b/samples/readdimscaleswath.f
+index 97b6264..1b61624 100644
+--- a/samples/readdimscaleswath.f
++++ b/samples/readdimscaleswath.f
+@@ -33,8 +33,8 @@
+ !     * id, swfid, which is used to identify the file in subsequent routines.
+ !     */
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ !    /*
+ !     * If the swath file cannot be found, swopen will return -1 for the file
+diff --git a/samples/readfields.f b/samples/readfields.f
+index 873b30a..29d42f0 100644
+--- a/samples/readfields.f
++++ b/samples/readfields.f
+@@ -21,8 +21,8 @@ c
+ c     Open the HDF swath file, "SwathFile.hdf"
+ c 
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ 
+ 	if (swfid .NE. -1) then
+diff --git a/samples/readgdflds.f b/samples/readgdflds.f
+index e5fe85f..ff2bd86 100644
+--- a/samples/readgdflds.f
++++ b/samples/readgdflds.f
+@@ -9,8 +9,8 @@
+ 	integer DFNT_FLOAT32
+ 	parameter (DFNT_FLOAT32=5)
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 	if (gdfid .ne. -1) then
+ 
+diff --git a/samples/readlevels.f b/samples/readlevels.f
+index a7fd033..f349398 100644
+--- a/samples/readlevels.f
++++ b/samples/readlevels.f
+@@ -36,8 +36,8 @@ c
+ c     Open the HDF swath file, "PointFile.hdf".
+ c
+ 
+-	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"//
++     +  "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ c
+ c    Read Simple Point
+@@ -47,6 +47,8 @@ c
+ 	status = ptlevinfo(ptid, 0, fldlist, fldtype, fldorder)
+ 	n = ptnrecs(ptid, 0)
+ 
++	write(*,*) n
++
+ 	do 5 i=1,n
+ 	   recs(i) = i - 1
+  5	continue
+diff --git a/samples/setupgrid.f b/samples/setupgrid.f
+index be5408c..cf4bd04 100644
+--- a/samples/setupgrid.f
++++ b/samples/setupgrid.f
+@@ -34,8 +34,8 @@ c      code in the open statement.  The GDopen routine returns the grid
+ c      file id, gdfid, which is used to identify the file in subsequent
+ c      routines in the library.
+ c
+-      gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_of
+-     1_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE)
++      gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_"//
++     1"of_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE)
+ 
+ c    
+ c     Create UTM Grid
+diff --git a/samples/setupswath.f b/samples/setupswath.f
+index d0289d6..fbaa0bb 100644
+--- a/samples/setupswath.f
++++ b/samples/setupswath.f
+@@ -22,8 +22,8 @@ c      code in the open statement.  The SWopen routine returns the swath
+ c      file id, swfid, which is used to identify the file in subsequent
+ c      routines in the library.
+ c
+-      swfid = swopen('SwathFile_created_with_hadeos_sample_file_writer_o
+-     1f_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE)
++      swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf",DFACC_CREATE)
+ 
+ c    
+ c     The first of these, SWcreate, creates the swath, "Swath1", within the
+diff --git a/samples/subsetgrid.f b/samples/subsetgrid.f
+index c57e541..087e5b1 100644
+--- a/samples/subsetgrid.f
++++ b/samples/subsetgrid.f
+@@ -22,8 +22,8 @@ c
+ c     Open the HDF grid file, "GridFile.hdf"
+ c 
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ 	if (gdfid .NE. -1) then
+ 
+diff --git a/samples/subsetpoint.f b/samples/subsetpoint.f
+index 9e72c5f..2e76d7d 100644
+--- a/samples/subsetpoint.f
++++ b/samples/subsetpoint.f
+@@ -21,8 +21,8 @@ c
+ c     Open the HDF point file, "PointFile.hdf"
+ c 
+ 
+-	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"//
++     1  "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ 	if (ptfid .NE. -1) then
+ 
+diff --git a/samples/subsetswath.f b/samples/subsetswath.f
+index dcee609..9af8a46 100644
+--- a/samples/subsetswath.f
++++ b/samples/subsetswath.f
+@@ -28,8 +28,8 @@ c
+ c     Open the HDF swath file, "SwathFile.hdf"
+ c 
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ 	if (swfid .NE. -1) then
+ 
+diff --git a/samples/writedimscalegrid.f b/samples/writedimscalegrid.f
+index 09688d8..42013fe 100644
+--- a/samples/writedimscalegrid.f
++++ b/samples/writedimscalegrid.f
+@@ -29,8 +29,8 @@
+ !     * id, gdfid, which is used to identify the file in subsequent routines.
+ !     */
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ !    /*
+ !     * If the grid file cannot be found, gdopen will return -1 for the file
+diff --git a/samples/writedimscaleswath.f b/samples/writedimscaleswath.f
+index 1151671..1a911a6 100644
+--- a/samples/writedimscaleswath.f
++++ b/samples/writedimscaleswath.f
+@@ -31,8 +31,8 @@
+ !     * id, swfid, which is used to identify the file in subsequent routines.
+ !     */
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write
+-     1r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ !    /*
+ !     * If the swath file cannot be found, swopen will return -1 for the file
+diff --git a/samples/writefields.f b/samples/writefields.f
+index a743661..862b96c 100644
+--- a/samples/writefields.f
++++ b/samples/writefields.f
+@@ -31,8 +31,8 @@ c
+ c     Open the HDF swath file, "SwathFile.hdf"
+ c 
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ 	if (swfid .NE. -1) then
+diff --git a/samples/writegdflds.f b/samples/writegdflds.f
+index d1540b3..81aef75 100644
+--- a/samples/writegdflds.f
++++ b/samples/writegdflds.f
+@@ -23,8 +23,8 @@
+ 	enddo
+ 
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 	if (gdfid .ne. -1) then
+ 
+diff --git a/samples/writelevels.f b/samples/writelevels.f
+index 88e7780..cb40c9e 100644
+--- a/samples/writelevels.f
++++ b/samples/writelevels.f
+@@ -32,8 +32,8 @@ c
+ c     Open the HDF point file, "PointFile.hdf".
+ c
+ 
+-	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"//
++     +  "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ c
+-- 
+2.10.0
+
diff --git a/gnu/packages/patches/hdf-eos2-remove-gctp.patch b/gnu/packages/patches/hdf-eos2-remove-gctp.patch
new file mode 100644
index 0000000..0776c06
--- /dev/null
+++ b/gnu/packages/patches/hdf-eos2-remove-gctp.patch
@@ -0,0 +1,55 @@ 
+Don't build the GCTP bundled with the source and link with the
+system's -lgctp instead.  We also remove references to the
+"testdrivers" directory, which is not distributed together with the
+source, causing autoreconf to fail.
+
+diff --git a/Makefile.in b/Makefile.in
+index d468af2..90428a7 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/include/Makefile.in b/include/Makefile.in
+index 9938b23..afb7f40 100644
+--- a/include/Makefile.in
++++ b/include/Makefile.in
+@@ -190,7 +190,7 @@ LIBGCTP = $(top_builddir)/gctp/src/libGctp.la
+ # Boilerplate include
+ 
+ # Headers to install
+-include_HEADERS = HE2_config.h HdfEosDef.h HDFEOSVersion.h cfortHdf.h ease.h
++include_HEADERS = HdfEosDef.h HDFEOSVersion.h cfortHdf.h ease.h
+ all: HE2_config.h
+ 	$(MAKE) $(AM_MAKEFLAGS) all-am
+ 
+diff --git a/samples/Makefile.in b/samples/Makefile.in
+index 9da6e28..6a6186c 100644
+--- a/samples/Makefile.in
++++ b/samples/Makefile.in
+@@ -108,7 +108,6 @@ AppendField_SOURCES = AppendField.c
+ AppendField_OBJECTS = AppendField.$(OBJEXT)
+ AppendField_LDADD = $(LDADD)
+ am__DEPENDENCIES_1 = $(top_builddir)/src/libhdfeos.la
+-am__DEPENDENCIES_2 = $(top_builddir)/gctp/src/libGctp.la
+ AppendField_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+ DefineFields_SOURCES = DefineFields.c
+ DefineFields_OBJECTS = DefineFields.$(OBJEXT)
+@@ -481,7 +480,7 @@ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ LIBHDFEOS2 = $(top_builddir)/src/libhdfeos.la
+-LIBGCTP = $(top_builddir)/gctp/src/libGctp.la
++LIBGCTP =
+ 
+ # Boilerplate definitions file
+ 
+-- 
+2.10.0
+
-- 
2.10.0