- update to 1.8.16, changes documented here: https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.16/src/hdf5-1.8.16-RELEASE.txt - rebase hdf5-ldouble-ppc64le.patch - remove hdf5-cpp-compilation-errors.patch - prepare independent so versions and add TODO !!! see TODO in spec file !!! I'm not the right persion to split packages and care for deps and baselibs etc. Don't forward to Factory before this TODO is fixed! OBS-URL: https://build.opensuse.org/request/show/356581 OBS-URL: https://build.opensuse.org/package/show/science/hdf5?expand=0&rev=17
868 lines
32 KiB
RPMSpec
868 lines
32 KiB
RPMSpec
#
|
|
# spec file for package hdf5
|
|
#
|
|
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# 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/
|
|
#
|
|
|
|
|
|
%if 0%{?sles_version}
|
|
%define _mvapich2 1
|
|
%endif
|
|
%if 0%{?suse_version}
|
|
%define _openmpi 1
|
|
%endif
|
|
|
|
%define _mpi %{?_openmpi:openmpi} %{?_mvapich2:mvapich2}
|
|
|
|
# TODO: since 1.8.16 we have independent so versions, see config/lt_vers.am.
|
|
# We already have added a script "update_so_version.sh" to update all the
|
|
# defines below and baselibs.conf. But we still need to split certain
|
|
# subpackages to be able to use these versions.
|
|
%define sonum 11
|
|
%define sonum_CXX 11
|
|
%define sonum_F 10
|
|
%define sonum_HL 10
|
|
%define sonum_HL_CXX 11
|
|
%define sonum_HL_F 10
|
|
%define sonum_TOOLS 10
|
|
|
|
Name: hdf5
|
|
%define libname libhdf5
|
|
Version: 1.8.16
|
|
Release: 0
|
|
Summary: Command-line programs for the HDF5 scientific data format
|
|
License: BSD-3-Clause
|
|
Group: Productivity/Scientific/Other
|
|
Url: http://www.hdfgroup.org/HDF5/
|
|
Source0: http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-%{version}/src/hdf5-%{version}.tar.bz2
|
|
Source1: baselibs.conf
|
|
Patch0: hdf5-LD_LIBRARY_PATH.patch
|
|
Patch1: hdf5-non_void_return.patch
|
|
# 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
|
|
%ifarch %arm
|
|
Patch4: hdf5-1.8.10-tests-arm.patch
|
|
%endif
|
|
Patch5: hdf5-ldouble-ppc64le.patch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: gcc-c++
|
|
%if 0%{?suse_version} > 1140
|
|
BuildRequires: gcc-fortran
|
|
%endif
|
|
BuildRequires: krb5-devel
|
|
BuildRequires: openssl-devel
|
|
BuildRequires: zlib-devel
|
|
%if 0%{?suse_version} >= 1110
|
|
BuildRequires: fdupes
|
|
%endif
|
|
%if 0%{?_openmpi}
|
|
BuildRequires: openmpi-devel
|
|
%endif
|
|
%if 0%{?_mvapich2}
|
|
BuildRequires: mvapich2-devel
|
|
%endif
|
|
Requires: %{libname}-%{sonum} = %{version}
|
|
Requires: %{libname}_hl%{sonum} = %{version}
|
|
|
|
%description
|
|
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 utility functions for working with HDF5 files.
|
|
|
|
%package -n %{name}-openmpi
|
|
Summary: Command-line programs for the HDF5 scientific data format
|
|
Group: Productivity/Scientific/Other
|
|
Requires: %{libname}-%{sonum}-openmpi = %{version}
|
|
Requires: %{libname}_hl%{sonum}-openmpi = %{version}
|
|
|
|
%description -n %{name}-openmpi
|
|
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 openmpi version utility functions for working
|
|
with HDF5 files.
|
|
|
|
%package -n %{name}-mvapich2
|
|
Summary: Command-line programs for the HDF5 scientific data format
|
|
Group: Productivity/Scientific/Other
|
|
Requires: %{libname}-%{sonum}-mvapich2 = %{version}
|
|
Requires: %{libname}_hl%{sonum}-mvapich2 = %{version}
|
|
|
|
%description -n %{name}-mvapich2
|
|
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 mvapich2 version utility functions for working
|
|
with HDF5 files.
|
|
|
|
%package -n %{libname}-%{sonum}
|
|
Summary: Shared libraries for the HDF5 scientific data format
|
|
Group: Productivity/Scientific/Other
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
|
Provides: %{libname} = %{version}
|
|
Obsoletes: %{libname} < %{version}
|
|
|
|
%description -n %{libname}-%{sonum}
|
|
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.
|
|
|
|
%package -n %{libname}-%{sonum}-openmpi
|
|
Summary: Shared libraries for the HDF5 scientific data format
|
|
Group: Productivity/Scientific/Other
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
|
Provides: %{libname}-openmpi = %{version}
|
|
Obsoletes: %{libname}-openmpi < %{version}
|
|
|
|
%description -n %{libname}-%{sonum}-openmpi
|
|
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 openmpi version of the HDF5 runtime libraries.
|
|
|
|
%package -n %{libname}-%{sonum}-mvapich2
|
|
Summary: Shared libraries for the HDF5 scientific data format
|
|
Group: Productivity/Scientific/Other
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
|
Provides: %{libname}-mvapich2 = %{version}
|
|
Obsoletes: %{libname}-mvapich2 < %{version}
|
|
|
|
%description -n %{libname}-%{sonum}-mvapich2
|
|
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 mvapich2 version of the HDF5 runtime libraries.
|
|
|
|
%package -n %{libname}_hl%{sonum}
|
|
Summary: High-level shared libraries for the HDF5 scientific data format
|
|
Group: Productivity/Scientific/Other
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
|
Provides: %{libname}_hl = %{version}
|
|
Obsoletes: %{libname}_hl < %{version}
|
|
|
|
%description -n %{libname}_hl%{sonum}
|
|
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.
|
|
|
|
%package -n %{libname}_hl%{sonum}-openmpi
|
|
Summary: High-level shared libraries for the HDF5 scientific data format
|
|
Group: Productivity/Scientific/Other
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
|
Provides: %{libname}_hl-openmpi = %{version}
|
|
Obsoletes: %{libname}_hl-openmpi < %{version}
|
|
|
|
%description -n %{libname}_hl%{sonum}-openmpi
|
|
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 openmpi version of the high-level HDF5
|
|
runtime libraries.
|
|
|
|
%package -n %{libname}_hl%{sonum}-mvapich2
|
|
Summary: High-level shared libraries for the HDF5 scientific data format
|
|
Group: Productivity/Scientific/Other
|
|
# To avoid unresolvable errors due to multiple providers of the library
|
|
Provides: %{libname}_hl-mvapich2 = %{version}
|
|
Obsoletes: %{libname}_hl-mvapich2 < %{version}
|
|
|
|
%description -n %{libname}_hl%{sonum}-mvapich2
|
|
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 mvapich2 version of the high-level HDF5
|
|
runtime libraries.
|
|
|
|
%package devel-data
|
|
Summary: Development data files for %{name}
|
|
Group: Development/Libraries/Other
|
|
|
|
%description devel-data
|
|
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 generic files needed to create projects that use
|
|
any version of HDF5.
|
|
|
|
%package devel
|
|
Summary: Development files for %{name}
|
|
Group: Development/Libraries/Other
|
|
Requires: %{name} = %{version}
|
|
Requires: %{name}-devel-data = %{version}
|
|
# Required by Fortran programs?
|
|
Requires: %{libname}-%{sonum} = %{version}
|
|
Requires: %{libname}_hl%{sonum} = %{version}
|
|
|
|
%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,
|
|
processing, visualization, and archiving.
|
|
|
|
This package contains all files needed to create projects that use
|
|
HDF5.
|
|
|
|
%package openmpi-devel
|
|
Summary: Development files for %{name}-openmpi
|
|
Group: Development/Libraries/Parallel
|
|
Requires: %{name}-devel-data = %{version}
|
|
Requires: %{name}-openmpi = %{version}
|
|
# Required by Fortran programs?
|
|
Requires: %{libname}-%{sonum}-openmpi = %{version}
|
|
Requires: %{libname}_hl%{sonum}-openmpi = %{version}
|
|
|
|
%description openmpi-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,
|
|
processing, visualization, and archiving.
|
|
|
|
This package contains all files needed to create projects that use
|
|
the openmpi version of HDF5.
|
|
|
|
%package mvapich2-devel
|
|
Summary: Development files for %{name}-mvapich2
|
|
Group: Development/Libraries/Parallel
|
|
Requires: %{name}-devel-data = %{version}
|
|
Requires: %{name}-mvapich2 = %{version}
|
|
# Required by Fortran programs?
|
|
Requires: %{libname}-%{sonum}-mvapich2 = %{version}
|
|
Requires: %{libname}_hl%{sonum}-mvapich2 = %{version}
|
|
|
|
%description mvapich2-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,
|
|
processing, visualization, and archiving.
|
|
|
|
This package contains all files needed to create projects that use
|
|
the mvapich2 version of HDF5.
|
|
|
|
%package devel-static
|
|
Summary: Static development files for %{name}
|
|
Group: Development/Libraries/Other
|
|
Requires: %{name}-devel = %{version}
|
|
|
|
%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.
|
|
|
|
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 provides the static libraries for HDF5.
|
|
|
|
%package openmpi-devel-static
|
|
Summary: Static development files for %{name}-openmpi
|
|
Group: Development/Libraries/Parallel
|
|
Requires: %{name}-openmpi-devel = %{version}
|
|
|
|
%description openmpi-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.
|
|
|
|
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 provides the static libraries for the openmpi version of HDF5.
|
|
|
|
%package mvapich2-devel-static
|
|
Summary: Static development files for %{name}-mvapich2
|
|
Group: Development/Libraries/Parallel
|
|
Requires: %{name}-mvapich2-devel = %{version}
|
|
|
|
%description mvapich2-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.
|
|
|
|
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 provides the static libraries for the mvapich2 version of HDF5.
|
|
|
|
%package examples
|
|
Summary: Examples for %{name}
|
|
Group: Documentation/Other
|
|
Requires: %{libname}-%{sonum} = %{version}
|
|
Requires: %{libname}_hl%{sonum} = %{version}
|
|
|
|
%description examples
|
|
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 provides examples of HDF5 library use.
|
|
|
|
%prep
|
|
%setup -q
|
|
# don't forget to increase sonum, see also baselibs.conf
|
|
LT_VERS_INTERFACE=$(sed -n 's/^ *LT_VERS_INTERFACE *= *//p' config/lt_vers.am)
|
|
test "%{sonum}" = "${LT_VERS_INTERFACE}" || exit 1
|
|
%patch0 -p1 -b .LD_LIBRARY_PATH
|
|
%patch1 -p0 -b .non_void_return
|
|
%patch2 -p0 -b .abort_unknown_host_config
|
|
%ifarch %arm
|
|
%patch4 -p0 -b .tests-arm
|
|
%endif
|
|
%patch5 -p1
|
|
|
|
echo "prepare parallel builds: %_mpi"
|
|
for build_dir in build %_mpi; do
|
|
mkdir $build_dir
|
|
ln -s ../configure $build_dir
|
|
done
|
|
|
|
%build
|
|
export CC=gcc
|
|
export CXX=g++
|
|
export F9X=gfortran
|
|
# workaround for known gcc issue, see RELEASE.txt
|
|
if gcc --version |grep -q " 4\.[68]"; then
|
|
export CFLAGS="${RPM_OPT_FLAGS/-O2/-O0}"
|
|
fi
|
|
%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
|
|
|
|
# NOTE: --enable-unsupported is required when --enable-fortran
|
|
# and/or --enable-cxx is enabled along with --enable-threadsafe.
|
|
# 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
|
|
# accessing this through other programs, this doesn't matter.
|
|
|
|
pushd build
|
|
%configure \
|
|
--docdir=%{_docdir}/%{name} \
|
|
--disable-dependency-tracking \
|
|
%if 0%{?suse_version} > 1140
|
|
--enable-fortran \
|
|
--enable-fortran2003 \
|
|
%endif
|
|
--enable-unsupported \
|
|
--enable-hl \
|
|
--enable-shared \
|
|
--enable-cxx \
|
|
--enable-threadsafe \
|
|
--with-pthread
|
|
|
|
make V=1 %{?_smp_mflags}
|
|
popd
|
|
|
|
for mpi in %_mpi;
|
|
do
|
|
pushd $mpi
|
|
export CC="%{_libdir}/mpi/gcc/$mpi/bin/mpicc"
|
|
export FC="%{_libdir}/mpi/gcc/$mpi/bin/mpif90"
|
|
export F77="%{_libdir}/mpi/gcc/$mpi/bin/mpif77"
|
|
export LD_LIBRARY_PATH="%{_libdir}/mpi/gcc/$mpi/%_lib"
|
|
%configure \
|
|
--docdir=%{_docdir}/%{name} \
|
|
--prefix=%{_libdir}/mpi/gcc/$mpi \
|
|
--exec-prefix=%{_libdir}/mpi/gcc/$mpi \
|
|
--bindir=%{_libdir}/mpi/gcc/$mpi/bin \
|
|
--libdir=%{_libdir}/mpi/gcc/$mpi/%_lib \
|
|
--datadir=%{_libdir}/mpi/gcc/$mpi/share \
|
|
--includedir=%{_libdir}/mpi/gcc/$mpi/include \
|
|
--disable-dependency-tracking \
|
|
%if 0%{?suse_version} > 1140
|
|
--enable-fortran \
|
|
--enable-fortran2003 \
|
|
%endif
|
|
--enable-unsupported \
|
|
--enable-hl \
|
|
--enable-shared \
|
|
--enable-threadsafe \
|
|
--enable-parallel \
|
|
--with-pthread
|
|
|
|
make %{?_smp_mflags}
|
|
popd
|
|
done
|
|
|
|
%install
|
|
# install serial and parallel builds, (the serial one will win in case of
|
|
# duplicate files)
|
|
for build_dir in %_mpi build; do
|
|
make install DESTDIR="%buildroot" -C "$build_dir"
|
|
done
|
|
|
|
find "%buildroot/%{_libdir}" -type f -name "*.la" | xargs rm -f
|
|
find %{buildroot}%{_datadir}/hdf5_examples -type f \
|
|
| grep -v ".sh$" | xargs chmod 644
|
|
# delete examples from parallel builds
|
|
rm -rf %{buildroot}%{_libdir}/mpi/gcc/*/share/hdf5_examples
|
|
%if 0%{?suse_version} >= 1110
|
|
%fdupes -s %{buildroot}/%{_datadir}
|
|
%endif
|
|
|
|
# rpm macro for version checking
|
|
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
|
cat > %{buildroot}%{_sysconfdir}/rpm/macros.hdf5 <<EOF
|
|
#
|
|
# RPM macros for hdf5 packaging
|
|
#
|
|
%_hdf5_sonum %{sonum}
|
|
%_hdf5_version %{version}
|
|
EOF
|
|
|
|
%check
|
|
%if 0%{?qemu_user_space_build}
|
|
# default timeout is 1200 seconds
|
|
export HDF5_ALARM_SECONDS=3600
|
|
%endif
|
|
make -C build check
|
|
# ignore errors for parallel builds
|
|
export HDF5_Make_Ignore=yes
|
|
for mpi in %_mpi; do
|
|
make -C $mpi check
|
|
done
|
|
|
|
%post -n %{libname}-%{sonum} -p /sbin/ldconfig
|
|
%postun -n %{libname}-%{sonum} -p /sbin/ldconfig
|
|
|
|
%post -n %{libname}_hl%{sonum} -p /sbin/ldconfig
|
|
%postun -n %{libname}_hl%{sonum} -p /sbin/ldconfig
|
|
|
|
%if 0%{?_openmpi}
|
|
%post -n %{libname}-%{sonum}-openmpi -p /sbin/ldconfig
|
|
%postun -n %{libname}-%{sonum}-openmpi -p /sbin/ldconfig
|
|
|
|
%post -n %{libname}_hl%{sonum}-openmpi -p /sbin/ldconfig
|
|
%postun -n %{libname}_hl%{sonum}-openmpi -p /sbin/ldconfig
|
|
%endif
|
|
|
|
%if 0%{?_mvapich2}
|
|
%post -n %{libname}-%{sonum}-mvapich2 -p /sbin/ldconfig
|
|
%postun -n %{libname}-%{sonum}-mvapich2 -p /sbin/ldconfig
|
|
|
|
%post -n %{libname}_hl%{sonum}-mvapich2 -p /sbin/ldconfig
|
|
%postun -n %{libname}_hl%{sonum}-mvapich2 -p /sbin/ldconfig
|
|
%endif
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%{_bindir}/gif2h5
|
|
%{_bindir}/h52gif
|
|
%{_bindir}/h5copy
|
|
%{_bindir}/h5debug
|
|
%{_bindir}/h5diff
|
|
%{_bindir}/h5dump
|
|
%{_bindir}/h5import
|
|
%{_bindir}/h5jam
|
|
%{_bindir}/h5ls
|
|
%{_bindir}/h5mkgrp
|
|
%{_bindir}/h5perf_serial
|
|
%{_bindir}/h5redeploy
|
|
%{_bindir}/h5repack
|
|
%{_bindir}/h5repart
|
|
%{_bindir}/h5stat
|
|
%{_bindir}/h5unjam
|
|
|
|
%files -n %{libname}-%{sonum}
|
|
%defattr(-,root,root)
|
|
%doc COPYING ACKNOWLEDGMENTS README.txt
|
|
%doc release_docs/HISTORY-1_0-1_8_0_rc3.txt
|
|
%doc release_docs/HISTORY-1_8.txt
|
|
%doc release_docs/RELEASE.txt
|
|
%defattr(0755,root,root)
|
|
%{_libdir}/libhdf5.so.*
|
|
%{_libdir}/libhdf5_cpp.so.*
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/libhdf5_fortran.so.*
|
|
%endif
|
|
|
|
%files -n libhdf5_hl%{sonum}
|
|
%defattr(0755,root,root)
|
|
%{_libdir}/libhdf5_hl.so.*
|
|
%{_libdir}/libhdf5_hl_cpp.so.*
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/libhdf5hl_fortran.so.*
|
|
%endif
|
|
|
|
%files devel-data
|
|
%defattr(-,root,root,-)
|
|
%config(noreplace) %{_sysconfdir}/rpm/macros.hdf5
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_bindir}/h5c++
|
|
%{_bindir}/h5cc
|
|
%if 0%{?suse_version} > 1140
|
|
%{_bindir}/h5fc
|
|
%endif
|
|
%{_includedir}/*.h
|
|
%{_libdir}/*.so
|
|
%{_libdir}/*.settings
|
|
%if 0%{?suse_version} > 1140
|
|
%{_includedir}/*.mod
|
|
%endif
|
|
|
|
%files devel-static
|
|
%defattr(-,root,root)
|
|
%{_libdir}/*.a
|
|
|
|
%files examples
|
|
%defattr(-,root,root)
|
|
%{_datadir}/hdf5_examples
|
|
|
|
%if 0%{?_openmpi}
|
|
%files -n %{name}-openmpi
|
|
%defattr(-,root,root)
|
|
%{_libdir}/mpi/gcc/openmpi/bin/gif2h5
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h52gif
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5copy
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5debug
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5diff
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5dump
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5import
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5jam
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5ls
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5mkgrp
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5perf
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5perf_serial
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5redeploy
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5repack
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5repart
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5stat
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5unjam
|
|
%{_libdir}/mpi/gcc/openmpi/bin/ph5diff
|
|
|
|
%files -n %{libname}-%{sonum}-openmpi
|
|
%defattr(-,root,root)
|
|
%doc COPYING ACKNOWLEDGMENTS README.txt
|
|
%doc release_docs/HISTORY-1_0-1_8_0_rc3.txt
|
|
%doc release_docs/HISTORY-1_8.txt
|
|
%doc release_docs/RELEASE.txt
|
|
%defattr(0755,root,root)
|
|
%{_libdir}/mpi/gcc/openmpi/%_lib/libhdf5.so.*
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/mpi/gcc/openmpi/%_lib/libhdf5_fortran.so.*
|
|
%endif
|
|
|
|
%files -n libhdf5_hl%{sonum}-openmpi
|
|
%defattr(0755,root,root)
|
|
%{_libdir}/mpi/gcc/openmpi/%_lib/libhdf5_hl.so.*
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/mpi/gcc/openmpi/%_lib/libhdf5hl_fortran.so.*
|
|
%endif
|
|
|
|
%files openmpi-devel
|
|
%defattr(-,root,root)
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5pcc
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/mpi/gcc/openmpi/bin/h5pfc
|
|
%endif
|
|
%{_libdir}/mpi/gcc/openmpi/include/*.h
|
|
%{_libdir}/mpi/gcc/openmpi/%_lib/*.so
|
|
%{_libdir}/mpi/gcc/openmpi/%_lib/*.settings
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/mpi/gcc/openmpi/include/*.mod
|
|
%endif
|
|
|
|
%files openmpi-devel-static
|
|
%defattr(-,root,root)
|
|
%{_libdir}/mpi/gcc/openmpi/%_lib/*.a
|
|
%endif
|
|
|
|
%if 0%{?_mvapich2}
|
|
%files -n %{name}-mvapich2
|
|
%defattr(-,root,root)
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/gif2h5
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h52gif
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5copy
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5debug
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5diff
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5dump
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5import
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5jam
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5ls
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5mkgrp
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5perf
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5perf_serial
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5redeploy
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5repack
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5repart
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5stat
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5unjam
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/ph5diff
|
|
|
|
%files -n %{libname}-%{sonum}-mvapich2
|
|
%defattr(-,root,root)
|
|
%doc COPYING ACKNOWLEDGMENTS README.txt
|
|
%doc release_docs/HISTORY-1_0-1_8_0_rc3.txt
|
|
%doc release_docs/HISTORY-1_8.txt
|
|
%doc release_docs/RELEASE.txt
|
|
%defattr(0755,root,root)
|
|
%{_libdir}/mpi/gcc/mvapich2/%_lib/libhdf5.so.*
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/mpi/gcc/mvapich2/%_lib/libhdf5_fortran.so.*
|
|
%endif
|
|
|
|
%files -n libhdf5_hl%{sonum}-mvapich2
|
|
%defattr(0755,root,root)
|
|
%{_libdir}/mpi/gcc/mvapich2/%_lib/libhdf5_hl.so.*
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/mpi/gcc/mvapich2/%_lib/libhdf5hl_fortran.so.*
|
|
%endif
|
|
|
|
%files mvapich2-devel
|
|
%defattr(-,root,root)
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5pcc
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/mpi/gcc/mvapich2/bin/h5pfc
|
|
%endif
|
|
%{_libdir}/mpi/gcc/mvapich2/include/*.h
|
|
%{_libdir}/mpi/gcc/mvapich2/%_lib/*.so
|
|
%{_libdir}/mpi/gcc/mvapich2/%_lib/*.settings
|
|
%if 0%{?suse_version} > 1140
|
|
%{_libdir}/mpi/gcc/mvapich2/include/*.mod
|
|
%endif
|
|
|
|
%files mvapich2-devel-static
|
|
%defattr(-,root,root)
|
|
%{_libdir}/mpi/gcc/mvapich2/%_lib/*.a
|
|
%endif
|
|
|
|
%changelog
|