# # spec file for package hdf5 # # Copyright (c) 2017 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: The so numbers autodetected by update_so_version.sh # do not match the so numbers that are actually buit. %define sonum 100 %define sonum_CXX 100 %define sonum_F 100 %define sonum_HL 100 %define sonum_HL_CXX 100 %define sonum_HL_F 100 %define sonum_TOOLS 100 Name: hdf5 Version: 1.10.0 Release: 0 %define short_ver 1.10 %define src_ver %{version}-patch1 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-%{short_ver}/hdf5-%{src_ver}/src/hdf5-%{src_ver}.tar.bz2 Source1000: baselibs.conf Source1001: baselibs.conf.in Source1002: update_so_version.sh 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 Patch6: hdf5-buildcompare.patch Patch7: hdf5-mpi.patch Patch8: hdf5_disable_testphdf5.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: krb5-devel BuildRequires: libsz2-devel BuildRequires: openssl-devel BuildRequires: zlib-devel %if 0%{?_openmpi} BuildRequires: openmpi-devel %endif %if 0%{?_mvapich2} BuildRequires: mvapich2-devel %endif Requires: libhdf5-%{sonum} = %{version} Requires: libhdf5_cpp%{sonum_CXX} = %{version} Requires: libhdf5_fortran%{sonum_F} = %{version} Requires: libhdf5_hl%{sonum_HL} = %{version} Requires: libhdf5_hl_cpp%{sonum_HL_CXX} = %{version} Requires: libhdf5hl_fortran%{sonum_HL_F} = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build %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: libhdf5-%{sonum}-openmpi = %{version} Requires: libhdf5_fortran%{sonum_F}-openmpi = %{version} Requires: libhdf5_hl%{sonum_HL}-openmpi = %{version} Requires: libhdf5hl_fortran%{sonum_HL_F}-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: libhdf5-%{sonum}-mvapich2 = %{version} Requires: libhdf5_fortran%{sonum_F}-mvapich2 = %{version} Requires: libhdf5_hl%{sonum_HL}-mvapich2 = %{version} Requires: libhdf5hl_fortran%{sonum_HL_F}-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 libhdf5-%{sonum} Summary: Shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5 = %{version} Obsoletes: libhdf5 < %{version} %description -n libhdf5-%{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 libhdf5-%{sonum}-openmpi Summary: Shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5-openmpi = %{version} Obsoletes: libhdf5-openmpi < %{version} %description -n libhdf5-%{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 libhdf5-%{sonum}-mvapich2 Summary: Shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5-mvapich2 = %{version} Obsoletes: libhdf5-mvapich2 < %{version} %description -n libhdf5-%{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 libhdf5_hl%{sonum_HL} Summary: High-level shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5_hl = %{version} Obsoletes: libhdf5_hl < %{version} %description -n libhdf5_hl%{sonum_HL} 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 libhdf5_hl%{sonum_HL}-openmpi Summary: High-level shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5_hl-openmpi = %{version} Obsoletes: libhdf5_hl-openmpi < %{version} %description -n libhdf5_hl%{sonum_HL}-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 libhdf5_hl%{sonum_HL}-mvapich2 Summary: High-level shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5_hl-mvapich2 = %{version} Obsoletes: libhdf5_hl-mvapich2 < %{version} %description -n libhdf5_hl%{sonum_HL}-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 -n libhdf5_cpp%{sonum_CXX} Summary: Shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5_cpp = %{version} Obsoletes: libhdf5_cpp < %{version} %description -n libhdf5_cpp%{sonum_CXX} 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 libhdf5_hl_cpp%{sonum_HL_CXX} Summary: High-level shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5_hl_cpp = %{version} Obsoletes: libhdf5_hl_cpp < %{version} %description -n libhdf5_hl_cpp%{sonum_HL_CXX} 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 libhdf5_fortran%{sonum_F} Summary: Shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5_fortran = %{version} Obsoletes: libhdf5_fortran < %{version} %description -n libhdf5_fortran%{sonum_F} 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 libhdf5_fortran%{sonum_F}-openmpi Summary: Shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5_fortran-openmpi = %{version} Obsoletes: libhdf5_fortran-openmpi < %{version} %description -n libhdf5_fortran%{sonum_F}-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 libhdf5_fortran%{sonum_F}-mvapich2 Summary: Shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5_fortran-mvapich2 = %{version} Obsoletes: libhdf5_fortran-mvapich2 < %{version} %description -n libhdf5_fortran%{sonum_F}-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 libhdf5hl_fortran%{sonum_HL_F} Summary: High-level shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5hl_fortran = %{version} Obsoletes: libhdf5hl_fortran < %{version} %description -n libhdf5hl_fortran%{sonum_HL_F} 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 libhdf5hl_fortran%{sonum_HL_F}-openmpi Summary: High-level shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5hl_fortran-openmpi = %{version} Obsoletes: libhdf5hl_fortran-openmpi < %{version} %description -n libhdf5hl_fortran%{sonum_HL_F}-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 libhdf5hl_fortran%{sonum_HL_F}-mvapich2 Summary: High-level shared libraries for the HDF5 scientific data format # To avoid unresolvable errors due to multiple providers of the library Group: Productivity/Scientific/Other Provides: libhdf5hl_fortran-mvapich2 = %{version} Obsoletes: libhdf5hl_fortran-mvapich2 < %{version} %description -n libhdf5hl_fortran%{sonum_HL_F}-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} Requires: libsz2-devel # Required by Fortran programs? Requires: libhdf5-%{sonum} = %{version} Requires: libhdf5_cpp%{sonum_CXX} = %{version} Requires: libhdf5_fortran%{sonum_F} = %{version} Requires: libhdf5_hl%{sonum_HL} = %{version} Requires: libhdf5_hl_cpp%{sonum_HL_CXX} = %{version} Requires: libhdf5hl_fortran%{sonum_HL_F} = %{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} Requires: libsz2-devel # Required by Fortran programs? Requires: libhdf5-%{sonum}-openmpi = %{version} Requires: libhdf5_fortran%{sonum_F}-openmpi = %{version} Requires: libhdf5_hl%{sonum_HL}-openmpi = %{version} Requires: libhdf5hl_fortran%{sonum_HL_F}-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} Requires: libsz2-devel # Required by Fortran programs? Requires: libhdf5-%{sonum}-mvapich2 = %{version} Requires: libhdf5_fortran%{sonum_F}-mvapich2 = %{version} Requires: libhdf5_hl%{sonum_HL}-mvapich2 = %{version} Requires: libhdf5hl_fortran%{sonum_HL_F}-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: libhdf5-%{sonum} = %{version} Requires: libhdf5_cpp%{sonum_CXX} = %{version} Requires: libhdf5_fortran%{sonum_F} = %{version} Requires: libhdf5_hl%{sonum_HL} = %{version} Requires: libhdf5_hl_cpp%{sonum_HL_CXX} = %{version} Requires: libhdf5hl_fortran%{sonum_HL_F} = %{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 -n %{name}-%{version}-patch1 %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 %patch6 -p1 %patch7 -p1 %patch8 -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 export CFLAGS="%{optflags}" # workaround for known gcc issue, see RELEASE.txt if gcc --version |grep -q " 4\.[68]"; then export CFLAGS="${CFLAGS/-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 \ --enable-fortran \ --enable-fortran2003 \ --enable-unsupported \ --enable-hl \ --enable-shared \ --enable-cxx \ --enable-threadsafe \ --enable-build-mode=production \ --with-szlib \ --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 \ --enable-fortran \ --enable-fortran2003 \ --enable-unsupported \ --enable-hl \ --enable-shared \ --enable-threadsafe \ --enable-parallel \ --enable-build-mode=production \ --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} -type f -name "*.la" -delete -print 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 <