Accepting request 368247 from science
- Remove timestamps from binaries hdf5-buildcompare.patch - update to 1.8.16, changes documented here: https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.16/src/hdf5-1.8.16-RELEASE.txt - rebase hdf5-ldouble-ppc64le.patch - remove hdf5-cpp-compilation-errors.patch - prepare independent so versions and add TODO OBS-URL: https://build.opensuse.org/request/show/368247 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/hdf5?expand=0&rev=27
This commit is contained in:
commit
73ec303a04
@ -1,18 +1,18 @@
|
||||
libhdf5-10
|
||||
libhdf5-11
|
||||
hdf5-devel
|
||||
requires -<targettype>
|
||||
requires "libhdf5-10-<targettype> = <version>"
|
||||
requires "libhdf5_hl10-<targettype> = <version>"
|
||||
libhdf5-10-openmpi
|
||||
requires "libhdf5-11-<targettype> = <version>"
|
||||
requires "libhdf5_hl11-<targettype> = <version>"
|
||||
libhdf5-11-openmpi
|
||||
hdf5-openmpi-devel
|
||||
requires -openmpi-<targettype>
|
||||
requires "libhdf5-10-openmpi-<targettype> = <version>"
|
||||
requires "libhdf5_hl10-openmpi-<targettype> = <version>"
|
||||
libhdf5-10-mvapich2
|
||||
libhdf5_hl10
|
||||
libhdf5_hl10-mvapich2
|
||||
libhdf5_hl10-openmpi
|
||||
requires "libhdf5-11-openmpi-<targettype> = <version>"
|
||||
requires "libhdf5_hl11-openmpi-<targettype> = <version>"
|
||||
libhdf5-11-mvapich2
|
||||
libhdf5_hl11
|
||||
libhdf5_hl11-mvapich2
|
||||
libhdf5_hl11-openmpi
|
||||
hdf5-mvapich2-devel
|
||||
requires -openmpi-<targettype>
|
||||
requires "libhdf5-10-mvapich2-<targettype> = <version>"
|
||||
requires "libhdf5_hl10-mvapich2-<targettype> = <version>"
|
||||
requires "libhdf5-11-mvapich2-<targettype> = <version>"
|
||||
requires "libhdf5_hl11-mvapich2-<targettype> = <version>"
|
||||
|
18
baselibs.conf.in
Normal file
18
baselibs.conf.in
Normal file
@ -0,0 +1,18 @@
|
||||
libhdf5-@sonum@
|
||||
hdf5-devel
|
||||
requires -<targettype>
|
||||
requires "libhdf5-@sonum@-<targettype> = <version>"
|
||||
requires "libhdf5_hl@sonum@-<targettype> = <version>"
|
||||
libhdf5-@sonum@-openmpi
|
||||
hdf5-openmpi-devel
|
||||
requires -openmpi-<targettype>
|
||||
requires "libhdf5-@sonum@-openmpi-<targettype> = <version>"
|
||||
requires "libhdf5_hl@sonum@-openmpi-<targettype> = <version>"
|
||||
libhdf5-@sonum@-mvapich2
|
||||
libhdf5_hl@sonum@
|
||||
libhdf5_hl@sonum@-mvapich2
|
||||
libhdf5_hl@sonum@-openmpi
|
||||
hdf5-mvapich2-devel
|
||||
requires -openmpi-<targettype>
|
||||
requires "libhdf5-@sonum@-mvapich2-<targettype> = <version>"
|
||||
requires "libhdf5_hl@sonum@-mvapich2-<targettype> = <version>"
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0003ac76314b9c3dd819f595eb33890f02f6bf000414013a89f9907ac09e3920
|
||||
size 10002545
|
3
hdf5-1.8.16.tar.bz2
Normal file
3
hdf5-1.8.16.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:13aaae5ba10b70749ee1718816a4b4bfead897c2fcb72c24176e759aec4598c6
|
||||
size 10047405
|
44
hdf5-buildcompare.patch
Normal file
44
hdf5-buildcompare.patch
Normal file
@ -0,0 +1,44 @@
|
||||
---
|
||||
src/H5detect.c | 12 ------------
|
||||
src/libhdf5.settings.in | 3 ---
|
||||
2 files changed, 15 deletions(-)
|
||||
|
||||
Index: hdf5-1.8.15/src/H5detect.c
|
||||
===================================================================
|
||||
--- hdf5-1.8.15.orig/src/H5detect.c
|
||||
+++ hdf5-1.8.15/src/H5detect.c
|
||||
@@ -1308,18 +1308,6 @@ bit.\n";
|
||||
printf("/* Generated automatically by H5detect -- do not edit */\n\n\n");
|
||||
HDputs(FileHeader); /*the copyright notice--see top of this file */
|
||||
|
||||
- printf(" *\n * Created:\t\t%s %2d, %4d\n",
|
||||
- month_name[tm->tm_mon], tm->tm_mday, 1900 + tm->tm_year);
|
||||
- if (pwd || real_name[0] || host_name[0]) {
|
||||
- printf(" *\t\t\t");
|
||||
- if (real_name[0]) printf("%s <", real_name);
|
||||
-#ifdef H5_HAVE_GETPWUID
|
||||
- if (pwd) HDfputs(pwd->pw_name, stdout);
|
||||
-#endif
|
||||
- if (host_name[0]) printf("@%s", host_name);
|
||||
- if (real_name[0]) printf(">");
|
||||
- HDputchar('\n');
|
||||
- }
|
||||
printf(" *\n * Purpose:\t\t");
|
||||
for (s = purpose; *s; s++) {
|
||||
HDputchar(*s);
|
||||
Index: hdf5-1.8.15/src/libhdf5.settings.in
|
||||
===================================================================
|
||||
--- hdf5-1.8.15.orig/src/libhdf5.settings.in
|
||||
+++ hdf5-1.8.15/src/libhdf5.settings.in
|
||||
@@ -4,11 +4,8 @@
|
||||
General Information:
|
||||
-------------------
|
||||
HDF5 Version: @H5_VERSION@
|
||||
- Configured on: @CONFIG_DATE@
|
||||
- Configured by: @CONFIG_USER@
|
||||
Configure mode: @CONFIG_MODE@
|
||||
Host system: @host_cpu@-@host_vendor@-@host_os@
|
||||
- Uname information: @UNAME_INFO@
|
||||
Byte sex: @BYTESEX@
|
||||
Libraries: @STATIC_SHARED@
|
||||
Installation point: @prefix@
|
@ -1,18 +0,0 @@
|
||||
Index: src/H5api_adpt.h
|
||||
===================================================================
|
||||
--- src/H5api_adpt.h (revision 26991)
|
||||
+++ src/H5api_adpt.h (revision 27474)
|
||||
@@ -21,13 +21,6 @@
|
||||
#ifndef H5API_ADPT_H
|
||||
#define H5API_ADPT_H
|
||||
|
||||
-#ifdef __cplusplus
|
||||
-#define __attribute__(X) /*void*/
|
||||
-#endif /* __cplusplus */
|
||||
-#ifndef H5_HAVE_ATTRIBUTE
|
||||
-#define __attribute__(X) /*void*/
|
||||
-#endif /* H5_HAVE_ATTRIBUTE */
|
||||
-
|
||||
/* This will only be defined if HDF5 was built with CMake */
|
||||
#ifdef H5_BUILT_AS_DYNAMIC_LIB
|
||||
|
@ -1,72 +1,75 @@
|
||||
Index: hdf5-1.8.14/configure
|
||||
===================================================================
|
||||
--- hdf5-1.8.14.orig/configure
|
||||
+++ hdf5-1.8.14/configure
|
||||
@@ -30438,6 +30438,13 @@ else
|
||||
unsigned char s2[8];
|
||||
int ret = 1;
|
||||
diff -rupN hdf5-1.8.16.orig/configure hdf5-1.8.16/configure
|
||||
--- hdf5-1.8.16.orig/configure 2015-11-10 15:01:10.000000000 +0100
|
||||
+++ hdf5-1.8.16/configure 2016-01-28 13:44:58.136709651 +0100
|
||||
@@ -27347,6 +27347,14 @@ main ()
|
||||
unsigned char s2[8];
|
||||
int ret = 1;
|
||||
|
||||
+#if defined __powerpc64__ && defined _LITTLE_ENDIAN
|
||||
+ /* Don't bother checking on ppc64le, we know it'll work, and
|
||||
+ that what hdf5 calls 'special algorithm' simply is
|
||||
+ IBM ldouble 128 (i.e. two seperately scaled doubles).
|
||||
+ The check below assumes big endian. */
|
||||
+ ret = 0;
|
||||
+ /* Don't bother checking on ppc64le, we know it'll work, and
|
||||
+ that what hdf5 calls 'special algorithm' simply is
|
||||
+ IBM ldouble 128 (i.e. two seperately scaled doubles).
|
||||
+ The check below assumes big endian. */
|
||||
+ ret = 0;
|
||||
+#endif
|
||||
if(sizeof(long double) == 16 && sizeof(long) == 8) {
|
||||
/*make sure the long double type has 16 bytes in size and
|
||||
* 11 bits of exponent. If it is,
|
||||
@@ -30542,6 +30549,13 @@ else
|
||||
unsigned char s[16];
|
||||
int flag=0, ret=1;
|
||||
+
|
||||
if(sizeof(long double) == 16 && sizeof(long) == 8) {
|
||||
/*make sure the long double type has 16 bytes in size and
|
||||
* 11 bits of exponent. If it is,
|
||||
@@ -27464,6 +27472,14 @@ main ()
|
||||
unsigned char s[16];
|
||||
int flag=0, ret=1;
|
||||
|
||||
+#if defined __powerpc64__ && defined _LITTLE_ENDIAN
|
||||
+ /* Don't bother checking on ppc64le, we know it'll work, and
|
||||
+ that what hdf5 calls 'special algorithm' simply is
|
||||
+ IBM ldouble 128 (i.e. two seperately scaled doubles).
|
||||
+ The check below assumes big endian. */
|
||||
+ ret = 0;
|
||||
+ /* Don't bother checking on ppc64le, we know it'll work, and
|
||||
+ that what hdf5 calls 'special algorithm' simply is
|
||||
+ IBM ldouble 128 (i.e. two seperately scaled doubles).
|
||||
+ The check below assumes big endian. */
|
||||
+ ret = 0;
|
||||
+#endif
|
||||
+
|
||||
/*Determine if long double has 16 byte in size, 11 bit exponent, and
|
||||
*the bias is 0x3ff */
|
||||
if(sizeof(long double) == 16) {
|
||||
diff -rupN hdf5-1.8.16.orig/configure.ac hdf5-1.8.16/configure.ac
|
||||
--- hdf5-1.8.16.orig/configure.ac 2015-11-04 23:29:55.000000000 +0100
|
||||
+++ hdf5-1.8.16/configure.ac 2016-01-28 13:44:58.144709750 +0100
|
||||
@@ -2277,7 +2277,15 @@ else
|
||||
unsigned char s[16];
|
||||
unsigned char s2[8];
|
||||
int ret = 1;
|
||||
-
|
||||
+
|
||||
+#if defined __powerpc64__ && defined _LITTLE_ENDIAN
|
||||
+ /* Don't bother checking on ppc64le, we know it'll work, and
|
||||
+ that what hdf5 calls 'special algorithm' simply is
|
||||
+ IBM ldouble 128 (i.e. two seperately scaled doubles).
|
||||
+ The check below assumes big endian. */
|
||||
+ ret = 0;
|
||||
+#endif
|
||||
+
|
||||
if(sizeof(long double) == 16 && sizeof(long) == 8) {
|
||||
/*make sure the long double type has 16 bytes in size and
|
||||
* 11 bits of exponent. If it is,
|
||||
@@ -2354,6 +2362,14 @@ else
|
||||
unsigned long ull;
|
||||
unsigned char s[16];
|
||||
int flag=0, ret=1;
|
||||
+
|
||||
+#if defined __powerpc64__ && defined _LITTLE_ENDIAN
|
||||
+ /* Don't bother checking on ppc64le, we know it'll work, and
|
||||
+ that what hdf5 calls 'special algorithm' simply is
|
||||
+ IBM ldouble 128 (i.e. two seperately scaled doubles).
|
||||
+ The check below assumes big endian. */
|
||||
+ ret = 0;
|
||||
+#endif
|
||||
/*Determine if long double has 16 byte in size, 11 bit exponent, and
|
||||
*the bias is 0x3ff */
|
||||
if(sizeof(long double) == 16) {
|
||||
Index: hdf5-1.8.14/configure.ac
|
||||
===================================================================
|
||||
--- hdf5-1.8.14.orig/configure.ac
|
||||
+++ hdf5-1.8.14/configure.ac
|
||||
@@ -3723,6 +3723,13 @@ else
|
||||
unsigned char s2[8];
|
||||
int ret = 1;
|
||||
|
||||
+#if defined __powerpc64__ && defined _LITTLE_ENDIAN
|
||||
+ /* Don't bother checking on ppc64le, we know it'll work, and
|
||||
+ that what hdf5 calls 'special algorithm' simply is
|
||||
+ IBM ldouble 128 (i.e. two seperately scaled doubles).
|
||||
+ The check below assumes big endian. */
|
||||
+ ret = 0;
|
||||
+#endif
|
||||
if(sizeof(long double) == 16 && sizeof(long) == 8) {
|
||||
/*make sure the long double type has 16 bytes in size and
|
||||
* 11 bits of exponent. If it is,
|
||||
@@ -3801,6 +3808,13 @@ else
|
||||
unsigned char s[16];
|
||||
int flag=0, ret=1;
|
||||
|
||||
+#if defined __powerpc64__ && defined _LITTLE_ENDIAN
|
||||
+ /* Don't bother checking on ppc64le, we know it'll work, and
|
||||
+ that what hdf5 calls 'special algorithm' simply is
|
||||
+ IBM ldouble 128 (i.e. two seperately scaled doubles).
|
||||
+ The check below assumes big endian. */
|
||||
+ ret = 0;
|
||||
+#endif
|
||||
/*Determine if long double has 16 byte in size, 11 bit exponent, and
|
||||
*the bias is 0x3ff */
|
||||
if(sizeof(long double) == 16) {
|
||||
Index: hdf5-1.8.14/test/dt_arith.c
|
||||
===================================================================
|
||||
--- hdf5-1.8.14.orig/test/dt_arith.c
|
||||
+++ hdf5-1.8.14/test/dt_arith.c
|
||||
@@ -3088,7 +3088,18 @@ test_conv_flt_1 (const char *name, int r
|
||||
/*Determine if long double has 16 byte in size, 11 bit exponent, and
|
||||
*the bias is 0x3ff */
|
||||
diff -rupN hdf5-1.8.16.orig/test/dt_arith.c hdf5-1.8.16/test/dt_arith.c
|
||||
--- hdf5-1.8.16.orig/test/dt_arith.c 2015-10-24 07:13:43.000000000 +0200
|
||||
+++ hdf5-1.8.16/test/dt_arith.c 2016-01-28 13:44:58.153709861 +0100
|
||||
@@ -3010,7 +3010,18 @@ test_conv_flt_1 (const char *name, int r
|
||||
buf, saved, nelmts);
|
||||
#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE && H5_SIZEOF_LONG_DOUBLE!=0
|
||||
} else if(src_type == FLT_LDOUBLE) {
|
||||
@ -86,7 +89,7 @@ Index: hdf5-1.8.14/test/dt_arith.c
|
||||
buf, saved, nelmts);
|
||||
#endif
|
||||
} else
|
||||
@@ -3824,7 +3835,18 @@ test_conv_int_fp(const char *name, int r
|
||||
@@ -3663,7 +3674,18 @@ test_conv_int_fp(const char *name, int r
|
||||
INIT_FP_DENORM(long double, LDBL_MANT_DIG, src_size, src_nbits, sendian, dst_size,
|
||||
buf, saved, nelmts);
|
||||
} else {
|
||||
|
15
hdf5.changes
15
hdf5.changes
@ -1,3 +1,18 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 7 14:35:44 UTC 2016 - olaf@aepfle.de
|
||||
|
||||
- Remove timestamps from binaries
|
||||
hdf5-buildcompare.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 28 00:08:01 UTC 2016 - sweet_f_a@gmx.de
|
||||
|
||||
- update to 1.8.16, changes documented here:
|
||||
https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.16/src/hdf5-1.8.16-RELEASE.txt
|
||||
- rebase hdf5-ldouble-ppc64le.patch
|
||||
- remove hdf5-cpp-compilation-errors.patch
|
||||
- prepare independent so versions and add TODO
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 21 09:45:05 UTC 2015 - toddrme2178@gmail.com
|
||||
|
||||
|
26
hdf5.spec
26
hdf5.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package hdf5
|
||||
#
|
||||
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -25,17 +25,30 @@
|
||||
|
||||
%define _mpi %{?_openmpi:openmpi} %{?_mvapich2:mvapich2}
|
||||
|
||||
# TODO: since 1.8.16 we have independent so versions, see config/lt_vers.am.
|
||||
# We already have added a script "update_so_version.sh" to update all the
|
||||
# defines below and baselibs.conf. But we still need to split certain
|
||||
# subpackages to be able to use these versions.
|
||||
%define sonum 11
|
||||
%define sonum_CXX 11
|
||||
%define sonum_F 10
|
||||
%define sonum_HL 10
|
||||
%define sonum_HL_CXX 11
|
||||
%define sonum_HL_F 10
|
||||
%define sonum_TOOLS 10
|
||||
|
||||
Name: hdf5
|
||||
%define libname libhdf5
|
||||
Version: 1.8.15
|
||||
Version: 1.8.16
|
||||
Release: 0
|
||||
%define sonum 10
|
||||
Summary: Command-line programs for the HDF5 scientific data format
|
||||
License: BSD-3-Clause
|
||||
Group: Productivity/Scientific/Other
|
||||
Url: http://www.hdfgroup.org/HDF5/
|
||||
Source0: http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%{version}/src/hdf5-%{version}.tar.bz2
|
||||
Source1: baselibs.conf
|
||||
Source1000: baselibs.conf
|
||||
Source1001: baselibs.conf.in
|
||||
Source1002: update_so_version.sh
|
||||
Patch0: hdf5-LD_LIBRARY_PATH.patch
|
||||
Patch1: hdf5-non_void_return.patch
|
||||
# not really needed but we want to get noticed if hdf5 doesn' t know our host
|
||||
@ -44,8 +57,7 @@ Patch2: hdf5-1.8.11-abort_unknown_host_config.patch
|
||||
Patch4: hdf5-1.8.10-tests-arm.patch
|
||||
%endif
|
||||
Patch5: hdf5-ldouble-ppc64le.patch
|
||||
# PATCH-FIX-UPSTREAM hdf5-cpp-compilation-errors.patch badshah400@gmail.com -- Reverted a change to the H5api_adpt.h that caused compilation errors for the C++ HDF5 applications; patch taken from upstream svn
|
||||
Patch6: hdf5-cpp-compilation-errors.patch
|
||||
Patch6: hdf5-buildcompare.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: gcc-c++
|
||||
%if 0%{?suse_version} > 1140
|
||||
@ -532,7 +544,7 @@ test "%{sonum}" = "${LT_VERS_INTERFACE}" || exit 1
|
||||
%patch4 -p0 -b .tests-arm
|
||||
%endif
|
||||
%patch5 -p1
|
||||
%patch6 -p0
|
||||
%patch6 -p1
|
||||
|
||||
echo "prepare parallel builds: %_mpi"
|
||||
for build_dir in build %_mpi; do
|
||||
|
80
update_so_version.sh
Normal file
80
update_so_version.sh
Normal file
@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
|
||||
exit_error()
|
||||
{
|
||||
echo "$0: $@" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
dbg()
|
||||
{
|
||||
echo "dbg: $@" >&2
|
||||
}
|
||||
|
||||
cleanup()
|
||||
{
|
||||
rm -f lt_vers.sh sonum_spec.sed sonum_baselibs.sed
|
||||
rm -f hdf5.spec.tmp baselibs.conf.tmp
|
||||
}
|
||||
|
||||
## We are going to parse these variables from tarball:
|
||||
# LT_VERS_INTERFACE
|
||||
# LT_CXX_VERS_INTERFACE
|
||||
# LT_F_VERS_INTERFACE
|
||||
# LT_HL_VERS_INTERFACE
|
||||
# LT_HL_CXX_VERS_INTERFACE
|
||||
# LT_HL_F_VERS_INTERFACE
|
||||
# LT_TOOLS_VERS_INTERFACE
|
||||
|
||||
cleanup
|
||||
|
||||
VER="$(grep -m1 "^Version:" hdf5.spec)" || exit_error "can't grep version"
|
||||
read x VER <<<$VER
|
||||
|
||||
SRC="$(grep -m1 "^Source0:" hdf5.spec)" || exit_error "can't grep source"
|
||||
read x SRC <<<$SRC
|
||||
SRC=$(basename "$SRC" | sed "s/%{version}/$VER/")
|
||||
|
||||
test -f "$SRC" || exit_error "tarball '$SRC' does not exist"
|
||||
dbg "inspecting $SRC"
|
||||
|
||||
tar --wildcards -x -O -f "$SRC" "*/config/lt_vers.am" \
|
||||
| tr -d ' \t' \
|
||||
| grep "^LT_.*INTERFACE=" \
|
||||
> lt_vers.sh \
|
||||
|| exit_error "can't grep interface versions"
|
||||
|
||||
# we expect exactly 7 variables
|
||||
. lt_vers.sh || exit_error "can't source lt_vers.sh"
|
||||
test $(wc -l < lt_vers.sh) -le "7" \
|
||||
|| exit_error "more than 7 vars found, update this script!"
|
||||
|
||||
for infix in "" _CXX _F _HL _HL_CXX _HL_F _TOOLS; do
|
||||
var="LT${infix}_VERS_INTERFACE"
|
||||
test "${!var}" -gt 0 || exit_error "$var='${!var}' bad or undefined"
|
||||
dbg "update $var=${!var}"
|
||||
def_sonum="sonum${infix}"
|
||||
# create sed scripts for spec file and baselibs
|
||||
echo "s/^%define $def_sonum .*/%define $def_sonum ${!var}/" >> sonum_spec.sed
|
||||
echo "s/@${def_sonum}@/${!var}/g" >> sonum_baselibs.sed
|
||||
done
|
||||
|
||||
# update spec file if needed
|
||||
sed -f sonum_spec.sed hdf5.spec > hdf5.spec.tmp
|
||||
if diff -q hdf5.spec.tmp hdf5.spec &>/dev/null; then
|
||||
dbg "hdf5.spec was up-to-date"
|
||||
else
|
||||
mv hdf5.spec.tmp hdf5.spec
|
||||
echo "hdf5.spec updated" >&2
|
||||
fi
|
||||
|
||||
# update baselibs if needed
|
||||
sed -f sonum_baselibs.sed baselibs.conf.in > baselibs.conf.tmp
|
||||
if diff -q baselibs.conf.tmp baselibs.conf &>/dev/null; then
|
||||
dbg "baselibs.conf was up-to-date"
|
||||
else
|
||||
mv baselibs.conf.tmp baselibs.conf
|
||||
echo "baselibs.conf updated" >&2
|
||||
fi
|
||||
|
||||
cleanup
|
Loading…
x
Reference in New Issue
Block a user