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