|
|
|
@ -1,6 +1,10 @@
|
|
|
|
|
%if 0%{?rhel} < 7
|
|
|
|
|
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
Name: hdf
|
|
|
|
|
Version: 4.2.13
|
|
|
|
|
Release: 4%{?dist}
|
|
|
|
|
Release: 5%{?dist}
|
|
|
|
|
Summary: A general purpose library and file format for storing scientific data
|
|
|
|
|
License: BSD
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
@ -25,17 +29,11 @@ Patch9: hdf-ppc64le.patch
|
|
|
|
|
# Use only if java is disabled
|
|
|
|
|
Patch10: hdf-avoid_syntax_error_el6.patch
|
|
|
|
|
|
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
|
|
# For destdir/examplesdir patches
|
|
|
|
|
BuildRequires: automake libtool
|
|
|
|
|
BuildRequires: flex byacc libjpeg-devel zlib-devel
|
|
|
|
|
BuildRequires: flex byacc libjpeg-devel zlib-devel %{!?el6:libaec-devel}
|
|
|
|
|
BuildRequires: libtirpc-devel
|
|
|
|
|
%if "%{?dist}" != ".el4"
|
|
|
|
|
BuildRequires: gcc-gfortran
|
|
|
|
|
%else
|
|
|
|
|
BuildRequires: gcc-g77
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
HDF is a general purpose library and file format for storing scientific data.
|
|
|
|
@ -46,18 +44,16 @@ objects, one can create and store almost any kind of scientific data
|
|
|
|
|
structure, such as images, arrays of vectors, and structured and unstructured
|
|
|
|
|
grids. You can also mix and match them in HDF files according to your needs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package devel
|
|
|
|
|
Summary: HDF development files
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
Provides: %{name}-static = %{version}-%{release}
|
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: libjpeg-devel zlib-devel
|
|
|
|
|
|
|
|
|
|
%description devel
|
|
|
|
|
HDF development headers and libraries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%setup -q
|
|
|
|
|
%patch0 -p1 -b .maxavailfiles
|
|
|
|
@ -80,30 +76,33 @@ chmod a-x *hdf/*/*.c hdf/*/*.h
|
|
|
|
|
# restore include file timestamps modified by patching
|
|
|
|
|
touch -c -r ./hdf/src/hdfi.h.ppc ./hdf/src/hdfi.h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
# For destdir/examplesdir patches
|
|
|
|
|
autoreconf -vif
|
|
|
|
|
# avoid upstream compiler flags settings
|
|
|
|
|
rm config/*linux-gnu
|
|
|
|
|
# TODO: upstream fix
|
|
|
|
|
export CFLAGS="$RPM_OPT_FLAGS -fPIC -I/usr/include/tirpc"
|
|
|
|
|
export LDFLAGS="%__global_ldflags -ltirpc"
|
|
|
|
|
export FFLAGS="$RPM_OPT_FLAGS -fPIC -ffixed-line-length-none"
|
|
|
|
|
# Shared libraries disabled: libmfhdf.so is not correctly compiled
|
|
|
|
|
# for missing link to libdf.so
|
|
|
|
|
export CFLAGS="%{optflags} -fPIC -I%{_includedir}/tirpc"
|
|
|
|
|
export LDFLAGS="%{__global_ldflags} -ltirpc"
|
|
|
|
|
export FFLAGS="%{optflags} -fPIC -ffixed-line-length-none"
|
|
|
|
|
%configure --disable-production --disable-java --disable-netcdf \
|
|
|
|
|
--enable-shared=no --enable-static=yes --enable-fortran %{!?el6:--with-szlib} \
|
|
|
|
|
--includedir=%{_includedir}/%{name} --libdir=%{_libdir}/%{name}
|
|
|
|
|
%make_build
|
|
|
|
|
|
|
|
|
|
make
|
|
|
|
|
# correct the timestamps based on files used to generate the header files
|
|
|
|
|
touch -c -r hdf/src/hdf.inc hdf/src/hdf.f90
|
|
|
|
|
touch -c -r hdf/src/dffunc.inc hdf/src/dffunc.f90
|
|
|
|
|
touch -c -r mfhdf/fortran/mffunc.inc mfhdf/fortran/mffunc.f90
|
|
|
|
|
# netcdf fortran include need same treatement, but they are not shipped
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
make install DESTDIR=%{buildroot} INSTALL='install -p'
|
|
|
|
|
rm %{buildroot}%{_libdir}/%{name}/*.la
|
|
|
|
|
%make_install
|
|
|
|
|
|
|
|
|
|
rm -f %{buildroot}%{_libdir}/%{name}/*.la
|
|
|
|
|
|
|
|
|
|
#Don't conflict with netcdf
|
|
|
|
|
for file in ncdump ncgen; do
|
|
|
|
|
mv %{buildroot}%{_bindir}/$file %{buildroot}%{_bindir}/h$file
|
|
|
|
@ -112,20 +111,29 @@ for file in ncdump ncgen; do
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
# this is done to have the same timestamp on multiarch setups
|
|
|
|
|
touch -c -r README.txt %{buildroot}/%{_includedir}/hdf/h4config.h
|
|
|
|
|
touch -c -r README.txt %{buildroot}%{_includedir}/hdf/h4config.h
|
|
|
|
|
|
|
|
|
|
# Remove an autoconf conditional from the API that is unused and cause
|
|
|
|
|
# the API to be different on x86 and x86_64
|
|
|
|
|
pushd %{buildroot}/%{_includedir}/hdf
|
|
|
|
|
pushd %{buildroot}%{_includedir}/hdf
|
|
|
|
|
grep -v 'H4_SIZEOF_INTP' h4config.h > h4config.h.tmp
|
|
|
|
|
touch -c -r h4config.h h4config.h.tmp
|
|
|
|
|
mv h4config.h.tmp h4config.h
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ./testdhf fails on f28-i386 only with
|
|
|
|
|
# --> /bin/sh: line 25: 22535 Segmentation fault (core dumped) srcdir="." ./${tname} >> ${log} 2>&1
|
|
|
|
|
# but not by an arch-override=i386 ?!
|
|
|
|
|
%if 0%{?fedora} >= 28
|
|
|
|
|
%ifnarch %{ix86}
|
|
|
|
|
%check
|
|
|
|
|
make check
|
|
|
|
|
|
|
|
|
|
make -j1 check
|
|
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
%if 0%{?fedora} < 28
|
|
|
|
|
%check
|
|
|
|
|
make -j1 check
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%license COPYING
|
|
|
|
@ -139,8 +147,10 @@ make check
|
|
|
|
|
%{_libdir}/%{name}/
|
|
|
|
|
%{_defaultdocdir}/%{name}/examples
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Sat Jan 20 2018 Antonio Trande <sagitter@fedoraproject.org> 4.2.13-5
|
|
|
|
|
- Enable szlib support
|
|
|
|
|
|
|
|
|
|
* Wed Jan 17 2018 Pavel Raiskup <praiskup@redhat.com> - 4.2.13-4
|
|
|
|
|
- rpc api moved from glibc to libtirpc:
|
|
|
|
|
https://fedoraproject.org/wiki/Changes/SunRPCRemoval
|
|
|
|
|