%define major 8 %define major_hl 8 %define libname %mklibname %{name}_ %{major} %define libname_hl %mklibname %{name}_hl %{major_hl} %define develname %mklibname %{name} -d Name: hdf5 Version: 1.8.13 %define subrel 1 Release: %mkrel 4 Summary: HDF5 library License: Distributable (see included COPYING) Group: System/Libraries URL: http://www.hdfgroup.org/HDF5/ Source0: http://www.hdfgroup.org/ftp/HDF5/current/src/%{name}-%{version}.tar.bz2 Patch2: %{name}-1.8.1-lib64.patch Patch3: %{name}-1.8.5-fix-str-fmt.patch Patch10: hdf5-1.8.13-CVE-2016-4330.patch Patch11: hdf5-1.8.13-CVE-2016-4331-1.patch Patch12: hdf5-1.8.13-CVE-2016-4331-2.patch Patch13: hdf5-1.8.13-CVE-2016-4332.patch Patch14: hdf5-1.8.13-CVE-2016-4333.patch BuildRequires: libjpeg-static-devel BuildRequires: openssl-devel BuildRequires: zlib-devel BuildRequires: krb5-devel BuildRequires: gcc-gfortran Requires: %{libname} = %{version}-%{release} %description HDF5 is a library and file format for storing scientific data. It was designed to address some of the limitations of the HDF 4.x library and to address current and anticipated requirements of modern systems and applications. HDF5 includes the following improvements. - A new file format designed to address some of the deficiencies of HDF4.x, particularly the need to store larger files and more objects per file. - A simpler, more comprehensive data model that includes only two basic structures: a multidimensional array of record structures, and a grouping structure. - A simpler, better-engineered library and API, with improved support for parallel i/o, threads, and other requirements imposed by modern systems and applications. %package -n %{libname} Summary: HDF5 libraries Group: System/Libraries Provides: %{name} = %{version}-%{release} Provides: lib%{name} = %{version}-%{release} %description -n %{libname} This package contains the libraries needed to run programs dynamically linked with hdf5 libraries. %package -n %{libname_hl} Summary: HDF5 high level libraries Group: System/Libraries Provides: %{name} = %{version}-%{release} Provides: lib%{name}_hl = %{version}-%{release} Conflicts: %{mklibname hdf 5 0} %description -n %{libname_hl} This package contains the high level libraries needed to run programs dynamically linked with hdf5 libraries. %package -n %{develname} Summary: Static libraries and header files for hdf5 development Group: Development/C Provides: %{name}-devel = %{version}-%{release} Requires: %{libname} = %{version} Requires: %{libname_hl} = %{version} Obsoletes: %{mklibname -d hdf 5 0} < %{version} %description -n %{develname} This package provides static libraries and header files needed for develop applications requiring the "hdf5" library. %prep %setup -qn %{name}-%{version} %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 #%%ifarch x86_64 #%%patch2 -p0 #%%endif find -name '*.[ch]' -o -name '*.f90' -exec chmod -x {} + %build find %{buildroot} -type f -size 0 -name Dependencies -print0 |xargs -0 rm -f find %{buildroot} -type f -size 0 -name .depend -print0 |xargs -0 rm -f OPT_FLAGS="%{optflags} -O1 -Wno-long-long -Wfloat-equal -Wmissing-format-attribute -Wpadded" %ifarch %{ix86} x86_64 OPT_FLAGS="$OPT_FLAGS -mieee-fp" %endif # (gb) 1.4.2-2mdk: "2.96" still deficient wrt. C++ exception handling on ia32 %ifarch %ix86 OPT_FLAGS=`echo "$OPT_FLAGS -fno-omit-frame-pointer" | sed -e "s/-fomit-frame-pointer//g"` %endif # (gb) 1.4.2-2mdk: constants merging causes troubles with long doubles on ia64 %ifarch ia64 OPT_FLAGS="$OPT_FLAGS -fno-merge-constants" %endif %ifarch x86_64 OPT_FLAGS="$OPT_FLAGS -fPIC" %endif #(tpg) disable all strange flags #CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" \ %configure2_5x --prefix=%{_prefix} \ --disable-dependency-tracking \ --enable-cxx \ --enable-fortran \ --with-pthread \ --enable-linux-lfs \ %ifarch x86_64 --with-pic \ %endif --enable-production=yes %make %check # all tests must pass on the following architectures %ifarch %{ix86} x86_64 %make check || echo "make check failed" %else %make -k check || echo "make check failed" %endif %install mkdir -p %{buildroot}%{_libdir} %makeinstall_std rm -f %{buildroot}%{_libdir}/*.la %multiarch_includes %{buildroot}%{_includedir}/H5pubconf.h %{__perl} -pi -e \ "s@^libdir=\'/usr/lib\'@libdir=\'%{_libdir}\'@g" %{buildroot}%{_libdir}/*.la # rpm macro for version checking mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/rpm cat > ${RPM_BUILD_ROOT}%{_sysconfdir}/rpm/macros.hdf5 <<EOF # # RPM macros for R packaging # # # Make R search index.txt # %_hdf5_version %{version} EOF %files %doc COPYING MANIFEST README.txt release_docs/RELEASE.txt %{_bindir}/* %files -n %{libname} %{_libdir}/libhdf5.so.%{major}* %{_libdir}/libhdf5_cpp.so.%{major}* %{_libdir}/libhdf5_fortran.so.%{major}* %files -n %{libname_hl} %{_libdir}/libhdf5_hl.so.%{major_hl}* %{_libdir}/libhdf5_hl_cpp.so.%{major_hl}* %{_libdir}/libhdf5hl_fortran.so.%{major_hl}* %files -n %{develname} %{_libdir}/*.a %{_libdir}/*.so %{_libdir}/*.settings %{_includedir}/* %{_datadir}/hdf5_examples/* %config(noreplace) %{_sysconfdir}/rpm/macros.hdf5 %changelog * Fri Dec 09 2016 mrambo3501 <mrambo3501> 1.8.13-4.1.mga5 + Revision: 1073847 - added patches from Debian to fix security issues CVE-2016-433[0-3] * Wed Oct 15 2014 umeabot <umeabot> 1.8.13-4.mga5 + Revision: 747360 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 1.8.13-3.mga5 + Revision: 680098 - Mageia 5 Mass Rebuild * Sun Jun 29 2014 grenoya <grenoya> 1.8.13-2.mga5 + Revision: 641404 - new version 1.8.13 * Sat Oct 19 2013 umeabot <umeabot> 1.8.11-2.mga4 + Revision: 530081 - Mageia 4 Mass Rebuild * Tue Jul 16 2013 fwang <fwang> 1.8.11-1.mga4 + Revision: 454997 - update libmajor - new version 1.8.11 * Sat Jan 12 2013 umeabot <umeabot> 1.8.9-3.mga3 + Revision: 353146 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Wed Jan 09 2013 dmorgan <dmorgan> 1.8.9-2.mga3 + Revision: 343364 - Add rpm macro needed for jhdf5 * Wed Sep 19 2012 fwang <fwang> 1.8.9-1.mga3 + Revision: 296220 - new version 1.8.9 * Sun Apr 08 2012 fwang <fwang> 1.8.7-2.mga2 + Revision: 229655 - add tarball - rebuild for new gcc * Wed Jul 06 2011 grenoya <grenoya> 1.8.7-1.mga2 + Revision: 119284 - upgrade sources to 1.8.7 - remove patch #0 - remove unneeded defines * Sat Apr 16 2011 grenoya <grenoya> 1.8.6-1.mga1 + Revision: 86629 - update sources to 1.8.6 - remove old patch * Thu Feb 17 2011 ahmad <ahmad> 1.8.5-2.mga1 + Revision: 53310 - drop old/unneeded scriptlets - imported package hdf5