%define major 7 %define major_hl 7 %define libname %mklibname %{name}_ %{major} %define libname_hl %mklibname %{name}_hl %{major_hl} %define develname %mklibname %{name} -d Name: hdf5 Version: 1.8.9 Release: %mkrel 3 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 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} %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 %{__rm} -rf %{buildroot} mkdir -p %{buildroot}%{_libdir} %makeinstall_std %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 %clean %{__rm} -rf %{buildroot} %files %defattr(-,root,root) %doc COPYING MANIFEST README.txt release_docs/RELEASE.txt %{_bindir}/* %files -n %{libname} %defattr(-,root,root,755) %{_libdir}/libhdf5.so.%{major}* %{_libdir}/libhdf5_cpp.so.%{major}* %{_libdir}/libhdf5_fortran.so.%{major}* %files -n %{libname_hl} %defattr(-,root,root,755) %{_libdir}/libhdf5_hl.so.%{major_hl}* %{_libdir}/libhdf5_hl_cpp.so.%{major_hl}* %{_libdir}/libhdf5hl_fortran.so.%{major_hl}* %files -n %{develname} %defattr(-,root,root) %{_libdir}/*.a %{_libdir}/*.la %{_libdir}/*.so %{_libdir}/*.settings %{_includedir}/* %{_datadir}/hdf5_examples/* %config(noreplace) %{_sysconfdir}/rpm/macros.hdf5 %changelog * 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