From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Danckaert Subject: Re: [PATCH] gnu: Add hdf4 Date: Wed, 12 Oct 2016 20:50:46 +0200 (CEST) Message-ID: <20161012.205046.1873161880859659372.post@thomasdanckaert.be> References: <20161011.105744.1519945377775544087.post@thomasdanckaert.be> <87shs1ohgv.fsf@gnu.org> Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Wed_Oct_12_20_50_46_2016_976)--" Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50233) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1buOcM-00047y-JW for guix-devel@gnu.org; Wed, 12 Oct 2016 14:51:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1buOcK-0005zF-IS for guix-devel@gnu.org; Wed, 12 Oct 2016 14:51:06 -0400 In-Reply-To: <87shs1ohgv.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: ludo@gnu.org Cc: guix-devel@gnu.org ----Next_Part(Wed_Oct_12_20_50_46_2016_976)-- Content-Type: Text/Plain; charset=utf-8; format=flowed Content-Transfer-Encoding: base64 RnJvbTogbHVkb0BnbnUub3JnIChMdWRvdmljIENvdXJ0w6hzKQ0KU3ViamVjdDogUmU6IFtQQVRD SF0gZ251OiBBZGQgaGRmNA0KRGF0ZTogV2VkLCAxMiBPY3QgMjAxNiAxNDo1NDo0MCArMDIwMA0K DQo+PiAgLSBJJ3ZlIGFsc28gYWRkZWQgYSB2YXJpYW50IOKAnGhkZjQtYWx04oCdOiBieSBkZWZh dWx0LCBIREY0IGluY2x1ZGVzIA0KPj4gYQ0KPj4gICAgbmV0Q0RGIEFQSSB0byBhY2Nlc3MgSERG NCBmaWxlcywgd2hpY2ggY2xhc2hlcyB3aXRoIHRoZSBzeW1ib2xzIA0KPj4gaW4NCj4+ICAgIHRo ZSByZWFsIG5ldENERiBsaWJyYXJ5IHdoZW4geW91IHRyeSB0byB1c2UgYm90aCBsaWJyYXJpZXMg aW4gDQo+PiB5b3VyDQo+PiAgICBwcm9ncmFtLiAgVGhpcyB2YXJpYW50IHVzZXMgdGhlIOKAnC0t ZGlzYWJsZS1uZXRjZGbigJ0gY29uZmlndXJlIA0KPj4gZmxhZw0KPj4gICAgdG8gYXZvaWQgdGhp cy4gIFdlIGNvdWxkIGNhbGwgaXQg4oCcaGRmNC1ub25ldGNkZuKAnSwgYnV0IHRoZSBuYW1lDQo+ PiAgICDigJxoZGY0LWFsdOKAnSBpcyB1c2VkIGJ5IERlYmlhbiwgc28gbWF5YmUgaXQncyBnb29k IHRvIHVzZSB0aGUgDQo+PiBzYW1lPw0KPg0KPiBXb3VsZCDigJxoZGY0LW1pbmltYWzigJ0gc291 bmQgYXBwcm9wcmlhdGUgaGVyZT8gIFRoYXTigJlzIGEgY29udmVudGlvbiANCj4gd2UgdXNlDQo+ IGluIHNpbWlsYXIgY2FzZXMuICBPdGhlcndpc2Ug4oCcaGRmNC1hbHTigJ0gaXMgZmluZSB3aXRo IG1lLg0KDQpXaXRoIC0tZGlzYWJsZS1uZXRjZGYsIHRoZSBsaWJyYXJ5IHN0aWxsIGluY2x1ZGVz IGFsbCB0aGUgc2FtZSANCmZlYXR1cmVzLCB0aGUgbmV0Q0RGIEFQSSBmdW5jdGlvbiBuYW1lcyBh cmUganVzdCBtYW5nbGVkIHRvIGF2b2lkIA0KY29uZmxpY3RzLiAgU28gaXQncyBub3QgcmVhbGx5 IG1vcmUg4oCcbWluaW1hbOKAnSB0aGFuIHRoZSByZWd1bGFyIEhERjQgDQo6LSkgIEknZCBlaXRo ZXIgZ28gZm9yIHNvbWV0aGluZyB0aGF0IGV4cGxpY2l0bHkgbWVudGlvbnMgbmV0Q0RGLCBvciAN CmhkZjQtYWx0IGJlY2F1c2UgdGhhdCdzIHdoYXQgRGViaWFuIHVzZXMuDQoNCj4+ICsgICAgICAg ICAgICAgKHN1YnN0aXR1dGUqDQo+PiArICAgICAgICAgICAgICAgICAobWFwIChsYW1iZGEgKGRp cikgKHN0cmluZy1hcHBlbmQgZGlyIA0KPj4gIi9NYWtlZmlsZS5pbiIpKQ0KPj4gKyAgICAgICAg ICAgICAgICAgICAgICAnKCJoZGYiICJoZGYvZXhhbXBsZXMiICJoZGYvZm9ydHJhbiIgDQo+PiAi aGRmL3NyYyINCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAiaGRmL3Rlc3QiICJoZGYvdXRp bCIgIm1maGRmIiANCj4+ICJtZmhkZi9kdW1wZXIiDQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgIm1maGRmL2V4YW1wbGVzIiAibWZoZGYvZm9ydHJhbiIgDQo+PiAibWZoZGYvaGRmaW1wb3J0 Ig0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICJtZmhkZi9oZGlmZiIgIm1maGRmL2hyZXBh Y2siIA0KPj4gIm1maGRmL2xpYnNyYyINCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAibWZo ZGYvbmNnZW4iICJtZmhkZi9uY2R1bXAiIA0KPj4gIm1maGRmL25jdGVzdCINCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAibWZoZGYvdGVzdCIgIm1maGRmL3hkciIpKQ0KPg0KPiBNYXliZSBz aW1wbHkgKGZpbmQtZmlsZXMgIi4iICJeTWFrZWZpbGVcXC5pbiQiKT8NCg0KWWVzLCBJIHdhcyBj b252aW5jZWQgc29tZXRoaW5nIGxpa2UgdGhhdCBoYWQgdG8gZXhpc3QsIGJ1dCBhbSBub3QgDQpn b29kIGF0IHJlYWRpbmcgdGhlIGRvY3MsIGl0IHNlZW1zLg0KDQo+IC0gQ09ORklHX0RBVEU9ImBk YXRlYCINCj4gKyBDT05GSUdfREFURT0iJFNPVVJDRV9EQVRFX0VQT0NIIg0KPg0KPiBUaGUgc21h bGxlciB0aGUgcGF0Y2gsIHRoZSBiZXR0ZXIuICA6LSkNCg0KSSB3ZW50IHdpdGgNCg0KK0NPTkZJ R19EQVRFPWBkYXRlIC11IC1kICJAJFNPVVJDRV9EQVRFX0VQT0NIImANCg0KKHdoaWNoIGp1c3Qg cmVzdWx0cyBpbiAxIEphbiAxOTcwLCBidXQgYW55d2F5KQ0KDQpjaGVlcnMsDQoNClRob21hcw0K ----Next_Part(Wed_Oct_12_20_50_46_2016_976)-- Content-Type: Text/X-Patch; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0001-gnu-Add-hdf4.patch" >From 3778ec2dfea4e5d7c0712ae1d354b463c8ee6694 Mon Sep 17 00:00:00 2001 From: Thomas Danckaert Date: Wed, 28 Sep 2016 10:34:58 +0200 Subject: [PATCH] gnu: Add hdf4 * gnu/packages/maths.scm (hdf4, hdf4-alt): New variables. * gnu/packages/patches/hdf4-reproducibility.patch: New file. * gnu/packages/patches/hdf4-shared-fortran.patch: New file. * gnu/local.mk (dist_patch_DATA): Add patches. Co-Authored-By: Jeremy Robst --- gnu/local.mk | 2 + gnu/packages/maths.scm | 59 +++++++++++++++++++++++++ gnu/packages/patches/hdf4-reproducibility.patch | 35 +++++++++++++++ gnu/packages/patches/hdf4-shared-fortran.patch | 25 +++++++++++ 4 files changed, 121 insertions(+) create mode 100644 gnu/packages/patches/hdf4-reproducibility.patch create mode 100644 gnu/packages/patches/hdf4-shared-fortran.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1ce95f2..1b65e74 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -570,6 +570,8 @@ dist_patch_DATA = \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ + %D%/packages/patches/hdf4-shared-fortran.patch \ + %D%/packages/patches/hdf4-reproducibility.patch \ %D%/packages/patches/hdf5-config-date.patch \ %D%/packages/patches/hdf-eos5-build-shared.patch \ %D%/packages/patches/hdf-eos5-remove-gctp.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index d5e82bb..07934e3 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -445,6 +445,65 @@ computations.") (home-page "https://github.com/OkoSanto/GCTP") (license license:public-domain))) ;https://www2.usgs.gov/laws/info_policies.html +(define-public hdf4 + (package + (name "hdf4") + (version "4.2.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://support.hdfgroup.org/ftp/HDF/releases/HDF" + version "/src/hdf-" version ".tar.bz2")) + (sha256 + (base32 "16yr50j845zlfx20skmw3y75ww77akk9gg0affjqkg66ih5r03mv")) + (patches (search-patches "hdf4-reproducibility.patch" + "hdf4-shared-fortran.patch")))) + + (build-system gnu-build-system) + (native-inputs + `(("gfortran" ,gfortran) + ("bison" ,bison) + ("flex" ,flex))) + (inputs + `(("zlib" ,zlib) + ("libjpeg" ,libjpeg))) + (arguments + `(#:parallel-tests? #f + #:configure-flags '("--enable-shared") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patchbuild + (lambda _ + (substitute* + '("mfhdf/hdfimport/testutil.sh.in" "hdf/util/testutil.sh.in") + (("/bin/rm") "rm") + (("/bin/mkdir") "mkdir")) + (substitute* (find-files "." "^Makefile\\.in$") + (("@HDF_BUILD_XDR_TRUE@XDR_ADD = \ +-R\\$\\(abs_top_builddir\\)/mfhdf/xdr/\\.libs") "") + (("@HDF_BUILD_SHARED_TRUE@AM_LDFLAGS = \ +-R\\$\\(abs_top_builddir\\)/mfhdf/libsrc/\\.libs \ +-R\\$\\(abs_top_builddir\\)/hdf/src/\\.libs \\$\\(XDR_ADD\\)") ""))))))) + (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 hierarchical data format, +incompatible with HDF5.") + (license + (license:non-copyleft + "https://www.hdfgroup.org/ftp/HDF/HDF_Current/src/unpacked/COPYING")))) + +(define-public hdf4-alt + (package + (inherit hdf4) + (name "hdf4-alt") + (arguments + (substitute-keyword-arguments (package-arguments hdf4) + ((#:configure-flags flags) `(cons* "--disable-netcdf" ,flags)))) + (synopsis + "HDF4 without netCDF API, can be combined with the regular netCDF library"))) + (define-public hdf5 (package (name "hdf5") diff --git a/gnu/packages/patches/hdf4-reproducibility.patch b/gnu/packages/patches/hdf4-reproducibility.patch new file mode 100644 index 0000000..9b5fea6 --- /dev/null +++ b/gnu/packages/patches/hdf4-reproducibility.patch @@ -0,0 +1,35 @@ +Remove/patch unreproducible config data. + +diff --git a/configure b/configure +index eb9f346..ebab94d 100755 +--- a/configure ++++ b/configure +@@ -23163,7 +23163,7 @@ H4_VERSION="`cut -d' ' -f3 $srcdir/README.txt | head -1`" + + + ## Configuration date +- CONFIG_DATE="`date`" ++CONFIG_DATE=`date -u -d "@$SOURCE_DATE_EPOCH"` + + ## User doing the configuration + CONFIG_USER="`whoami`@`hostname`" +diff --git a/libhdf4.settings.in b/libhdf4.settings.in +index 1d9bbb9..4180d72 100644 +--- a/libhdf4.settings.in ++++ b/libhdf4.settings.in +@@ -5,10 +5,10 @@ General Information: + ------------------- + 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@ + +-- +2.10.0 diff --git a/gnu/packages/patches/hdf4-shared-fortran.patch b/gnu/packages/patches/hdf4-shared-fortran.patch new file mode 100644 index 0000000..60db355 --- /dev/null +++ b/gnu/packages/patches/hdf4-shared-fortran.patch @@ -0,0 +1,25 @@ +Allow building a shared library with Fortran. +--- + configure | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/configure b/configure +index f37d2fa..eb9f346 100755 +--- a/configure ++++ b/configure +@@ -6141,12 +6141,6 @@ if test "X${enable_shared}" != "Xyes"; then + enable_shared="no" + fi + +-if test "X${enable_shared}" = "Xyes"; then +- if test "X${BUILD_FORTRAN}" = "Xyes"; then +- as_fn_error $? "Cannot build shared fortran libraries. Please configure with --disable-fortran flag." "$LINENO" 5 +- fi +-fi +- + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 + $as_echo_n "checking whether ln -s works... " >&6; } +-- +2.10.0 + -- 2.10.0 ----Next_Part(Wed_Oct_12_20_50_46_2016_976)----