]> git.pld-linux.org Git - packages/hdf5.git/blob - hdf5.spec
- updated to 1.8.16 (note: new c++ libs sonames)
[packages/hdf5.git] / hdf5.spec
1 # TODO:
2 # - finish (optional) MPI support (1.8.14: fails on mpi_file_open check)
3 # - check missing file
4 #
5 # Conditional build:
6 %bcond_without  fortran2003     # Fortran 2003 interface
7 %bcond_without  szip            # SZIP compression support
8 %bcond_with     mpi             # parallel version of library using MPI
9 #
10 Summary:        Hierarchical Data Format 5 library
11 Summary(pl.UTF-8):      Biblioteka HDF5 (Hierarchical Data Format 5)
12 Name:           hdf5
13 Version:        1.8.16
14 Release:        1
15 License:        Nearly BSD, but changed sources must be marked
16 Group:          Libraries
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
33 Obsoletes:      hdf5_hl
34 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35
36 %description
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.
42
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.
49
50 %package devel
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}
56 Requires:       zlib-devel
57 Obsoletes:      hdf5_hl-devel
58 Obsoletes:      hdf5_hl-tutor
59
60 %description devel
61 Header files for HDF5 library and HDF5 documentation.
62
63 %description devel -l pl.UTF-8
64 Pliki nagłówkowe biblioteki HDF5 oraz dokumentacja HDF5.
65
66 %package static
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
72
73 %description static
74 Static version of HDF5 library.
75
76 %description static -l pl.UTF-8
77 Statyczna wersja biblioteki HDF5.
78
79 %package c++
80 Summary:        C++ APIs for HDF5
81 Summary(pl.UTF-8):      API C++ bibliotek HDF5
82 Group:          Libraries
83 Requires:       %{name} = %{version}-%{release}
84
85 %description c++
86 C++ APIs for HDF5 (both base hdf5 and hdf5_hl).
87
88 %description c++ -l pl.UTF-8
89 API C++ dla bibliotek HDF5 (zarówno podstawowej hdf5, jak i hdf5_hl).
90
91 %package c++-devel
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
98
99 %description c++-devel
100 Header files for HDF5 C++ APIs (both base hdf5 and hdf5_hl).
101
102 %description c++-devel -l pl.UTF-8
103 Pliki nagłówkowe API C++ bibliotek HDF5 (zarówno podstawowej hdf5, jak
104 i hdf5_hl).
105
106 %package c++-static
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}
111
112 %description c++-static
113 C++ APIs for HDF5 (both base hdf5 and hdf5_hl) - static libraries.
114
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.
118
119 %package fortran
120 Summary:        Fortran APIs for HDF5
121 Summary(pl.UTF-8):      API Fortran bibliotek HDF5
122 Group:          Libraries
123 Requires:       %{name} = %{version}-%{release}
124
125 %description fortran
126 Fortran APIs for HDF5 (both base hdf5 and hdf5_hl).
127
128 %description fortran -l pl.UTF-8
129 API Fortran dla bibliotek HDF5 (zarówno podstawowej hdf5, jak i
130 hdf5_hl).
131
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}
139
140 %description fortran-devel
141 Module and header files for HDF5 Fortran APIs (both base hdf5 and
142 hdf5_hl).
143
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).
147
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}
153
154 %description fortran-static
155 Fortran APIs for HDF5 (both base hdf5 and hdf5_hl) - static libraries.
156
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.
160
161 %package progs
162 Summary:        HDF5 utilities
163 Summary(pl.UTF-8):      Narzędzia do plików HDF5
164 Group:          Applications/File
165 Requires:       %{name} = %{version}-%{release}
166
167 %description progs
168 Utilities to convert from/to HDF5 format.
169
170 %description progs -l pl.UTF-8
171 Narzędzia do konwersji z i to formatu HDF5.
172
173 %prep
174 %setup -q
175 %patch0 -p1
176 %patch1 -p1
177 %patch2 -p1
178 %patch3 -p1
179
180 %build
181 %{__libtoolize}
182 %{__aclocal}
183 %{__autoconf}
184 %{__autoheader}
185 %{__automake}
186 %configure \
187         --docdir=%{_docdir} \
188         --disable-silent-rules \
189         --enable-cxx \
190         --enable-fortran \
191         %{?with_fortran2003:--enable-fortran2003} \
192         %{?with_mpi:--enable-parallel --enable-unsupported} \
193         --enable-production \
194         --enable-shared \
195         --with-pthread \
196         %{?with_szip:--with-szlib}
197
198 #       --enable-threadsafe is incompatible with cxx/fortran
199
200 %{__make}
201
202 %install
203 rm -rf $RPM_BUILD_ROOT
204 install -d $RPM_BUILD_ROOT%{_includedir}
205
206 %{__make} install-recursive \
207         DESTDIR=$RPM_BUILD_ROOT
208
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++
220
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},' \
245 %ifarch %{ix86} x32
246             -e 's,@CMAKE_SIZEOF_VOID_P@,4,' \
247 %else
248 %ifarch %{x8664}
249             -e 's,@CMAKE_SIZEOF_VOID_P@,8,' \
250 %endif
251 %endif
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
264 done
265
266 %clean
267 rm -rf $RPM_BUILD_ROOT
268
269 %post   -p /sbin/ldconfig
270 %postun -p /sbin/ldconfig
271
272 %post   c++ -p /sbin/ldconfig
273 %postun c++ -p /sbin/ldconfig
274
275 %post   fortran -p /sbin/ldconfig
276 %postun fortran -p /sbin/ldconfig
277
278 %files
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
287
288 %files devel
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
338
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
347
348 %files static
349 %defattr(644,root,root,755)
350 %{_libdir}/libhdf5.a
351 %{_libdir}/libhdf5_hl.a
352
353 %files c++
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
359
360 %files c++-devel
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++
401
402 %files c++-static
403 %defattr(644,root,root,755)
404 %{_libdir}/libhdf5_cpp.a
405 %{_libdir}/libhdf5_hl_cpp.a
406
407 %files fortran
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
413
414 %files fortran-devel
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
456
457 %files fortran-static
458 %defattr(644,root,root,755)
459 %{_libdir}/libhdf5_fortran.a
460 %{_libdir}/libhdf5hl_fortran.a
461
462 %files progs
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
This page took 0.114292 seconds and 3 git commands to generate.