Enable szlib support

This commit is contained in:
sagitter 2018-01-21 14:20:46 +01:00
parent 55d0b25462
commit 63668bb95e
1 changed files with 35 additions and 25 deletions

View File

@ -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