---- hdf5-1.8.2/src/H5detect.c.orig 2008-11-10 22:28:08.000000000 +0100
-+++ hdf5-1.8.2/src/H5detect.c 2009-04-23 07:14:48.909720511 +0200
-@@ -109,7 +109,7 @@
- static void detect_C99_integers64(void);
- static void detect_alignments(void);
- static size_t align_g[] = {1, 2, 4, 8, 16};
--static jmp_buf jbuf_g;
-+static sigjmp_buf jbuf_g;
+--- hdf5-1.8.5-patch1/configure.in.orig 2010-08-26 16:27:23.000000000 +0200
++++ hdf5-1.8.5-patch1/configure.in 2010-10-06 08:26:23.847742720 +0200
+@@ -2086,10 +2086,15 @@
+ AC_CHECK_FUNCS(alarm BSDgettimeofday fork frexpf frexpl)
+ AC_CHECK_FUNCS(gethostname getpwuid getrusage lstat)
+ AC_CHECK_FUNCS(rand_r random setsysinfo)
+-AC_CHECK_FUNCS(signal longjmp setjmp siglongjmp sigsetjmp sigprocmask)
++AC_CHECK_FUNCS(signal longjmp setjmp siglongjmp sigprocmask)
+ AC_CHECK_FUNCS(snprintf srandom strdup symlink system)
+ AC_CHECK_FUNCS(tmpfile vasprintf waitpid)
- \f
- /*-------------------------------------------------------------------------
-@@ -368,7 +368,7 @@
- void (*_handler2)(int) = signal(SIGSEGV, sigsegv_handler); \
- \
- _buf = (char*)malloc(sizeof(TYPE) + align_g[NELMTS(align_g) - 1]); \
-- if(setjmp(jbuf_g)) _ano++; \
-+ if(sigsetjmp(jbuf_g, 1)) _ano++; \
- if(_ano < NELMTS(align_g)) { \
- *((TYPE*)(_buf+align_g[_ano])) = _val; /*possible SIGBUS or SEGSEGV*/ \
- _val2 = *((TYPE*)(_buf+align_g[_ano])); /*possible SIGBUS or SEGSEGV*/ \
-@@ -385,7 +385,7 @@
- memcpy(_buf+align_g[_ano]+(INFO.offset/8),((char *)&_val)+(INFO.offset/8),(size_t)(INFO.precision/8)); \
- _val2 = *((TYPE*)(_buf+align_g[_ano])); \
- if(_val!=_val2) \
-- longjmp(jbuf_g, 1); \
-+ siglongjmp(jbuf_g, 1); \
- /* End Cray Check */ \
- (INFO.align)=align_g[_ano]; \
- } else { \
-@@ -469,7 +469,7 @@
- sigsegv_handler(int UNUSED signo)
- {
- signal(SIGSEGV, sigsegv_handler);
-- longjmp(jbuf_g, 1);
-+ siglongjmp(jbuf_g, 1);
- }
-
- \f
-@@ -494,10 +494,7 @@
- sigbus_handler(int UNUSED signo)
- {
- signal(SIGBUS, sigbus_handler);
-- longjmp(jbuf_g, 1);
--#ifdef H5_HAVE_SIGLONGJMP
- siglongjmp(jbuf_g, 1);
--#endif /* H5_HAVE_SIGLONGJMP */
- }
-
- \f
++dnl cannot be detected in glibc by plain AC_CHECK_FUNCS
++AH_TEMPLATE([HAVE_SIGSETJMP], [Have sigsetjmp function])
++AC_CHECK_FUNC([sigsetjmp], [AC_DEFINE([HAVE_SIGSETJMP])],
++ [AC_CHECK_FUNC([__sigsetjmp], [AC_DEFINE([HAVE_SIGSETJMP])])])
++
+ dnl Check for vsnprintf() separately, so we can detect situations where it
+ dnl doesn't return the correct size for formatted strings that are too large
+ dnl for the buffer provided
Summary: Hierarchical Data Format 5 library
Summary(pl.UTF-8): Biblioteka HDF5 (Hierarchical Data Format 5)
Name: hdf5
-Version: 1.8.4.patch1
+Version: 1.8.5.patch1
Release: 1
License: Nearly BSD, but changed sources must be marked
Group: Libraries
-Source0: ftp://ftp.hdfgroup.org/HDF5/current/src/%{name}-1.8.4-patch1.tar.gz
-# Source0-md5: aa3878d2fcc5fe92a1482d79cf2eee58
+Source0: ftp://ftp.hdfgroup.org/HDF5/current/src/%{name}-1.8.5-patch1.tar.gz
+# Source0-md5: d22a35a17877e369055ed50da5ba91fa
Patch0: %{name}-config.patch
Patch1: %{name}-sig.patch
Patch2: %{name}-link.patch
BuildRequires: libjpeg-devel >= 6b
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 2:1.5
-BuildRequires: openssl-devel >= 0.9.7d
%{?with_szip:BuildRequires: szip-devel >= 2.0}
BuildRequires: zlib-devel >= 1.1.3
Obsoletes: hdf5_hl
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki HDF5
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: openssl-devel
%{?with_szip:Requires: szip-devel >= 2.0}
Requires: zlib-devel
Obsoletes: hdf5_hl-devel
%description static -l pl.UTF-8
Statyczna wersja biblioteki HDF5.
+%package c++
+Summary: C++ APIs for HDF5
+Summary(pl.UTF-8): API C++ bibliotek HDF5
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description c++
+C++ APIs for HDF5 (both base hdf5 and hdf5_hl).
+
+%description c++ -l pl.UTF-8
+API C++ dla bibliotek HDF5 (zarówno podstawowej hdf5, jak i hdf5_hl).
+
+%package c++-devel
+Summary: Header files for HDF5 C++ APIs
+Summary(pl.UTF-8): Pliki nagłówkowe API C++ bibliotek HDF5
+Group: Development/Libraries
+Requires: %{name}-c++ = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Requires: libstdc++-devel
+
+%description c++-devel
+Header files for HDF5 C++ APIs (both base hdf5 and hdf5_hl).
+
+%description c++-devel -l pl.UTF-8
+Pliki nagłówkowe API C++ bibliotek HDF5 (zarówno podstawowej hdf5, jak
+i hdf5_hl).
+
+%package c++-static
+Summary: C++ APIs for HDF5 - static libraries
+Summary(pl.UTF-8): API C++ bibliotek HDF5 - biblioteki statyczne
+Group: Development/Libraries
+Requires: %{name}-c++-devel = %{version}-%{release}
+
+%description c++-static
+C++ APIs for HDF5 (both base hdf5 and hdf5_hl) - static libraries.
+
+%description c++-static -l pl.UTF-8
+API C++ dla bibliotek HDF5 (zarówno podstawowej hdf5, jak i hdf5_hl) -
+biblioteki statyczne.
+
%package progs
Summary: HDF5 utilities
Summary(pl.UTF-8): Narzędzia do plików HDF5
Narzędzia do konwersji z i to formatu HDF5.
%prep
-%setup -q -n %{name}-1.8.4-patch1
+%setup -q -n %{name}-1.8.5-patch1
%patch0 -p1
%patch1 -p1
%patch2 -p1
--enable-linux-lfs \
--enable-production \
--with-pthread \
- --with-ssl \
%{?with_szip:--with-szlib}
# --enable-threadsafe is incompatible with cxx/fortran
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_includedir}
-%{__make} install \
- libdir=$RPM_BUILD_ROOT%{_libdir} \
- includedir=$RPM_BUILD_ROOT%{_includedir} \
- bindir=$RPM_BUILD_ROOT%{_bindir} \
- docdir=$RPM_BUILD_ROOT%{_docdir}
+%{__make} install-recursive \
+ DESTDIR=$RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/hl
%{__make} -C examples install-examples \
- EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/c
+ EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/c \
+ EXAMPLETOPDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%{__make} -C c++/examples install-examples \
EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/c++
+%{__make} -C hl/examples install-examples \
+ EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/hl/c \
+ EXAMPLETOPDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/hl
+%{__make} -C hl/c++/examples install-examples \
+ EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/hl/c++
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post c++ -p /sbin/ldconfig
+%postun c++ -p /sbin/ldconfig
+
%files
%defattr(644,root,root,755)
%doc COPYING README.txt release_docs/{HISTORY*.txt,RELEASE.txt}
%attr(755,root,root) %{_libdir}/libhdf5.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libhdf5.so.6
-%attr(755,root,root) %{_libdir}/libhdf5_cpp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libhdf5_cpp.so.6
%attr(755,root,root) %{_libdir}/libhdf5_hl.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libhdf5_hl.so.6
-%attr(755,root,root) %{_libdir}/libhdf5_hl_cpp.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libhdf5_hl_cpp.so.6
# used to show configuration at runtime
%{_libdir}/libhdf5.settings
%files devel
%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/h5cc
%attr(755,root,root) %{_libdir}/libhdf5.so
-%attr(755,root,root) %{_libdir}/libhdf5_cpp.so
%attr(755,root,root) %{_libdir}/libhdf5_hl.so
-%attr(755,root,root) %{_libdir}/libhdf5_hl_cpp.so
%{_libdir}/libhdf5.la
-%{_libdir}/libhdf5_cpp.la
%{_libdir}/libhdf5_hl.la
-%{_libdir}/libhdf5_hl_cpp.la
-%{_includedir}/H5*.h
+%{_includedir}/H5ACpublic.h
+%{_includedir}/H5Apublic.h
+%{_includedir}/H5Cpublic.h
+%{_includedir}/H5DSpublic.h
+%{_includedir}/H5Dpublic.h
+%{_includedir}/H5Epubgen.h
+%{_includedir}/H5Epublic.h
+%{_includedir}/H5FDcore.h
+%{_includedir}/H5FDdirect.h
+%{_includedir}/H5FDfamily.h
+%{_includedir}/H5FDlog.h
+%{_includedir}/H5FDmpi.h
+%{_includedir}/H5FDmpio.h
+%{_includedir}/H5FDmpiposix.h
+%{_includedir}/H5FDmulti.h
+%{_includedir}/H5FDpublic.h
+%{_includedir}/H5FDsec2.h
+%{_includedir}/H5FDstdio.h
+%{_includedir}/H5Fpublic.h
+%{_includedir}/H5Gpublic.h
+%{_includedir}/H5IMpublic.h
+%{_includedir}/H5Include.h
+%{_includedir}/H5Ipublic.h
+%{_includedir}/H5LTpublic.h
+%{_includedir}/H5Lpublic.h
+%{_includedir}/H5MMpublic.h
+%{_includedir}/H5Opublic.h
+%{_includedir}/H5PTpublic.h
+%{_includedir}/H5Ppublic.h
+%{_includedir}/H5Rpublic.h
+%{_includedir}/H5Spublic.h
+%{_includedir}/H5TBpublic.h
+%{_includedir}/H5Tpublic.h
+%{_includedir}/H5Zpublic.h
+%{_includedir}/H5api_adpt.h
+%{_includedir}/H5overflow.h
+%{_includedir}/H5pubconf.h
+%{_includedir}/H5public.h
+%{_includedir}/H5version.h
%{_includedir}/hdf5.h
%{_includedir}/hdf5_hl.h
-%{_examplesdir}/%{name}-%{version}
+%dir %{_examplesdir}/%{name}-%{version}
+%{_examplesdir}/%{name}-%{version}/run-all-ex.sh
+%{_examplesdir}/%{name}-%{version}/c
+%dir %{_examplesdir}/%{name}-%{version}/hl
+%{_examplesdir}/%{name}-%{version}/hl/run-hl-ex.sh
+%{_examplesdir}/%{name}-%{version}/hl/c
%files static
%defattr(644,root,root,755)
%{_libdir}/libhdf5_hl.a
%{_libdir}/libhdf5_hl_cpp.a
+%files c++
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libhdf5_cpp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libhdf5_cpp.so.6
+%attr(755,root,root) %{_libdir}/libhdf5_hl_cpp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libhdf5_hl_cpp.so.6
+
+%files c++-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/h5c++
+%attr(755,root,root) %{_libdir}/libhdf5_cpp.so
+%attr(755,root,root) %{_libdir}/libhdf5_hl_cpp.so
+%{_libdir}/libhdf5_cpp.la
+%{_libdir}/libhdf5_hl_cpp.la
+%{_includedir}/H5AbstractDs.h
+%{_includedir}/H5ArrayType.h
+%{_includedir}/H5AtomType.h
+%{_includedir}/H5Attribute.h
+%{_includedir}/H5Classes.h
+%{_includedir}/H5CommonFG.h
+%{_includedir}/H5CompType.h
+%{_includedir}/H5Cpp.h
+%{_includedir}/H5CppDoc.h
+%{_includedir}/H5DataSet.h
+%{_includedir}/H5DataSpace.h
+%{_includedir}/H5DataType.h
+%{_includedir}/H5DcreatProp.h
+%{_includedir}/H5DxferProp.h
+%{_includedir}/H5EnumType.h
+%{_includedir}/H5Exception.h
+%{_includedir}/H5FaccProp.h
+%{_includedir}/H5FcreatProp.h
+%{_includedir}/H5File.h
+%{_includedir}/H5FloatType.h
+%{_includedir}/H5Group.h
+%{_includedir}/H5IdComponent.h
+%{_includedir}/H5IntType.h
+%{_includedir}/H5Library.h
+%{_includedir}/H5Object.h
+%{_includedir}/H5PacketTable.h
+%{_includedir}/H5PredType.h
+%{_includedir}/H5PropList.h
+%{_includedir}/H5StrType.h
+%{_includedir}/H5VarLenType.h
+%{_examplesdir}/%{name}-%{version}/c++
+%{_examplesdir}/%{name}-%{version}/hl/c++
+
%files progs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_bindir}/gif2h5
+%attr(755,root,root) %{_bindir}/h52gif
+%attr(755,root,root) %{_bindir}/h5copy
+%attr(755,root,root) %{_bindir}/h5debug
+%attr(755,root,root) %{_bindir}/h5diff
+%attr(755,root,root) %{_bindir}/h5dump
+%attr(755,root,root) %{_bindir}/h5import
+%attr(755,root,root) %{_bindir}/h5jam
+%attr(755,root,root) %{_bindir}/h5ls
+%attr(755,root,root) %{_bindir}/h5mkgrp
+%attr(755,root,root) %{_bindir}/h5perf_serial
+%attr(755,root,root) %{_bindir}/h5redeploy
+%attr(755,root,root) %{_bindir}/h5repack
+%attr(755,root,root) %{_bindir}/h5repart
+%attr(755,root,root) %{_bindir}/h5stat
+%attr(755,root,root) %{_bindir}/h5unjam