diff --git a/hdf5-configure-long-double.patch b/hdf5-configure-long-double.patch new file mode 100644 index 0000000..c400807 --- /dev/null +++ b/hdf5-configure-long-double.patch @@ -0,0 +1,66 @@ +Index: hdf5-1.8.11/configure +=================================================================== +--- hdf5-1.8.11.orig/configure ++++ hdf5-1.8.11/configure +@@ -30201,7 +30201,7 @@ else + /* Test if the last 2 bytes of mantissa are lost. Mainly for FreeBSD on Intel + * architecture(sleipnir) where it happens. */ + /*if(endian==0 && c2[0]==0 && c2[1]==0)*/ /*little endian*/ +- if(endian==0 && c2[0]==0) { /*little endian*/ ++ if(endian==0 && size == 12 && c2[0]==0) { /*little endian*/ + ret = 1; + goto done; + } +@@ -30220,16 +30220,16 @@ else + * instead of 0x0000403effffffffffffffff, 0x0000403efffffffffffffffe, ..., + * 0x0000403efffffffffffff000 ... + */ +- if(endian==0 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) ++ if(endian==0 && size == 12 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) + ret = 1; + ++ if(c2_cyg) ++ free(c2_cyg); + done: + if(c1) + free(c1); + if(c2) + free(c2); +- if(c2_cyg) +- free(c2_cyg); + exit(ret); + } + +Index: hdf5-1.8.11/configure.ac +=================================================================== +--- hdf5-1.8.11.orig/configure.ac ++++ hdf5-1.8.11/configure.ac +@@ -3665,7 +3665,7 @@ else + /* Test if the last 2 bytes of mantissa are lost. Mainly for FreeBSD on Intel + * architecture(sleipnir) where it happens. */ + /*if(endian==0 && c2[0]==0 && c2[1]==0)*/ /*little endian*/ +- if(endian==0 && c2[0]==0) { /*little endian*/ ++ if(endian==0 && size == 12 && c2[0]==0) { /*little endian*/ + ret = 1; + goto done; + } +@@ -3684,16 +3684,16 @@ else + * instead of 0x0000403effffffffffffffff, 0x0000403efffffffffffffffe, ..., + * 0x0000403efffffffffffff000 ... + */ +- if(endian==0 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) ++ if(endian==0 && size == 12 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) + ret = 1; + ++ if(c2_cyg) ++ free(c2_cyg); + done: + if(c1) + free(c1); + if(c2) + free(c2); +- if(c2_cyg) +- free(c2_cyg); + exit(ret); + } + ], [hdf5_cv_ullong_to_ldouble_precision=yes], [hdf5_cv_ullong_to_ldouble_precision=no],)]) diff --git a/hdf5.changes b/hdf5.changes index 2078be6..bd2a56e 100644 --- a/hdf5.changes +++ b/hdf5.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Sep 24 07:04:42 UTC 2013 - schwab@suse.de + +- hdf5-configure-long-double.patch: fix configure check for unsigned long + long to long double conversion to not fail spuriously for 128bit long + double +- Increase testsuite timeout for qemu user space build + ------------------------------------------------------------------- Fri Sep 13 12:18:27 UTC 2013 - pgajdos@suse.com diff --git a/hdf5.spec b/hdf5.spec index 86368bd..049bb06 100644 --- a/hdf5.spec +++ b/hdf5.spec @@ -46,6 +46,7 @@ Patch2: hdf5-1.8.11-abort_unknown_host_config.patch %ifarch %arm Patch4: hdf5-1.8.10-tests-arm.patch %endif +Patch5: hdf5-configure-long-double.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gcc-c++ %if 0%{?suse_version} > 1140 @@ -286,6 +287,7 @@ test "%{hdf5_libver}" = "${LT_VERS_INTERFACE}" || exit 1 %ifarch %arm %patch4 -p0 -b .tests-arm %endif +%patch5 -p1 echo "prepare parallel builds: %_mpi" for build_dir in build %_mpi; do @@ -379,6 +381,10 @@ cat > %{buildroot}%{_sysconfdir}/rpm/macros.hdf5 <