2 # - finish (optional) MPI support (1.8.14: fails on mpi_file_open check)
6 %bcond_without fortran2003 # Fortran 2003 interface
7 %bcond_without szip # SZIP compression support
8 %bcond_with mpi # parallel version of library using MPI
10 Summary: Hierarchical Data Format 5 library
11 Summary(pl.UTF-8): Biblioteka HDF5 (Hierarchical Data Format 5)
15 License: Nearly BSD, but changed sources must be marked
17 Source0: ftp://ftp.hdfgroup.org/HDF5/current/src/%{name}-%{version}.tar.bz2
18 # Source0-md5: 79c1593573ebddf734eee8d43ecfe483
19 Patch0: %{name}-config.patch
20 Patch1: %{name}-sig.patch
21 Patch2: %{name}-cmake.patch
22 Patch3: %{name}-format.patch
23 URL: http://www.hdfgroup.org/HDF5/
24 BuildRequires: autoconf >= 2.69
25 BuildRequires: automake >= 1:1.11
26 BuildRequires: gcc-fortran >= %{?with_fortran2003:6:4.2}%{!?with_fortran2003:5:4.0}
27 BuildRequires: libjpeg-devel >= 6b
28 BuildRequires: libstdc++-devel
29 BuildRequires: libtool >= 2:2.2
30 %{?with_mpi:BuildRequires: mpi-devel}
31 %{?with_szip:BuildRequires: szip-devel >= 2.0}
32 BuildRequires: zlib-devel >= 1.1.3
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 HDF5 is a completely new Hierarchical Data Format product consisting
38 of a data format specification and a supporting library
39 implementation. HDF5 is designed to address some of the limitations of
40 the older HDF product and to address current and anticipated
41 requirements of modern systems and applications.
43 %description -l pl.UTF-8
44 HDF5 jest całkowicie nowym produktem Hierarchiczego Formatu Danych,
45 składającym się ze specyfikacji formatu danych oraz obsługującej go
46 biblioteki. HDF5 został zaprojektowany aby pozbyć się ograniczeń
47 poprzedniego HDF oraz żeby zaspokoić bieżące i przyszłe potrzeby
48 współczesnych systemów i aplikacji.
51 Summary: HDF5 library development package
52 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki HDF5
53 Group: Development/Libraries
54 Requires: %{name} = %{version}-%{release}
55 %{?with_szip:Requires: szip-devel >= 2.0}
57 Obsoletes: hdf5_hl-devel
58 Obsoletes: hdf5_hl-tutor
61 Header files for HDF5 library and HDF5 documentation.
63 %description devel -l pl.UTF-8
64 Pliki nagłówkowe biblioteki HDF5 oraz dokumentacja HDF5.
67 Summary: HDF5 static library
68 Summary(pl.UTF-8): Statyczna biblioteka HDF5
69 Group: Development/Libraries
70 Requires: %{name}-devel = %{version}-%{release}
71 Obsoletes: hdf5_hl-static
74 Static version of HDF5 library.
76 %description static -l pl.UTF-8
77 Statyczna wersja biblioteki HDF5.
80 Summary: C++ APIs for HDF5
81 Summary(pl.UTF-8): API C++ bibliotek HDF5
83 Requires: %{name} = %{version}-%{release}
86 C++ APIs for HDF5 (both base hdf5 and hdf5_hl).
88 %description c++ -l pl.UTF-8
89 API C++ dla bibliotek HDF5 (zarówno podstawowej hdf5, jak i hdf5_hl).
92 Summary: Header files for HDF5 C++ APIs
93 Summary(pl.UTF-8): Pliki nagłówkowe API C++ bibliotek HDF5
94 Group: Development/Libraries
95 Requires: %{name}-c++ = %{version}-%{release}
96 Requires: %{name}-devel = %{version}-%{release}
97 Requires: libstdc++-devel
99 %description c++-devel
100 Header files for HDF5 C++ APIs (both base hdf5 and hdf5_hl).
102 %description c++-devel -l pl.UTF-8
103 Pliki nagłówkowe API C++ bibliotek HDF5 (zarówno podstawowej hdf5, jak
107 Summary: C++ APIs for HDF5 - static libraries
108 Summary(pl.UTF-8): API C++ bibliotek HDF5 - biblioteki statyczne
109 Group: Development/Libraries
110 Requires: %{name}-c++-devel = %{version}-%{release}
112 %description c++-static
113 C++ APIs for HDF5 (both base hdf5 and hdf5_hl) - static libraries.
115 %description c++-static -l pl.UTF-8
116 API C++ dla bibliotek HDF5 (zarówno podstawowej hdf5, jak i hdf5_hl) -
117 biblioteki statyczne.
120 Summary: Fortran APIs for HDF5
121 Summary(pl.UTF-8): API Fortran bibliotek HDF5
123 Requires: %{name} = %{version}-%{release}
126 Fortran APIs for HDF5 (both base hdf5 and hdf5_hl).
128 %description fortran -l pl.UTF-8
129 API Fortran dla bibliotek HDF5 (zarówno podstawowej hdf5, jak i
132 %package fortran-devel
133 Summary: Header files for HDF5 Fortran APIs
134 Summary(pl.UTF-8): Pliki nagłówkowe API Fortran bibliotek HDF5
135 Group: Development/Libraries
136 Requires: %{name}-devel = %{version}-%{release}
137 Requires: %{name}-fortran = %{version}-%{release}
138 Requires: gcc-fortran >= %{?with_fortran2003:6:4.2}%{!?with_fortran2003:5:4.0}
140 %description fortran-devel
141 Module and header files for HDF5 Fortran APIs (both base hdf5 and
144 %description fortran-devel -l pl.UTF-8
145 Moduły i pliki nagłówkowe API C++ bibliotek HDF5 (zarówno podstawowej
146 hdf5, jak i hdf5_hl).
148 %package fortran-static
149 Summary: Fortran APIs for HDF5 - static libraries
150 Summary(pl.UTF-8): API Fortran bibliotek HDF5 - biblioteki statyczne
151 Group: Development/Libraries
152 Requires: %{name}-fortran-devel = %{version}-%{release}
154 %description fortran-static
155 Fortran APIs for HDF5 (both base hdf5 and hdf5_hl) - static libraries.
157 %description fortran-static -l pl.UTF-8
158 API Fortran dla bibliotek HDF5 (zarówno podstawowej hdf5, jak i
159 hdf5_hl) - biblioteki statyczne.
162 Summary: HDF5 utilities
163 Summary(pl.UTF-8): Narzędzia do plików HDF5
164 Group: Applications/File
165 Requires: %{name} = %{version}-%{release}
168 Utilities to convert from/to HDF5 format.
170 %description progs -l pl.UTF-8
171 Narzędzia do konwersji z i to formatu HDF5.
187 --docdir=%{_docdir} \
188 --disable-silent-rules \
191 %{?with_fortran2003:--enable-fortran2003} \
192 %{?with_mpi:--enable-parallel --enable-unsupported} \
193 --enable-production \
196 %{?with_szip:--with-szlib}
198 # --enable-threadsafe is incompatible with cxx/fortran
203 rm -rf $RPM_BUILD_ROOT
204 install -d $RPM_BUILD_ROOT%{_includedir}
206 %{__make} install-recursive \
207 DESTDIR=$RPM_BUILD_ROOT
209 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/hl
210 %{__make} -C examples install-examples \
211 EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/c \
212 EXAMPLETOPDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
213 %{__make} -C c++/examples install-examples \
214 EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/c++
215 %{__make} -C hl/examples install-examples \
216 EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/hl/c \
217 EXAMPLETOPDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/hl
218 %{__make} -C hl/c++/examples install-examples \
219 EXAMPLEDIR=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/hl/c++
221 install -d $RPM_BUILD_ROOT%{_datadir}/cmake/hdf5
222 vmajor=$(sed -ne 's/^#define H5_VERS_MAJOR\s*\([0-9]\+\).*/\1/p' src/H5public.h)
223 vminor=$(sed -ne 's/^#define H5_VERS_MINOR\s*\([0-9]\+\).*/\1/p' src/H5public.h)
224 vrel=$(sed -ne 's/^#define H5_VERS_RELEASE\s*\([0-9]\+\).*/\1/p' src/H5public.h)
225 vsubr=$(sed -ne 's/^#define H5_VERS_SUBRELEASE\s*\([^ \t]\+\).*/\1/p' src/H5public.h)
226 for f in FindHDF5.cmake hdf5-config-version.cmake hdf5-config.cmake hdf5-targets.cmake hdf5-targets-noconfig.cmake ; do
227 sed -e 's,@HDF5_PACKAGE@,hdf5,' \
228 -e 's,@HDF_PACKAGE_EXT@,,' \
229 -e "s,@HDF5_VERSION_STRING@,%{version}," \
230 -e "s,@HDF5_VERSION_MAJOR@,1.8," \
231 -e "s,@HDF5_VERSION_MINOR@,$vrel," \
232 -e "s,@H5_VERS_MAJOR@,$vmajor," \
233 -e "s,@H5_VERS_MINOR@,$vminor," \
234 -e "s,@H5_VERS_RELEASE@,$vrel," \
235 -e "s,@H5_VERS_SUBRELEASE@,$vsubr," \
236 -e 's,@HDF5_ENABLE_PARALLEL@,OFF,' \
237 -e 's,@HDF5_BUILD_FORTRAN@,ON,' \
238 -e 's,@HDF5_ENABLE_F2003@,%{?with_fortran2003:ON}%{!?with_fortran2003:OFF},' \
239 -e 's,@HDF5_BUILD_CPP_LIB@,ON,' \
240 -e 's,@HDF5_BUILD_TOOLS@,ON,' \
241 -e 's,@HDF5_BUILD_HL_LIB@,ON,' \
242 -e 's,@HDF5_ENABLE_Z_LIB_SUPPORT@,ON,' \
243 -e 's,@HDF5_ENABLE_SZIP_SUPPORT@,%{?with_szip:ON}%{!?with_szip:OFF},' \
244 -e 's,@HDF5_ENABLE_SZIP_ENCODING@,%{?with_szip:ON}%{!?with_szip:OFF},' \
246 -e 's,@CMAKE_SIZEOF_VOID_P@,4,' \
249 -e 's,@CMAKE_SIZEOF_VOID_P@,8,' \
252 -e 's,@BUILD_SHARED_LIBS@,ON,' \
253 -e 's,@HDF5_PACKAGE_EXTLIBS@,OFF,' \
254 -e 's,@ZLIB_PACKAGE_NAME@,zlib,' \
255 -e 's,@SZIP_PACKAGE_NAME@,szip,' \
256 -e 's,@HDF5_LIBRARIES_TO_EXPORT@,hdf5,' \
257 -e 's,@lib@,%{_lib},' \
258 %{?with_mpi:-e 's,@MPI_C_INCLUDE_PATH@,%{_includedir},'} \
259 %{?with_mpi:-e 's,@MPI_C_LIBRARIES@,%{_libdir},'} \
260 -e 's,@PACKAGE_INCLUDE_INSTALL_DIR@,%{_includedir},' \
261 -e 's,@PACKAGE_SHARE_INSTALL_DIR@,%{_datadir}/cmake/hdf5,' \
262 -e 's,@PACKAGE_CURRENT_BUILD_DIR@,%{_prefix},' \
263 config/cmake/${f}.in > $RPM_BUILD_ROOT%{_datadir}/cmake/hdf5/$f
267 rm -rf $RPM_BUILD_ROOT
269 %post -p /sbin/ldconfig
270 %postun -p /sbin/ldconfig
272 %post c++ -p /sbin/ldconfig
273 %postun c++ -p /sbin/ldconfig
275 %post fortran -p /sbin/ldconfig
276 %postun fortran -p /sbin/ldconfig
279 %defattr(644,root,root,755)
280 %doc COPYING README.txt release_docs/{HISTORY*.txt,RELEASE.txt}
281 %attr(755,root,root) %{_libdir}/libhdf5.so.*.*.*
282 %attr(755,root,root) %ghost %{_libdir}/libhdf5.so.10
283 %attr(755,root,root) %{_libdir}/libhdf5_hl.so.*.*.*
284 %attr(755,root,root) %ghost %{_libdir}/libhdf5_hl.so.10
285 # used to show configuration at runtime
286 %{_libdir}/libhdf5.settings
289 %defattr(644,root,root,755)
290 %attr(755,root,root) %{_bindir}/h5cc
291 %attr(755,root,root) %{_libdir}/libhdf5.so
292 %attr(755,root,root) %{_libdir}/libhdf5_hl.so
293 %{_libdir}/libhdf5.la
294 %{_libdir}/libhdf5_hl.la
295 %{_includedir}/H5ACpublic.h
296 %{_includedir}/H5Apublic.h
297 %{_includedir}/H5Cpublic.h
298 %{_includedir}/H5DOpublic.h
299 %{_includedir}/H5DSpublic.h
300 %{_includedir}/H5Dpublic.h
301 %{_includedir}/H5Epubgen.h
302 %{_includedir}/H5Epublic.h
303 %{_includedir}/H5FDcore.h
304 %{_includedir}/H5FDdirect.h
305 %{_includedir}/H5FDfamily.h
306 %{_includedir}/H5FDlog.h
307 %{_includedir}/H5FDmpi.h
308 %{_includedir}/H5FDmpio.h
309 %{_includedir}/H5FDmulti.h
310 %{_includedir}/H5FDpublic.h
311 %{_includedir}/H5FDsec2.h
312 %{_includedir}/H5FDstdio.h
313 %{_includedir}/H5Fpublic.h
314 %{_includedir}/H5Gpublic.h
315 %{_includedir}/H5IMpublic.h
316 %{_includedir}/H5Include.h
317 %{_includedir}/H5Ipublic.h
318 %{_includedir}/H5LTpublic.h
319 %{_includedir}/H5Lpublic.h
320 %{_includedir}/H5MMpublic.h
321 %{_includedir}/H5Opublic.h
322 %{_includedir}/H5PTpublic.h
323 %{_includedir}/H5Ppublic.h
324 %{_includedir}/H5PLextern.h
325 %{_includedir}/H5PLpublic.h
326 %{_includedir}/H5Rpublic.h
327 %{_includedir}/H5Spublic.h
328 %{_includedir}/H5TBpublic.h
329 %{_includedir}/H5Tpublic.h
330 %{_includedir}/H5Zpublic.h
331 %{_includedir}/H5api_adpt.h
332 %{_includedir}/H5overflow.h
333 %{_includedir}/H5pubconf.h
334 %{_includedir}/H5public.h
335 %{_includedir}/H5version.h
336 %{_includedir}/hdf5.h
337 %{_includedir}/hdf5_hl.h
339 %{_datadir}/cmake/hdf5
340 %dir %{_examplesdir}/%{name}-%{version}
341 %{_examplesdir}/%{name}-%{version}/README
342 %{_examplesdir}/%{name}-%{version}/run-all-ex.sh
343 %{_examplesdir}/%{name}-%{version}/c
344 %dir %{_examplesdir}/%{name}-%{version}/hl
345 %{_examplesdir}/%{name}-%{version}/hl/run-hl-ex.sh
346 %{_examplesdir}/%{name}-%{version}/hl/c
349 %defattr(644,root,root,755)
351 %{_libdir}/libhdf5_hl.a
354 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_libdir}/libhdf5_cpp.so.*.*.*
356 %attr(755,root,root) %ghost %{_libdir}/libhdf5_cpp.so.11
357 %attr(755,root,root) %{_libdir}/libhdf5_hl_cpp.so.*.*.*
358 %attr(755,root,root) %ghost %{_libdir}/libhdf5_hl_cpp.so.11
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_bindir}/h5c++
363 %attr(755,root,root) %{_libdir}/libhdf5_cpp.so
364 %attr(755,root,root) %{_libdir}/libhdf5_hl_cpp.so
365 %{_libdir}/libhdf5_cpp.la
366 %{_libdir}/libhdf5_hl_cpp.la
367 %{_includedir}/H5AbstractDs.h
368 %{_includedir}/H5ArrayType.h
369 %{_includedir}/H5AtomType.h
370 %{_includedir}/H5Attribute.h
371 %{_includedir}/H5Classes.h
372 %{_includedir}/H5CommonFG.h
373 %{_includedir}/H5CompType.h
374 %{_includedir}/H5Cpp.h
375 %{_includedir}/H5CppDoc.h
376 %{_includedir}/H5DataSet.h
377 %{_includedir}/H5DataSpace.h
378 %{_includedir}/H5DataType.h
379 %{_includedir}/H5DcreatProp.h
380 %{_includedir}/H5DxferProp.h
381 %{_includedir}/H5EnumType.h
382 %{_includedir}/H5Exception.h
383 %{_includedir}/H5FaccProp.h
384 %{_includedir}/H5FcreatProp.h
385 %{_includedir}/H5File.h
386 %{_includedir}/H5FloatType.h
387 %{_includedir}/H5Group.h
388 %{_includedir}/H5IdComponent.h
389 %{_includedir}/H5IntType.h
390 %{_includedir}/H5Library.h
391 %{_includedir}/H5Location.h
392 %{_includedir}/H5Object.h
393 %{_includedir}/H5OcreatProp.h
394 %{_includedir}/H5PacketTable.h
395 %{_includedir}/H5PredType.h
396 %{_includedir}/H5PropList.h
397 %{_includedir}/H5StrType.h
398 %{_includedir}/H5VarLenType.h
399 %{_examplesdir}/%{name}-%{version}/c++
400 %{_examplesdir}/%{name}-%{version}/hl/c++
403 %defattr(644,root,root,755)
404 %{_libdir}/libhdf5_cpp.a
405 %{_libdir}/libhdf5_hl_cpp.a
408 %defattr(644,root,root,755)
409 %attr(755,root,root) %{_libdir}/libhdf5_fortran.so.*.*.*
410 %attr(755,root,root) %ghost %{_libdir}/libhdf5_fortran.so.10
411 %attr(755,root,root) %{_libdir}/libhdf5hl_fortran.so.*.*.*
412 %attr(755,root,root) %ghost %{_libdir}/libhdf5hl_fortran.so.10
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_bindir}/h5fc
417 %attr(755,root,root) %{_libdir}/libhdf5_fortran.so
418 %attr(755,root,root) %{_libdir}/libhdf5hl_fortran.so
419 %{_libdir}/libhdf5_fortran.la
420 %{_libdir}/libhdf5hl_fortran.la
421 %{_includedir}/H5f90i.h
422 %{_includedir}/H5f90i_gen.h
423 %{_includedir}/h5_dble_interface.mod
424 %{_includedir}/h5a.mod
425 %{_includedir}/h5a_provisional.mod
426 %{_includedir}/h5d.mod
427 %{_includedir}/h5d_provisional.mod
428 %{_includedir}/h5ds.mod
429 %{_includedir}/h5e.mod
430 %{_includedir}/h5e_provisional.mod
431 %{_includedir}/h5f.mod
432 %{_includedir}/h5f_provisional.mod
433 %{_includedir}/h5fortran_types.mod
434 %{_includedir}/h5g.mod
435 %{_includedir}/h5global.mod
436 %{_includedir}/h5i.mod
437 %{_includedir}/h5im.mod
438 %{_includedir}/h5l.mod
439 %{_includedir}/h5l_provisional.mod
440 %{_includedir}/h5lib.mod
441 %{_includedir}/h5lib_provisional.mod
442 %{_includedir}/h5lt.mod
443 %{_includedir}/h5o.mod
444 %{_includedir}/h5o_provisional.mod
445 %{_includedir}/h5p.mod
446 %{_includedir}/h5p_provisional.mod
447 %{_includedir}/h5r.mod
448 %{_includedir}/h5r_provisional.mod
449 %{_includedir}/h5s.mod
450 %{_includedir}/h5t.mod
451 %{_includedir}/h5t_provisional.mod
452 %{_includedir}/h5tb.mod
453 %{_includedir}/h5test_kind_storage_size_mod.mod
454 %{_includedir}/h5z.mod
455 %{_includedir}/hdf5.mod
457 %files fortran-static
458 %defattr(644,root,root,755)
459 %{_libdir}/libhdf5_fortran.a
460 %{_libdir}/libhdf5hl_fortran.a
463 %defattr(644,root,root,755)
464 %attr(755,root,root) %{_bindir}/gif2h5
465 %attr(755,root,root) %{_bindir}/h52gif
466 %attr(755,root,root) %{_bindir}/h5copy
467 %attr(755,root,root) %{_bindir}/h5debug
468 %attr(755,root,root) %{_bindir}/h5diff
469 %attr(755,root,root) %{_bindir}/h5dump
470 %attr(755,root,root) %{_bindir}/h5import
471 %attr(755,root,root) %{_bindir}/h5jam
472 %attr(755,root,root) %{_bindir}/h5ls
473 %attr(755,root,root) %{_bindir}/h5mkgrp
474 %attr(755,root,root) %{_bindir}/h5perf_serial
475 %attr(755,root,root) %{_bindir}/h5redeploy
476 %attr(755,root,root) %{_bindir}/h5repack
477 %attr(755,root,root) %{_bindir}/h5repart
478 %attr(755,root,root) %{_bindir}/h5stat
479 %attr(755,root,root) %{_bindir}/h5unjam