|
|
|
@ -1,22 +1,35 @@
|
|
|
|
|
%global sover 19
|
|
|
|
|
|
|
|
|
|
Name: netcdf
|
|
|
|
|
Version: 4.8.1
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
Version: 4.9.2
|
|
|
|
|
Release: 6%{?dist}
|
|
|
|
|
Summary: Libraries for the Unidata network Common Data Form
|
|
|
|
|
|
|
|
|
|
License: NetCDF
|
|
|
|
|
License: BSD-3-Clause
|
|
|
|
|
URL: http://www.unidata.ucar.edu/software/netcdf/
|
|
|
|
|
Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}/%{name}-%{version}.tar.gz
|
|
|
|
|
# Remove sonames from plugins
|
|
|
|
|
Patch0: https://patch-diff.githubusercontent.com/raw/Unidata/netcdf-c/pull/2431.patch
|
|
|
|
|
# Fix blosc test - https://github.com/Unidata/netcdf-c/issues/2572
|
|
|
|
|
Patch1: netcdf-tst-blosc.patch
|
|
|
|
|
# Fix segfault in octave-netcdf on exit
|
|
|
|
|
Patch2: https://github.com/Unidata/netcdf-c/pull/2827.patch
|
|
|
|
|
# Fix incompatible types
|
|
|
|
|
Patch3: https://github.com/Unidata/netcdf-c/pull/2850.patch
|
|
|
|
|
|
|
|
|
|
BuildRequires: make
|
|
|
|
|
BuildRequires: libtool
|
|
|
|
|
BuildRequires: make
|
|
|
|
|
BuildRequires: chrpath
|
|
|
|
|
BuildRequires: doxygen
|
|
|
|
|
BuildRequires: blosc-devel
|
|
|
|
|
BuildRequires: bzip2-devel
|
|
|
|
|
BuildRequires: hdf-static
|
|
|
|
|
BuildRequires: hdf5-devel
|
|
|
|
|
BuildRequires: gawk
|
|
|
|
|
BuildRequires: libcurl-devel
|
|
|
|
|
BuildRequires: libxml2-devel
|
|
|
|
|
BuildRequires: libzip-devel
|
|
|
|
|
BuildRequires: libzstd-devel
|
|
|
|
|
BuildRequires: m4
|
|
|
|
|
BuildRequires: zlib-devel
|
|
|
|
|
%ifarch %{valgrind_arches}
|
|
|
|
@ -27,8 +40,17 @@ BuildRequires: valgrind
|
|
|
|
|
BuildRequires: openssh-clients
|
|
|
|
|
Requires: hdf5%{?_isa} = %{_hdf5_version}
|
|
|
|
|
|
|
|
|
|
%global with_mpich 1
|
|
|
|
|
%global with_openmpi 1
|
|
|
|
|
%global with_mpich %{undefined flatpak}
|
|
|
|
|
%if 0%{?fedora} >= 40
|
|
|
|
|
%ifarch %{ix86}
|
|
|
|
|
# No OpenMPI support on these arches
|
|
|
|
|
%global with_openmpi 0
|
|
|
|
|
%else
|
|
|
|
|
%global with_openmpi %{undefined flatpak}
|
|
|
|
|
%endif
|
|
|
|
|
%else
|
|
|
|
|
%global with_openmpi %{undefined flatpak}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with_mpich}
|
|
|
|
|
%global mpi_list mpich
|
|
|
|
@ -37,6 +59,13 @@ Requires: hdf5%{?_isa} = %{_hdf5_version}
|
|
|
|
|
%global mpi_list %{?mpi_list} openmpi
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# mpich parallel tests are hanging on s390x
|
|
|
|
|
%ifarch s390x
|
|
|
|
|
%bcond_with parallel_tests
|
|
|
|
|
%else
|
|
|
|
|
%bcond_without parallel_tests
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
NetCDF (network Common Data Form) is an interface for array-oriented
|
|
|
|
|
data access and a freely-distributed collection of software libraries
|
|
|
|
@ -160,6 +189,8 @@ NetCDF parallel openmpi static libraries
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup -p1 -n %{name}-c-%{version}
|
|
|
|
|
# For Patch0
|
|
|
|
|
./bootstrap
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
@ -173,7 +204,7 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
|
|
|
|
|
--enable-netcdf-4 \\\
|
|
|
|
|
--enable-dap \\\
|
|
|
|
|
--enable-extra-example-tests \\\
|
|
|
|
|
CPPFLAGS="-I%{_includedir}/hdf -DH5_USE_110_API" \\\
|
|
|
|
|
CPPFLAGS="-I%{_includedir}/hdf" \\\
|
|
|
|
|
LIBS="-ltirpc" \\\
|
|
|
|
|
--enable-hdf4 \\\
|
|
|
|
|
--disable-dap-remote-tests \\\
|
|
|
|
@ -183,12 +214,19 @@ export CFLAGS="%{optflags} -fno-strict-aliasing"
|
|
|
|
|
mkdir build
|
|
|
|
|
pushd build
|
|
|
|
|
ln -s ../configure .
|
|
|
|
|
%configure %{configure_opts}
|
|
|
|
|
%configure %{configure_opts} \
|
|
|
|
|
--with-plugin-dir=%{_libdir}/hdf5/plugin
|
|
|
|
|
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
|
|
|
|
|
# -Wl,--as-needed after all the libraries.
|
|
|
|
|
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
|
|
|
|
|
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
|
|
|
|
|
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
|
|
|
|
|
-i libtool
|
|
|
|
|
%make_build
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
# MPI builds
|
|
|
|
|
for mpi in %{mpi_list}
|
|
|
|
|
for mpi in %{?mpi_list}
|
|
|
|
|
do
|
|
|
|
|
mkdir $mpi
|
|
|
|
|
pushd $mpi
|
|
|
|
@ -203,7 +241,14 @@ do
|
|
|
|
|
--includedir=%{_includedir}/$mpi-%{_arch} \
|
|
|
|
|
--datarootdir=%{_libdir}/$mpi/share \
|
|
|
|
|
--mandir=%{_libdir}/$mpi/share/man \
|
|
|
|
|
--enable-parallel-tests
|
|
|
|
|
--with-plugin-dir=%{_libdir}/$mpi/hdf5/plugin \
|
|
|
|
|
%{?with_parallel_tests:--enable-parallel-tests}
|
|
|
|
|
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
|
|
|
|
|
# -Wl,--as-needed after all the libraries.
|
|
|
|
|
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
|
|
|
|
|
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
|
|
|
|
|
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
|
|
|
|
|
-i libtool
|
|
|
|
|
%make_build
|
|
|
|
|
module purge
|
|
|
|
|
popd
|
|
|
|
@ -212,17 +257,16 @@ done
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
make -C build install DESTDIR=${RPM_BUILD_ROOT}
|
|
|
|
|
/bin/rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
|
|
|
|
|
chrpath --delete ${RPM_BUILD_ROOT}/%{_bindir}/nc{copy,dump,gen,gen3}
|
|
|
|
|
/bin/rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
|
|
|
|
|
for mpi in %{mpi_list}
|
|
|
|
|
for mpi in %{?mpi_list}
|
|
|
|
|
do
|
|
|
|
|
module load mpi/$mpi-%{_arch}
|
|
|
|
|
make -C $mpi install DESTDIR=${RPM_BUILD_ROOT}
|
|
|
|
|
rm $RPM_BUILD_ROOT/%{_libdir}/$mpi/lib/*.la
|
|
|
|
|
chrpath --delete ${RPM_BUILD_ROOT}/%{_libdir}/$mpi/bin/nc{copy,dump,gen,gen3}
|
|
|
|
|
module purge
|
|
|
|
|
done
|
|
|
|
|
find $RPM_BUILD_ROOT/%{_libdir} -name \*.la -delete
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
@ -239,9 +283,11 @@ fail=1
|
|
|
|
|
make -C build check || ( cat build/*/test-suite.log && exit $fail )
|
|
|
|
|
# Allow openmpi to run with more processes than cores
|
|
|
|
|
export OMPI_MCA_rmaps_base_oversubscribe=1
|
|
|
|
|
# openmpi 5+
|
|
|
|
|
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe
|
|
|
|
|
# openmpi test hangs on armv7hl in h5_test after tst_h_rename
|
|
|
|
|
%ifnarch armv7hl
|
|
|
|
|
for mpi in %{mpi_list}
|
|
|
|
|
for mpi in %{?mpi_list}
|
|
|
|
|
do
|
|
|
|
|
module load mpi/$mpi-%{_arch}
|
|
|
|
|
make -C $mpi check || ( cat $mpi/*/test-suite.log && exit $fail )
|
|
|
|
@ -262,6 +308,15 @@ done
|
|
|
|
|
%{_bindir}/ncgen3
|
|
|
|
|
%{_bindir}/nc4print
|
|
|
|
|
%{_bindir}/ocprint
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nch5deflate.so
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nch5shuffle.so
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nch5bzip2.so
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nch5zstd.so
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nch5szip.so
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nczhdf5filters.so
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nczstdfilters.so
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nch5fletcher32.so
|
|
|
|
|
%{_libdir}/hdf5/plugin/lib__nch5blosc.so
|
|
|
|
|
%{_libdir}/*.so.%{sover}*
|
|
|
|
|
%{_mandir}/man1/*
|
|
|
|
|
|
|
|
|
@ -273,6 +328,8 @@ done
|
|
|
|
|
%{_includedir}/netcdf_dispatch.h
|
|
|
|
|
%{_includedir}/netcdf_filter.h
|
|
|
|
|
%{_includedir}/netcdf_filter_build.h
|
|
|
|
|
%{_includedir}/netcdf_filter_hdf5_build.h
|
|
|
|
|
%{_includedir}/netcdf_json.h
|
|
|
|
|
%{_includedir}/netcdf_meta.h
|
|
|
|
|
%{_includedir}/netcdf_mem.h
|
|
|
|
|
%{_libdir}/libnetcdf.settings
|
|
|
|
@ -293,6 +350,7 @@ done
|
|
|
|
|
%{_libdir}/mpich/bin/ncgen3
|
|
|
|
|
%{_libdir}/mpich/bin/nc4print
|
|
|
|
|
%{_libdir}/mpich/bin/ocprint
|
|
|
|
|
%{_libdir}/mpich/hdf5/plugin/*
|
|
|
|
|
%{_libdir}/mpich/lib/*.so.%{sover}*
|
|
|
|
|
%doc %{_libdir}/mpich/share/man/man1/*.1*
|
|
|
|
|
|
|
|
|
@ -303,6 +361,8 @@ done
|
|
|
|
|
%{_includedir}/mpich-%{_arch}/netcdf_dispatch.h
|
|
|
|
|
%{_includedir}/mpich-%{_arch}/netcdf_filter.h
|
|
|
|
|
%{_includedir}/mpich-%{_arch}/netcdf_filter_build.h
|
|
|
|
|
%{_includedir}/mpich-%{_arch}/netcdf_filter_hdf5_build.h
|
|
|
|
|
%{_includedir}/mpich-%{_arch}/netcdf_json.h
|
|
|
|
|
%{_includedir}/mpich-%{_arch}/netcdf_meta.h
|
|
|
|
|
%{_includedir}/mpich-%{_arch}/netcdf_mem.h
|
|
|
|
|
%{_includedir}/mpich-%{_arch}/netcdf_par.h
|
|
|
|
@ -325,6 +385,7 @@ done
|
|
|
|
|
%{_libdir}/openmpi/bin/ncgen3
|
|
|
|
|
%{_libdir}/openmpi/bin/nc4print
|
|
|
|
|
%{_libdir}/openmpi/bin/ocprint
|
|
|
|
|
%{_libdir}/openmpi/hdf5/plugin/*
|
|
|
|
|
%{_libdir}/openmpi/lib/*.so.%{sover}*
|
|
|
|
|
%doc %{_libdir}/openmpi/share/man/man1/*.1*
|
|
|
|
|
|
|
|
|
@ -335,6 +396,8 @@ done
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}/netcdf_dispatch.h
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}/netcdf_filter.h
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}/netcdf_filter_build.h
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}/netcdf_filter_hdf5_build.h
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}/netcdf_json.h
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}/netcdf_meta.h
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}/netcdf_mem.h
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}/netcdf_par.h
|
|
|
|
@ -349,6 +412,55 @@ done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Sat Dec 28 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 4.9.2-6
|
|
|
|
|
- Rebuilt for MSVSphere 10
|
|
|
|
|
|
|
|
|
|
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-6
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Tue Jan 30 2024 Orion Poplawski <orion@nwra.com> - 4.9.2-5
|
|
|
|
|
- Add patch to fix compilation on i668 (FTBFS bz#2261400)
|
|
|
|
|
- Update license to BSD-3-Clause (SPDX)
|
|
|
|
|
|
|
|
|
|
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-4
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.2-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Wed Dec 20 2023 Orion Poplawski <orion@nwra.com> - 4.9.2-2
|
|
|
|
|
- Add upstream patch to fix octave-netcdf segfault on exit
|
|
|
|
|
|
|
|
|
|
* Wed Nov 08 2023 Orion Poplawski <orion@nwra.com> - 4.9.2-1
|
|
|
|
|
- Update to 4.9.2
|
|
|
|
|
- Drop -DH5_USE_110_API
|
|
|
|
|
|
|
|
|
|
* Wed Nov 08 2023 Orion Poplawski <orion@nwra.com> - 4.9.0-7
|
|
|
|
|
- Rebuild with openmpi 5.0.0 - drops i686
|
|
|
|
|
- Disable parallel tests on s390x - mpich test is hanging
|
|
|
|
|
|
|
|
|
|
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.0-6
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.0-5
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Dec 19 2022 Orion Poplawski <orion@nwra.com> - 4.9.0-4
|
|
|
|
|
- Apply upstream patch to fix infinite loop in file inferencing
|
|
|
|
|
|
|
|
|
|
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.0-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Tue Jun 28 2022 Orion Poplawski <orion@nwra.com> - 4.9.0-2
|
|
|
|
|
- Build with libzstd-devel
|
|
|
|
|
|
|
|
|
|
* Sun Jun 26 2022 Orion Poplawski <orion@nwra.com> - 4.9.0-1
|
|
|
|
|
- Update to 4.9.0
|
|
|
|
|
- Make -Wl,--as-needed work
|
|
|
|
|
|
|
|
|
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.1-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Sun Nov 21 2021 Orion Poplawski <orion@nwra.com> - 4.8.1-2
|
|
|
|
|
- Rebuild for hdf5 1.12.1
|
|
|
|
|
|