Patchwork gnu: Add hdf-eos2.

login
register
mail settings
Submitter Thomas Danckaert
Date Oct. 20, 2016, 5:48 p.m.
Message ID <20161020.194816.108653006189549375.post@thomasdanckaert.be>
Download mbox | patch
Permalink /patch/16698/
State New
Headers show

Comments

Thomas Danckaert - Oct. 20, 2016, 5:48 p.m.
From: ludo@gnu.org (Ludovic Courtès)

Subject: Re: [PATCH] gnu: Add hdf-eos2.
Date: Wed, 19 Oct 2016 17:08:32 +0200

>> --- /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.

>


Added a very basic comment... I must admit I don't know exactly why 
it works that way, just that it does...

>> --- /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?


There is no public repository or bug tracker, just an e-mail to the 
maintainer.  They told me we might see a new release this year!

best,

Thomas
Ludovic Courtès - Oct. 24, 2016, 9:10 p.m.
Thomas Danckaert <post@thomasdanckaert.be> skribis:

>>> --- /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?
>
> There is no public repository or bug tracker, just an e-mail to the
> maintainer.  They told me we might see a new release this year!

Awesome.  :-)  Thanks for getting in touch with them!

> From 675d7f1e80399e25e013de5e0231420f2a9a1a1c Mon Sep 17 00:00:00 2001
> Message-Id: <675d7f1e80399e25e013de5e0231420f2a9a1a1c.1476985416.git.thomas.danckaert@gmail.com>
> 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.

Applied, thanks!

Ludo’.

Patch

From 675d7f1e80399e25e013de5e0231420f2a9a1a1c Mon Sep 17 00:00:00 2001
Message-Id: <675d7f1e80399e25e013de5e0231420f2a9a1a1c.1476985416.git.thomas.danckaert@gmail.com>
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 |  25 ++
 gnu/packages/patches/hdf-eos2-fortrantests.patch | 329 +++++++++++++++++++++++
 gnu/packages/patches/hdf-eos2-remove-gctp.patch  |  55 ++++
 5 files changed, 447 insertions(+)

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..eb86389 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..71112e3
--- /dev/null
+++ b/gnu/packages/patches/hdf-eos2-build-shared.patch
@@ -0,0 +1,25 @@ 
+Changes necessary for shared library linking to succeed.
+
+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.7.4