2012-03-09 21:23:35 +01:00
|
|
|
#
|
2012-03-12 20:12:59 +01:00
|
|
|
# spec file for package hdf5
|
2012-03-09 21:23:35 +01:00
|
|
|
#
|
2017-07-04 15:12:49 +02:00
|
|
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
2012-03-09 21:23:35 +01:00
|
|
|
#
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
|
|
#
|
|
|
|
|
2012-03-12 20:12:59 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%global flavor @BUILD_FLAVOR@%{nil}
|
|
|
|
|
|
|
|
#
|
|
|
|
%define _do_check 1
|
|
|
|
%define use_sz2 0
|
|
|
|
|
2017-11-08 11:04:37 +01:00
|
|
|
%define vers 1.10.1
|
|
|
|
%define _vers 1_10_1
|
2017-10-17 12:09:52 +02:00
|
|
|
%define short_ver 1.10
|
2017-11-08 11:04:37 +01:00
|
|
|
%define src_ver %{version}
|
2017-10-17 12:09:52 +02:00
|
|
|
%define pname hdf5
|
|
|
|
|
2017-10-17 16:23:03 +02:00
|
|
|
%bcond_with ringdisabled
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if "%{flavor}" == ""
|
|
|
|
ExclusiveArch: do_not_build
|
|
|
|
%define package_name %pname
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{flavor}" == "serial"
|
|
|
|
%undefine suffix
|
|
|
|
%undefine mpi_flavor
|
|
|
|
%bcond_with hpc
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{flavor}" == "openmpi"
|
|
|
|
%global mpi_flavor %{flavor}
|
|
|
|
%bcond_with hpc
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{flavor}" == "mvapich2"
|
|
|
|
%global mpi_flavor %{flavor}
|
|
|
|
%bcond_with hpc
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{flavor}" == "gnu-hpc"
|
|
|
|
%bcond_without hpc
|
|
|
|
%global compiler_family gnu
|
|
|
|
%undefine c_f_ver
|
2012-09-17 16:57:16 +02:00
|
|
|
%endif
|
2017-10-17 12:09:52 +02:00
|
|
|
|
|
|
|
%if "%{flavor}" == "gnu-openmpi-hpc"
|
|
|
|
%bcond_without hpc
|
|
|
|
%define compiler_family gnu
|
|
|
|
%undefine c_f_ver
|
|
|
|
%global mpi_flavor openmpi
|
|
|
|
%define mpi_vers 1
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{flavor}" == "gnu-mvapich2-hpc"
|
|
|
|
%bcond_without hpc
|
|
|
|
%define compiler_family gnu
|
|
|
|
%undefine c_f_ver
|
|
|
|
%global mpi_flavor mvapich2
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{flavor}" == "gnu6-hpc"
|
|
|
|
%bcond_without hpc
|
|
|
|
%define compiler_family gnu
|
|
|
|
%define c_f_ver 6
|
|
|
|
%undefine mpi_flavor
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{flavor}" == "gnu6-openmpi-hpc"
|
|
|
|
%bcond_without hpc
|
|
|
|
%define compiler_family gnu
|
|
|
|
%define c_f_ver 6
|
|
|
|
%global mpi_flavor openmpi
|
|
|
|
%define mpi_vers 1
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if "%{flavor}" == "gnu6-mvapich2-hpc"
|
|
|
|
%bcond_without hpc
|
|
|
|
%define compiler_family gnu
|
|
|
|
%define c_f_ver 6
|
|
|
|
%global mpi_flavor mvapich2
|
|
|
|
%endif
|
|
|
|
|
2017-11-08 11:04:37 +01:00
|
|
|
# Disable until resource issue is resolved.
|
|
|
|
%if "%mpi_flavor" == "openmpi"
|
|
|
|
%define _do_check 0
|
|
|
|
%endif
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?mpi_flavor:%{bcond_without mpi}}%{!?mpi_flavor:%{bcond_with mpi}}
|
|
|
|
%{?with_hpc:%{!?compiler_family:%global compiler_family gnu}}
|
|
|
|
%{?with_mpi:%{!?mpi_flavor:%global mpi_flavor openmpi}}
|
|
|
|
|
|
|
|
%{?with_mpi:%global my_suffix -%{mpi_flavor}}
|
|
|
|
|
2017-10-18 11:49:33 +02:00
|
|
|
# Magic for OBS Staging. Only build the flavors required by
|
|
|
|
# other packages in the ring.
|
|
|
|
%if %{with ringdisabled}
|
2017-10-18 13:17:46 +02:00
|
|
|
%if %{with hpc} || "%{?mpi_flavor}" == "mvapich2"
|
2017-10-18 11:49:33 +02:00
|
|
|
ExclusiveArch: do_not_build
|
2017-10-18 13:17:46 +02:00
|
|
|
%endif
|
2017-10-18 11:49:33 +02:00
|
|
|
%endif
|
2017-10-18 13:17:46 +02:00
|
|
|
|
|
|
|
%if %{with hpc}
|
2017-10-17 12:09:52 +02:00
|
|
|
%{hpc_init -c %compiler_family %{?with_mpi:-m %mpi_flavor} %{?c_f_ver:-v %{c_f_ver}} %{?mpi_ver:-V %{mpi_ver}} %{?ext:-e %{ext}}}
|
|
|
|
%{?with_mpi:%global hpc_module_pname p%{pname}}
|
|
|
|
%define my_prefix %hpc_prefix
|
|
|
|
%define my_bindir %hpc_bindir
|
|
|
|
%define my_libdir %hpc_libdir
|
|
|
|
%define my_incdir %hpc_includedir
|
|
|
|
%define package_name %{hpc_package_name %_vers}
|
|
|
|
%define libname(l:s:) lib%{pname}%{-l*}%{hpc_package_name_tail %{?_vers}}
|
|
|
|
%else
|
|
|
|
%if %{without mpi}
|
|
|
|
%define my_prefix %_prefix
|
|
|
|
%define my_bindir %_bindir
|
|
|
|
%define my_libdir %_libdir
|
|
|
|
%define my_incdir %_includedir
|
|
|
|
%else
|
|
|
|
%define my_prefix %{_libdir}/mpi/gcc/%{mpi_flavor}
|
|
|
|
%define my_bindir %{my_prefix}/bin
|
|
|
|
%define my_libdir %{my_prefix}/%{_lib}/
|
|
|
|
%define my_incdir %{my_prefix}/include/
|
|
|
|
%endif
|
|
|
|
%if 0%{!?package_name:1}
|
|
|
|
%define package_name %pname%{?my_suffix}
|
|
|
|
%endif
|
2017-10-18 11:49:33 +02:00
|
|
|
%define libname(l:s:) lib%{pname}%{!-l:%{-s:-}}%{-l*}%{-s*}%{?my_suffix}
|
2012-11-21 17:00:51 +01:00
|
|
|
%endif
|
|
|
|
|
2016-03-18 19:30:05 +01:00
|
|
|
# TODO: The so numbers autodetected by update_so_version.sh
|
|
|
|
# do not match the so numbers that are actually buit.
|
2017-11-08 11:04:37 +01:00
|
|
|
%define sonum 101
|
|
|
|
%define sonum_CXX 101
|
2017-05-11 16:59:24 +02:00
|
|
|
%define sonum_F 100
|
2016-07-27 19:24:50 +02:00
|
|
|
%define sonum_HL 100
|
2017-05-11 16:59:24 +02:00
|
|
|
%define sonum_HL_CXX 100
|
2016-07-27 19:24:50 +02:00
|
|
|
%define sonum_HL_F 100
|
2016-01-29 11:06:01 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
Name: %{package_name}
|
|
|
|
Version: %vers
|
2012-03-12 20:12:59 +01:00
|
|
|
Release: 0
|
2015-07-27 18:01:54 +02:00
|
|
|
Summary: Command-line programs for the HDF5 scientific data format
|
2012-03-12 20:12:59 +01:00
|
|
|
License: BSD-3-Clause
|
2015-07-27 18:01:54 +02:00
|
|
|
Group: Productivity/Scientific/Other
|
2012-03-12 20:12:59 +01:00
|
|
|
Url: http://www.hdfgroup.org/HDF5/
|
2017-10-17 12:09:52 +02:00
|
|
|
Source0: http://www.hdfgroup.org/ftp/HDF5/releases/%{pname}-%{short_ver}/%{pname}-%{src_ver}/src/%{pname}-%{src_ver}.tar.bz2
|
|
|
|
Source100: _multibuild
|
|
|
|
Source1000: update_so_version.sh
|
2012-03-12 20:12:59 +01:00
|
|
|
Patch0: hdf5-LD_LIBRARY_PATH.patch
|
2017-11-08 11:04:37 +01:00
|
|
|
Patch1: Fix-warnings-for-missing-returns.patch
|
2013-06-18 10:31:19 +02:00
|
|
|
# not really needed but we want to get noticed if hdf5 doesn' t know our host
|
|
|
|
Patch2: hdf5-1.8.11-abort_unknown_host_config.patch
|
2012-06-26 15:51:23 +02:00
|
|
|
%ifarch %arm
|
2012-11-21 17:00:51 +01:00
|
|
|
Patch4: hdf5-1.8.10-tests-arm.patch
|
2012-06-26 15:51:23 +02:00
|
|
|
%endif
|
2017-11-08 11:04:37 +01:00
|
|
|
Patch5: PPC64LE-Fix-long-double-handling.patch
|
2016-03-08 12:06:15 +01:00
|
|
|
Patch6: hdf5-buildcompare.patch
|
2016-04-17 15:34:23 +02:00
|
|
|
Patch7: hdf5-mpi.patch
|
2017-11-08 11:04:37 +01:00
|
|
|
Patch8: Disable-phdf5-tests.patch
|
2016-03-18 19:30:05 +01:00
|
|
|
BuildRequires: fdupes
|
2017-10-17 12:09:52 +02:00
|
|
|
%if 0%{?use_sz2}
|
2017-07-04 15:12:49 +02:00
|
|
|
BuildRequires: libsz2-devel
|
2017-10-17 12:09:52 +02:00
|
|
|
%endif
|
2012-05-29 11:43:46 +02:00
|
|
|
BuildRequires: zlib-devel
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{without hpc}
|
|
|
|
BuildRequires: gcc-c++
|
|
|
|
BuildRequires: gcc-fortran
|
|
|
|
%if %{with mpi}
|
|
|
|
BuildRequires: %{flavor}-devel
|
|
|
|
%else
|
|
|
|
Requires: lib%{pname}_cpp%{sonum_CXX} = %{version}
|
|
|
|
Requires: lib%{pname}_hl_cpp%{sonum_HL_CXX} = %{version}
|
|
|
|
%endif
|
|
|
|
Requires: lib%{pname}-%{sonum} = %{version}
|
|
|
|
Requires: lib%{pname}_fortran%{sonum_F} = %{version}
|
|
|
|
Requires: lib%{pname}_hl%{sonum_HL} = %{version}
|
|
|
|
Requires: lib%{pname}hl_fortran%{sonum_HL_F} = %{version}
|
|
|
|
%else # hpc
|
|
|
|
%hpc_requires
|
|
|
|
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
|
|
|
|
BuildRequires: lua-lmod
|
|
|
|
BuildRequires: suse-hpc
|
|
|
|
%if %{with mpi}
|
|
|
|
BuildRequires: %{mpi_flavor}%{?mpi_vers}-%{compiler_family}%{?c_f_ver}-hpc-macros-devel
|
|
|
|
%endif
|
|
|
|
%endif # ?hpc
|
2017-07-04 15:12:49 +02:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
2012-03-09 21:23:35 +01:00
|
|
|
|
|
|
|
%description
|
2015-07-27 18:01:54 +02:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
This package contains the %{flavor} version utility functions for working
|
2015-07-27 18:01:54 +02:00
|
|
|
with HDF5 files.
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%package -n %{libname -s %{sonum}}
|
2015-07-27 18:01:54 +02:00
|
|
|
Summary: Shared libraries for the HDF5 scientific data format
|
2015-08-21 13:12:22 +02:00
|
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
2017-08-30 11:38:21 +02:00
|
|
|
Group: Productivity/Scientific/Other
|
2017-10-17 12:09:52 +02:00
|
|
|
Provides: %{libname} = %{version}
|
|
|
|
Obsoletes: %{libname} < %{version}
|
|
|
|
%{?with_hpc:Provides: libhdf5%{?with_mpi:-%{mpi_flavor}}-hpc = %{version}}
|
|
|
|
%{?with_hpc:Requires: %{name}-module = %version}
|
2015-07-27 18:01:54 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%description -n %{libname -s %{sonum}}
|
2015-07-27 18:01:54 +02:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
|
|
|
|
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
This package contains the %{flavor} version of the HDF5 runtime libraries.
|
2015-07-27 18:01:54 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%{hpc_master_package -l -n lib%{pname}%{hpc_package_name_tail}}}
|
2015-07-27 18:01:54 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%package -n %{libname -l _hl -s %{sonum_HL}}
|
2015-07-27 18:01:54 +02:00
|
|
|
Summary: High-level shared libraries for the HDF5 scientific data format
|
2015-08-21 13:12:22 +02:00
|
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
2017-08-30 11:38:21 +02:00
|
|
|
Group: Productivity/Scientific/Other
|
2017-10-17 12:09:52 +02:00
|
|
|
Provides: %{libname -l _hl} = %{version}
|
|
|
|
Obsoletes: %{libname -l _hl} < %{version}
|
|
|
|
%{?with_hpc:Provides: libhdf5%{?with_mpi:-%{mpi_flavor}}-hpc = %{version}}
|
|
|
|
%{?with_hpc:Requires: %{name}-module = %version}
|
2015-07-27 18:01:54 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%description -n %{libname -l _hl -s %{sonum_HL}}
|
2015-07-27 18:01:54 +02:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
|
|
|
|
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
This package contains the %{flavor} version of the high-level HDF5
|
2015-07-27 18:01:54 +02:00
|
|
|
runtime libraries.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%{hpc_master_package -l -n lib%{pname}_hl%{hpc_package_name_tail}}}
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%package -n %{libname -l _cpp -s %{sonum_CXX}}
|
2016-03-18 19:30:05 +01:00
|
|
|
Summary: Shared libraries for the HDF5 scientific data format
|
|
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
2017-08-30 11:38:21 +02:00
|
|
|
Group: Productivity/Scientific/Other
|
2017-10-17 12:09:52 +02:00
|
|
|
Provides: %{libname -l _cpp} = %{version}
|
|
|
|
Obsoletes: %{libname -l _cpp} < %{version}
|
|
|
|
%{?with_hpc:Provides: libhdf5%{?with_mpi:-%{mpi_flavor}}-hpc = %{version}}
|
|
|
|
%{?with_hpc:Requires: %{name}-module = %version}
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%description -n %{libname -l _cpp -s %{sonum_CXX}}
|
2016-03-18 19:30:05 +01:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
|
|
|
|
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
|
|
|
This package contains the HDF5 runtime libraries.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%{!?with_mpi:%{?with_hpc:%{hpc_master_package -l -n lib%{pname}_cpp%{hpc_package_name_tail}}}}
|
|
|
|
|
|
|
|
%package -n %{libname -l _hl_cpp -s %{sonum_HL_CXX}}
|
2016-03-18 19:30:05 +01:00
|
|
|
Summary: High-level shared libraries for the HDF5 scientific data format
|
|
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
2017-08-30 11:38:21 +02:00
|
|
|
Group: Productivity/Scientific/Other
|
2017-10-17 12:09:52 +02:00
|
|
|
Provides: %{libname -l _hl_cpp} = %{version}
|
|
|
|
Obsoletes: %{libname -l _hl_cpp} < %{version}
|
|
|
|
%{?with_hpc:Provides: libhdf5%{?with_mpi:-%{mpi_flavor}}-hpc = %{version}}
|
|
|
|
%{?with_hpc:Requires: %{name}-module = %version}
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%description -n %{libname -l _hl_cpp -s %{sonum_HL_CXX}}
|
2016-03-18 19:30:05 +01:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
|
|
|
|
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
|
|
|
This package contains the the high-level HDF5 runtime libraries.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%{!?with_mpi:%{?with_hpc:%{hpc_master_package -l -n lib%{pname}_hl_cpp%{hpc_package_name_tail}}}}
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%package -n %{libname -l _fortran -s %{sonum_F}}
|
2016-03-18 19:30:05 +01:00
|
|
|
Summary: Shared libraries for the HDF5 scientific data format
|
|
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
2017-08-30 11:38:21 +02:00
|
|
|
Group: Productivity/Scientific/Other
|
2017-10-17 12:09:52 +02:00
|
|
|
Provides: %{libname -l _fortran} = %{version}
|
|
|
|
Obsoletes: %{libname -l _fortran} < %{version}
|
|
|
|
%{?with_hpc:Provides: libhdf5%{?with_mpi:-%{mpi_flavor}}-hpc = %{version}}
|
|
|
|
%{?with_hpc:Requires: %{name}-module = %version}
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%description -n %{libname -l _fortran -s %{sonum_F}}
|
2016-03-18 19:30:05 +01:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
|
|
|
|
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
This package contains the %{flavor} version of the HDF5 runtime libraries.
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%{hpc_master_package -l -n lib%{pname}_fortran%{hpc_package_name_tail}}}
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%package -n %{libname -l hl_fortran -s %{sonum_HL_F}}
|
2016-03-18 19:30:05 +01:00
|
|
|
Summary: High-level shared libraries for the HDF5 scientific data format
|
|
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
2017-08-30 11:38:21 +02:00
|
|
|
Group: Productivity/Scientific/Other
|
2017-10-17 12:09:52 +02:00
|
|
|
Provides: %{libname -l hl_fortran} = %{version}
|
|
|
|
Obsoletes: %{libname -l hl_fortran} < %{version}
|
|
|
|
%{?with_hpc:Provides: libhdf5%{?with_mpi:-%{mpi_flavor}}-hpc = %{version}}
|
|
|
|
%{?whit_hpc:Requires: %{name}-module = %version}
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%description -n %{libname -l hl_fortran -s %{sonum_HL_F}}
|
2016-03-18 19:30:05 +01:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
|
|
|
|
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
This package contains the %{flavor} version of the high-level HDF5
|
2016-03-18 19:30:05 +01:00
|
|
|
runtime libraries.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%{hpc_master_package -l -n lib%{pname}_hl_fortran%{hpc_package_name_tail}}}
|
2015-07-27 18:01:54 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%package -n %{pname}-devel-data
|
2015-07-27 18:01:54 +02:00
|
|
|
Summary: Development data files for %{name}
|
|
|
|
Group: Development/Libraries/Other
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%description -n %{pname}-devel-data
|
2015-07-27 18:01:54 +02:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
|
|
|
This package contains generic files needed to create projects that use
|
|
|
|
any version of HDF5.
|
|
|
|
|
|
|
|
%package devel
|
2017-10-18 14:11:51 +02:00
|
|
|
Summary: Development files for %{name}
|
2017-10-17 12:09:52 +02:00
|
|
|
Group: Development/Libraries/Parallel
|
|
|
|
%if %{without mpi}
|
|
|
|
Requires: %{libname -l _cpp -s %{sonum_CXX}} = %{version}
|
|
|
|
Requires: %{libname -l _hl_cpp -s %{sonum_HL_CXX}} = %{version}
|
|
|
|
%endif
|
2015-07-27 18:01:54 +02:00
|
|
|
Requires: %{name} = %{version}
|
2017-10-17 12:09:52 +02:00
|
|
|
Requires: %{pname}-devel-data = %{version}
|
|
|
|
%if 0%{?use_sz2}
|
2017-07-04 15:12:49 +02:00
|
|
|
Requires: libsz2-devel
|
2017-10-17 12:09:52 +02:00
|
|
|
%endif
|
|
|
|
Requires: %{libname -s %{sonum}} = %{version}
|
2015-07-27 18:01:54 +02:00
|
|
|
# Required by Fortran programs?
|
2017-10-17 12:09:52 +02:00
|
|
|
Requires: %{libname -l _fortran -s %{sonum_F}} = %{version}
|
|
|
|
Requires: %{libname -l _hl -s %{sonum_HL}} = %{version}
|
|
|
|
Requires: %{libname -l hl_fortran -s %{sonum_HL_F}} = %{version}
|
|
|
|
%{?with_hpc:%hpc_requires_devel}
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
%description devel
|
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
|
|
|
|
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
2016-03-18 19:30:05 +01:00
|
|
|
processing, visualization, and archiving.
|
2015-07-27 18:01:54 +02:00
|
|
|
|
|
|
|
This package contains all files needed to create projects that use
|
2017-10-17 12:09:52 +02:00
|
|
|
the %{flavor} version of HDF5.
|
2015-07-27 18:01:54 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%{hpc_master_package devel}}
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
%package devel-static
|
2017-10-18 14:11:51 +02:00
|
|
|
Summary: Static development files for %{name}
|
2017-10-17 12:09:52 +02:00
|
|
|
Group: Development/Libraries/Parallel
|
2017-10-18 14:11:51 +02:00
|
|
|
Requires: %{name}-devel = %{version}
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
%description devel-static
|
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
This package provides the static libraries for the %{flavor} version of HDF5.
|
2015-07-27 18:01:54 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%package -n %{pname}-examples
|
|
|
|
Summary: Examples for %{name}
|
|
|
|
Group: Documentation/Other
|
|
|
|
Requires: %{libname -l _cpp -s %{sonum_CXX}} = %{version}
|
|
|
|
Requires: %{libname -l _fortran -s %{sonum_F}} = %{version}
|
|
|
|
Requires: %{libname -l _hl -s %{sonum_HL}} = %{version}
|
|
|
|
Requires: %{libname -l _hl_cpp -s %{sonum_HL_CXX}} = %{version}
|
|
|
|
Requires: %{libname -l hl_fortran -s %{sonum_HL_F}} = %{version}
|
|
|
|
Requires: %{libname -s %{sonum}} = %{version}
|
|
|
|
|
|
|
|
%description -n %{pname}-examples
|
2015-07-27 18:01:54 +02:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2015-07-27 18:01:54 +02:00
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
This package provides examples of HDF5 library use.
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{with hpc}
|
|
|
|
%package module
|
2017-10-18 14:11:51 +02:00
|
|
|
Summary: Module files for %{name}
|
2015-07-27 18:01:54 +02:00
|
|
|
Group: Development/Libraries/Parallel
|
2017-10-17 12:09:52 +02:00
|
|
|
Provides: %{name}-module = %version
|
|
|
|
BuildArch: noarch
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%description module
|
2015-07-27 18:01:54 +02:00
|
|
|
HDF5 is a data model, library, and file format for storing and
|
|
|
|
managing data. It supports an unlimited variety of datatypes, and
|
|
|
|
is designed for flexible and efficient I/O and for high volume and
|
|
|
|
complex data. HDF5 is portable and is extensible, allowing
|
|
|
|
applications to evolve in their use of HDF5.
|
|
|
|
|
|
|
|
The HDF5 technology suite is designed to organize, store, discover,
|
|
|
|
access, analyze, share, and preserve diverse, complex data in
|
|
|
|
continuously evolving heterogeneous computing and storage environments.
|
|
|
|
|
|
|
|
HDF5 supports all types of data stored digitally, regardless of origin
|
|
|
|
or size. Petabytes of remote sensing data collected by satellites,
|
|
|
|
terabytes of computational results from nuclear testing models, and
|
|
|
|
megabytes of high-resolution MRI brain scans are stored in HDF5 files,
|
|
|
|
together with metadata necessary for efficient data sharing,
|
|
|
|
processing, visualization, and archiving.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
This package contains the environment module needed for the HDF5
|
|
|
|
library packages.
|
|
|
|
%endif
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2012-03-09 21:23:35 +01:00
|
|
|
%prep
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc: %hpc_debug}
|
2017-11-08 11:04:37 +01:00
|
|
|
%setup -q -n %{pname}-%{version}
|
2012-03-09 21:23:35 +01:00
|
|
|
%patch0 -p1 -b .LD_LIBRARY_PATH
|
2017-11-08 11:04:37 +01:00
|
|
|
%patch1 -p1
|
2013-06-18 10:31:19 +02:00
|
|
|
%patch2 -p0 -b .abort_unknown_host_config
|
2012-06-26 15:51:23 +02:00
|
|
|
%ifarch %arm
|
|
|
|
%patch4 -p0 -b .tests-arm
|
|
|
|
%endif
|
2013-09-25 17:14:33 +02:00
|
|
|
%patch5 -p1
|
2016-03-08 12:06:15 +01:00
|
|
|
%patch6 -p1
|
2016-04-17 15:34:23 +02:00
|
|
|
%patch7 -p1
|
2016-09-08 12:26:29 +02:00
|
|
|
%patch8 -p1
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2017-10-26 20:03:03 +02:00
|
|
|
%if %{without hpc}
|
|
|
|
# baselibs looks different for different flavors - generate it on the fly
|
|
|
|
cat > %{_sourcedir}/baselibs.conf <<EOF
|
|
|
|
libhdf5-%{sonum}%{?my_suffix}
|
|
|
|
libhdf5_hl%{sonum_HL}%{?my_suffix}
|
|
|
|
libhdf5_fortran%{sonum_HL_F}%{?my_suffix}
|
|
|
|
libhdf5hl_fortran%{sonum_HL_F}%{?my_suffix}
|
|
|
|
%if %{without mpi}
|
|
|
|
libhdf5_cpp%{sonum_CXX}%{?my_suffix}
|
|
|
|
libhdf5_hl_cpp%{sonum_HL_CXX}%{?my_suffix}
|
|
|
|
%endif
|
|
|
|
hdf5%{?my_suffix}-devel
|
|
|
|
requires %{?my_suffix}-<targettype>
|
|
|
|
requires "libhdf5-%{sonum}%{?my_suffix}-<targettype> = <version>"
|
|
|
|
requires "libhdf5_hl%{sonum_HL}%{?my_suffix}-<targettype> = <version>"
|
|
|
|
requires "libhdf5_fortran%{sonum_HL_F}%{?my_suffix}-<targettype> = <version>"
|
|
|
|
requires "libhdf5hl_fortran%{sonum_HL_F}%{?my_suffix}-<targettype> = <version>"
|
|
|
|
%if %{without mpi}
|
|
|
|
requires "libhdf5_cpp%{sonum_CXX}%{?my_suffix}-<targettype> = <version>"
|
|
|
|
requires "libhdf5_hl_cpp%{sonum_HL_CXX}%{?my_suffix}-<targettype> = <version>"
|
|
|
|
%endif
|
|
|
|
EOF
|
|
|
|
%endif
|
|
|
|
|
2012-03-09 21:23:35 +01:00
|
|
|
%build
|
2017-10-17 12:09:52 +02:00
|
|
|
|
|
|
|
%{?with_hpc:%hpc_setup}
|
|
|
|
%{?with_hpc:%hpc_debug}
|
|
|
|
|
2012-03-09 21:23:35 +01:00
|
|
|
export CC=gcc
|
|
|
|
export CXX=g++
|
|
|
|
export F9X=gfortran
|
2017-08-30 11:38:21 +02:00
|
|
|
export CFLAGS="%{optflags}"
|
2013-06-18 10:31:19 +02:00
|
|
|
%ifarch %arm
|
|
|
|
# we want to have useful H5_CFLAGS on arm too
|
|
|
|
test -e config/linux-gnueabi || cp config/linux-gnu config/linux-gnueabi
|
|
|
|
%endif
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2015-07-25 07:43:29 +02:00
|
|
|
# NOTE: --enable-unsupported is required when --enable-fortran
|
|
|
|
# and/or --enable-cxx is enabled along with --enable-threadsafe.
|
2016-03-18 19:30:05 +01:00
|
|
|
# Building with thise combination results in thread-safe C
|
|
|
|
# libraries and non-thread-safe fotran and/or C++ libraries. So
|
|
|
|
# you have to explicitly allow building the thread-safe C
|
|
|
|
# library and the non-thread-safe C++ and fortran libraries in
|
|
|
|
# order to make sure people don't assume that their fotran or
|
|
|
|
# C++ code is thread-safe. Since our users are going to be
|
2015-07-25 07:43:29 +02:00
|
|
|
# accessing this through other programs, this doesn't matter.
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{without hpc}
|
|
|
|
%if %{with mpi}
|
|
|
|
export CC="%{my_bindir}/mpicc"
|
|
|
|
export FC="%{my_bindir}/mpif90"
|
|
|
|
export F77="%{my_bindir}/mpif77"
|
|
|
|
export LD_LIBRARY_PATH="%{my_libdir}"
|
|
|
|
%endif
|
2012-03-09 21:23:35 +01:00
|
|
|
%configure \
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{with mpi}
|
|
|
|
--prefix=%{my_prefix} \
|
|
|
|
--exec-prefix=%{_prefix} \
|
|
|
|
--bindir=%{my_bindir} \
|
|
|
|
--libdir=%{my_libdir} \
|
|
|
|
--includedir=%{my_incdir} \
|
|
|
|
--datadir=%{_datadir} \
|
|
|
|
%endif
|
2012-09-26 09:54:36 +02:00
|
|
|
--docdir=%{_docdir}/%{name} \
|
2017-10-17 12:09:52 +02:00
|
|
|
%else
|
|
|
|
%global _hpc_exec_prefix %hpc_exec_prefix
|
|
|
|
%global hpc_exec_prefix %_prefix
|
|
|
|
%if %{with mpi}
|
|
|
|
export CC=mpicc
|
|
|
|
export CXX=mpicxx
|
|
|
|
export F77=mpif77
|
|
|
|
export FC=mpif90
|
|
|
|
export MPICC=mpicc
|
|
|
|
export MPIFC=mpifc
|
|
|
|
export MPICXX=mpicxx
|
|
|
|
%endif
|
|
|
|
%hpc_configure \
|
|
|
|
%define hpc_exec_prefix %{expand:%_hpc_exec_prefix}
|
|
|
|
%endif
|
2012-03-09 21:23:35 +01:00
|
|
|
--disable-dependency-tracking \
|
|
|
|
--enable-fortran \
|
2015-07-25 07:43:29 +02:00
|
|
|
--enable-unsupported \
|
2012-03-09 21:23:35 +01:00
|
|
|
--enable-hl \
|
|
|
|
--enable-shared \
|
2015-07-25 07:43:29 +02:00
|
|
|
--enable-threadsafe \
|
2016-07-27 19:24:50 +02:00
|
|
|
--enable-build-mode=production \
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{with mpi}
|
|
|
|
--enable-parallel \
|
|
|
|
%else
|
|
|
|
--enable-cxx \
|
|
|
|
%if 0%{?use_sz2}
|
2017-06-17 03:01:38 +02:00
|
|
|
--with-szlib \
|
2017-10-17 12:09:52 +02:00
|
|
|
%endif
|
|
|
|
%endif
|
2012-06-26 15:51:23 +02:00
|
|
|
--with-pthread
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2013-06-18 10:31:19 +02:00
|
|
|
make V=1 %{?_smp_mflags}
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2012-03-09 21:23:35 +01:00
|
|
|
%install
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%hpc_setup}
|
|
|
|
%{?with_hpc:%hpc_debug}
|
|
|
|
|
|
|
|
make install DESTDIR=%{buildroot}
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2017-07-04 15:12:49 +02:00
|
|
|
find %{buildroot} -type f -name "*.la" -delete -print
|
2017-10-17 12:09:52 +02:00
|
|
|
|
|
|
|
%if %{without mpi}
|
2012-03-09 21:23:35 +01:00
|
|
|
find %{buildroot}%{_datadir}/hdf5_examples -type f \
|
|
|
|
| grep -v ".sh$" | xargs chmod 644
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{without hpc}
|
2012-03-09 21:23:35 +01:00
|
|
|
# rpm macro for version checking
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
|
|
|
cat > %{buildroot}%{_sysconfdir}/rpm/macros.hdf5 <<EOF
|
|
|
|
#
|
2015-07-27 18:01:54 +02:00
|
|
|
# RPM macros for hdf5 packaging
|
2012-03-09 21:23:35 +01:00
|
|
|
#
|
2015-07-27 18:01:54 +02:00
|
|
|
%_hdf5_sonum %{sonum}
|
2012-03-09 21:23:35 +01:00
|
|
|
%_hdf5_version %{version}
|
|
|
|
EOF
|
2017-10-17 12:09:52 +02:00
|
|
|
%endif
|
|
|
|
%else
|
|
|
|
# delete examples from parallel builds
|
|
|
|
rm -rf %{buildroot}%{_datadir}/hdf5_examples
|
|
|
|
%endif
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if 0%{?suse_version} >= 1110
|
|
|
|
%fdupes -s %{buildroot}/%{_datadir}
|
|
|
|
%endif
|
|
|
|
|
2017-10-26 20:03:03 +02:00
|
|
|
%if %{with hpc}
|
2017-10-17 12:09:52 +02:00
|
|
|
%{hpc_write_pkgconfig -n hdf5 -l libhdf5}
|
|
|
|
%{hpc_write_pkgconfig -n hdf5_hl -l libhdf5_hl}
|
|
|
|
%{hpc_write_pkgconfig -n hdf5_fortran -l libhdf5_fortran}
|
|
|
|
%{hpc_write_pkgconfig -n hdf5_hl_fortran -l libhdfhl_fortran}
|
|
|
|
%if %{without mpi}
|
|
|
|
%{hpc_write_pkgconfig -n hdf5_cpp -l libhdf5_cpp}
|
|
|
|
%{hpc_write_pkgconfig -n hdf5_hl_cpp -l libhdf5_hl_cpp}
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%hpc_write_modules_files
|
|
|
|
#%%Module1.0#####################################################################
|
|
|
|
|
|
|
|
proc ModulesHelp { } {
|
|
|
|
|
|
|
|
puts stderr " "
|
|
|
|
puts stderr "This module loads the %{pname} library built with the %{compiler_family} compiler toolchain."
|
|
|
|
puts stderr "\nVersion %{version}\n"
|
|
|
|
|
|
|
|
}
|
|
|
|
module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
|
|
|
|
module-whatis "Version: %{version}"
|
|
|
|
module-whatis "Category: runtime library"
|
|
|
|
module-whatis "Description: %{summary}"
|
|
|
|
module-whatis "%{url}"
|
|
|
|
|
|
|
|
set version %{version}
|
|
|
|
|
|
|
|
prepend-path PATH %{hpc_bindir}
|
|
|
|
prepend-path LD_LIBRARY_PATH %{hpc_libdir}
|
|
|
|
|
|
|
|
setenv %{hpc_upcase %pname}_DIR %{hpc_prefix}
|
|
|
|
setenv %{hpc_upcase %pname}_BIN %{hpc_bindir}
|
|
|
|
setenv %{hpc_upcase %pname}_LIB %{hpc_libdir}
|
|
|
|
|
|
|
|
if {[file isdirectory %{hpc_includedir}]} {
|
|
|
|
prepend-path LIBRARY_PATH %{hpc_libdir}
|
|
|
|
prepend-path CPATH %{hpc_includedir}
|
|
|
|
prepend-path C_INCLUDE_PATH %{hpc_includedir}
|
|
|
|
prepend-path CPLUS_INCLUDE_PATH %{hpc_includedir}
|
|
|
|
prepend-path INCLUDE %{hpc_includedir}
|
|
|
|
|
|
|
|
setenv %{hpc_upcase %pname}_INC %{hpc_includedir}
|
|
|
|
}
|
|
|
|
|
|
|
|
family "%pname"
|
|
|
|
|
|
|
|
EOF
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%if 0%{?_do_check}
|
2012-03-09 21:23:35 +01:00
|
|
|
%check
|
2013-09-25 17:14:33 +02:00
|
|
|
%if 0%{?qemu_user_space_build}
|
|
|
|
# default timeout is 1200 seconds
|
|
|
|
export HDF5_ALARM_SECONDS=3600
|
|
|
|
%endif
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{with mpi}
|
2012-09-26 09:54:36 +02:00
|
|
|
export HDF5_Make_Ignore=yes
|
2012-11-21 17:00:51 +01:00
|
|
|
%endif
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%hpc_setup}
|
|
|
|
make %{?_smp_mflags} check
|
2012-09-17 16:57:16 +02:00
|
|
|
%endif
|
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{without mpi}
|
|
|
|
%post -n %{libname -l _cpp -s %{sonum_CXX}} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libname -l _cpp -s %{sonum_CXX}} -p /sbin/ldconfig
|
|
|
|
%post -n %{libname -l _hl_cpp -s %{sonum_HL_CXX}} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libname -l _hl_cpp -s %{sonum_HL_CXX}} -p /sbin/ldconfig
|
|
|
|
%endif
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%post -n %{libname -s %{sonum}} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libname -s %{sonum}} -p /sbin/ldconfig
|
|
|
|
%post -n %{libname -l _hl -s %{sonum_HL}} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libname -l _hl -s %{sonum_HL}} -p /sbin/ldconfig
|
|
|
|
%post -n %{libname -l _fortran -s %{sonum_F}} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libname -l _fortran -s %{sonum_F}} -p /sbin/ldconfig
|
|
|
|
%post -n %{libname -l hl_fortran -s %{sonum_HL_F}} -p /sbin/ldconfig
|
|
|
|
%postun -n %{libname -l hl_fortran -s %{sonum_HL_F}} -p /sbin/ldconfig
|
|
|
|
|
|
|
|
%if %{with hpc}
|
|
|
|
%postun module
|
|
|
|
%hpc_module_delete_if_default
|
|
|
|
%endif
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{without mpi}
|
|
|
|
%files -n %{pname}-examples
|
2016-03-18 19:30:05 +01:00
|
|
|
%defattr(-,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{_datadir}/hdf5_examples
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if 0%{without hpc}
|
2012-03-09 21:23:35 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%files -n %{pname}-devel-data
|
2015-07-27 18:01:54 +02:00
|
|
|
%defattr(-,root,root,-)
|
|
|
|
%config(noreplace) %{_sysconfdir}/rpm/macros.hdf5
|
2017-10-17 12:09:52 +02:00
|
|
|
%endif
|
|
|
|
%endif # flavor == serial
|
2015-07-27 18:01:54 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%files -n %{name}
|
2012-03-09 21:23:35 +01:00
|
|
|
%defattr(-,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%dir %my_bindir}
|
|
|
|
%{my_bindir}/gif2h5
|
|
|
|
%{my_bindir}/h52gif
|
|
|
|
%{my_bindir}/h5clear
|
|
|
|
%{my_bindir}/h5copy
|
|
|
|
%{my_bindir}/h5debug
|
|
|
|
%{my_bindir}/h5diff
|
|
|
|
%{my_bindir}/h5dump
|
|
|
|
%{my_bindir}/h5format_convert
|
|
|
|
%{my_bindir}/h5import
|
|
|
|
%{my_bindir}/h5jam
|
|
|
|
%{my_bindir}/h5ls
|
|
|
|
%{my_bindir}/h5mkgrp
|
|
|
|
%if %{with mpi}
|
|
|
|
%{my_bindir}/ph5diff
|
|
|
|
%{my_bindir}/h5perf
|
|
|
|
%endif
|
|
|
|
%{my_bindir}/h5perf_serial
|
|
|
|
%{my_bindir}/h5redeploy
|
|
|
|
%{my_bindir}/h5repack
|
|
|
|
%{my_bindir}/h5repart
|
|
|
|
%{my_bindir}/h5stat
|
|
|
|
%{my_bindir}/h5unjam
|
|
|
|
%{my_bindir}/h5watch
|
|
|
|
|
|
|
|
%files -n %{libname -s %{sonum}}
|
2015-07-27 18:01:54 +02:00
|
|
|
%defattr(-,root,root)
|
|
|
|
%doc COPYING ACKNOWLEDGMENTS README.txt
|
2017-10-17 12:09:52 +02:00
|
|
|
##
|
|
|
|
%if %{without mpi}
|
|
|
|
%doc release_docs/HISTORY-1_8_0-1_10_0.txt
|
|
|
|
%doc release_docs/RELEASE.txt
|
|
|
|
%endif
|
2012-09-17 16:57:16 +02:00
|
|
|
%defattr(0755,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?whith_hpc:%hpc_dirs}
|
|
|
|
%{my_libdir}/libhdf5.so.%{sonum}
|
|
|
|
%{my_libdir}/libhdf5.so.%{sonum}.*
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%files -n %{libname -l _hl -s %{sonum_HL}}
|
2016-03-18 19:30:05 +01:00
|
|
|
%defattr(-,root,root)
|
|
|
|
%doc COPYING
|
2012-09-17 16:57:16 +02:00
|
|
|
%defattr(0755,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%hpc_dirs}
|
|
|
|
%{my_libdir}/libhdf5_hl.so.%{sonum_HL}
|
|
|
|
%{my_libdir}/libhdf5_hl.so.%{sonum_HL}.*
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{without mpi}
|
|
|
|
%files -n %{libname -l _cpp -s %{sonum_CXX}}
|
2016-03-18 19:30:05 +01:00
|
|
|
%defattr(-,root,root)
|
|
|
|
%doc COPYING
|
|
|
|
%defattr(0755,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%hpc_dirs}
|
|
|
|
%{my_libdir}/libhdf5_cpp.so.%{sonum_CXX}
|
|
|
|
%{my_libdir}/libhdf5_cpp.so.%{sonum_CXX}.*
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%files -n %{libname -l _hl_cpp -s %{sonum_HL_CXX}}
|
2016-03-18 19:30:05 +01:00
|
|
|
%defattr(-,root,root)
|
|
|
|
%doc COPYING
|
|
|
|
%defattr(0755,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%hpc_dirs}
|
|
|
|
%{my_libdir}/libhdf5_hl_cpp.so.%{sonum_HL_CXX}
|
|
|
|
%{my_libdir}/libhdf5_hl_cpp.so.%{sonum_HL_CXX}.*
|
|
|
|
%endif # flavor == serial
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%files -n %{libname -l _fortran -s %{sonum_F}}
|
2015-07-27 18:01:54 +02:00
|
|
|
%defattr(-,root,root)
|
2016-07-27 19:24:50 +02:00
|
|
|
%doc COPYING
|
2012-09-17 16:57:16 +02:00
|
|
|
%defattr(0755,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%hpc_dirs}
|
|
|
|
%{my_libdir}/libhdf5_fortran.so.%{sonum_F}
|
|
|
|
%{my_libdir}/libhdf5_fortran.so.%{sonum_F}.*
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%files -n %{libname -l hl_fortran -s %{sonum_HL_F}}
|
2016-03-18 19:30:05 +01:00
|
|
|
%defattr(-,root,root)
|
|
|
|
%doc COPYING
|
2012-09-17 16:57:16 +02:00
|
|
|
%defattr(0755,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{?with_hpc:%hpc_dirs}
|
|
|
|
%{my_libdir}/libhdf5hl_fortran.so.%{sonum_HL_F}
|
|
|
|
%{my_libdir}/libhdf5hl_fortran.so.%{sonum_HL_F}.*
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%if %{with hpc}
|
|
|
|
%files module
|
2016-03-18 19:30:05 +01:00
|
|
|
%defattr(-,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%hpc_modules_files
|
|
|
|
%endif
|
2016-03-18 19:30:05 +01:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%files devel
|
2016-03-18 19:30:05 +01:00
|
|
|
%defattr(-,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
##
|
|
|
|
%{?with_hpc:%dir %{my_incdir}}
|
|
|
|
%doc release_docs/HISTORY-1_0-1_8_0_rc3.txt
|
|
|
|
%doc release_docs/RELEASE.txt
|
|
|
|
%doc ACKNOWLEDGMENTS README.txt
|
|
|
|
%{?with_hpc:%{hpc_pkgconfig_file -n hdf5}}
|
|
|
|
%{?with_hpc:%{hpc_pkgconfig_file -N -n hdf5_hl}}
|
|
|
|
%{?with_hpc:%{hpc_pkgconfig_file -N -n hdf5_fortran}}
|
|
|
|
%{?with_hpc:%{hpc_pkgconfig_file -N -n hdf5_hl_fortran}}
|
|
|
|
%if %{without mpi}
|
|
|
|
%{?with_hpc:%{hpc_pkgconfig_file -N -n hdf5_cpp}}
|
|
|
|
%{?with_hpc:%{hpc_pkgconfig_file -N -n hdf5_hl_cpp}}
|
|
|
|
%{my_bindir}/h5c++
|
|
|
|
%{my_bindir}/h5cc
|
|
|
|
%{my_bindir}/h5fc
|
|
|
|
%else
|
|
|
|
%{my_bindir}/h5pcc
|
|
|
|
%{my_bindir}/h5pfc
|
|
|
|
%endif
|
|
|
|
%{my_incdir}/*.h
|
|
|
|
%{my_libdir}/*.so
|
|
|
|
%{my_libdir}/*.settings
|
|
|
|
%{my_incdir}/*.mod
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2017-10-17 12:09:52 +02:00
|
|
|
%files devel-static
|
2012-09-17 16:57:16 +02:00
|
|
|
%defattr(-,root,root)
|
2017-10-17 12:09:52 +02:00
|
|
|
%{my_libdir}/*.a
|
2012-09-17 16:57:16 +02:00
|
|
|
|
2012-03-09 21:23:35 +01:00
|
|
|
%changelog
|