Name: netcdf Version: 4.7.3 Release: 2 Summary: Libraries for the Unidata network Common Data Form License: NetCDF URL: https://github.com/Unidata/netcdf-c Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}/%{name}-%{version}.tar.gz Patch0000: CVE-2021-31348.patch BuildRequires: make BuildRequires: environment-modules BuildRequires: libtool BuildRequires: chrpath BuildRequires: doxygen BuildRequires: hdf-static BuildRequires: hdf5-devel BuildRequires: gawk BuildRequires: libcurl-devel BuildRequires: m4 BuildRequires: zlib-devel %ifarch %{valgrind_arches} BuildRequires: valgrind %endif BuildRequires: openssh-clients Requires: hdf5%{?_isa} = %{_hdf5_version} %global with_mpich 1 %global with_openmpi 1 %if %{with_mpich} %global mpi_list mpich %endif %if %{with_openmpi} %global mpi_list %{?mpi_list} openmpi %endif %description NetCDF (network Common Data Form) is an interface for array-oriented data access and a freely-distributed collection of software libraries for C, Fortran, C++, and perl that provides an implementation of the interface. The NetCDF library also defines a machine-independent format for representing scientific data. Together, the interface, library, and format support the creation, access, and sharing of scientific data. The NetCDF software was developed at the Unidata Program Center in Boulder, Colorado. %package devel Summary: Development files for netcdf Requires: %{name}%{?_isa} = %{version}-%{release} Requires: pkgconfig%{?_isa} Requires: hdf5-devel%{?_isa} Requires: libcurl-devel%{?_isa} %description devel This package contains the netCDF C header files, shared devel libs, and man pages. %package static Summary: Static libs for netcdf Requires: %{name}%{?_isa} = %{version}-%{release} %description static This package contains the netCDF C static libs. %if %{with_mpich} %package mpich Summary: NetCDF mpich libraries Requires: hdf5-mpich%{?_isa} = %{_hdf5_version} BuildRequires: mpich-devel BuildRequires: hdf5-mpich-devel >= 1.8.4 Provides: %{name}-mpich2 = %{version}-%{release} Obsoletes: %{name}-mpich2 < 4.3.0-4 %description mpich NetCDF parallel mpich libraries %package mpich-devel Summary: NetCDF mpich development files Requires: %{name}-mpich%{?_isa} = %{version}-%{release} Requires: pkgconfig%{?_isa} Requires: hdf5-mpich-devel%{?_isa} Requires: libcurl-devel%{?_isa} Provides: %{name}-mpich2-devel = %{version}-%{release} Obsoletes: %{name}-mpich2-devel < 4.3.0-4 %description mpich-devel NetCDF parallel mpich development files %package mpich-static Summary: NetCDF mpich static libraries Requires: %{name}-mpich-devel%{?_isa} = %{version}-%{release} Provides: %{name}-mpich2-static = %{version}-%{release} Obsoletes: %{name}-mpich2-static < 4.3.0-4 %description mpich-static NetCDF parallel mpich static libraries %endif %if %{with_openmpi} %package openmpi Summary: NetCDF openmpi libraries Requires: hdf5-openmpi%{?_isa} = %{_hdf5_version} BuildRequires: openmpi-devel BuildRequires: hdf5-openmpi-devel >= 1.8.4 %description openmpi NetCDF parallel openmpi libraries %package openmpi-devel Summary: NetCDF openmpi development files Requires: %{name}-openmpi%{_isa} = %{version}-%{release} Requires: openmpi-devel%{?_isa} Requires: pkgconfig%{?_isa} Requires: hdf5-openmpi-devel%{?_isa} Requires: libcurl-devel%{?_isa} %description openmpi-devel NetCDF parallel openmpi development files %package openmpi-static Summary: NetCDF openmpi static libraries Requires: %{name}-openmpi-devel%{?_isa} = %{version}-%{release} %description openmpi-static NetCDF parallel openmpi static libraries %endif %prep %autosetup -p1 -n %{name}-c-%{version} %build %global _configure ../configure export LDFLAGS="%{__global_ldflags} -L%{_libdir}/hdf" export CFLAGS="%{optflags} -fno-strict-aliasing" %global configure_opts \\\ --enable-shared \\\ --enable-netcdf-4 \\\ --enable-dap \\\ --enable-extra-example-tests \\\ CPPFLAGS=-I%{_includedir}/hdf \\\ LIBS="-ltirpc" \\\ --enable-hdf4 \\\ --disable-dap-remote-tests \\\ %{nil} # Serial build mkdir build pushd build ln -s ../configure . %configure %{configure_opts} %make_build popd # MPI builds %if %{with_mpich} for mpi in %{mpi_list} do mkdir $mpi pushd $mpi module load mpi/$mpi-%{_arch} ln -s ../configure . # parallel tests hang on s390(x) %configure %{configure_opts} \ CC=mpicc \ --libdir=%{_libdir}/$mpi/lib \ --bindir=%{_libdir}/$mpi/bin \ --sbindir=%{_libdir}/$mpi/sbin \ --includedir=%{_includedir}/$mpi-%{_arch} \ --datarootdir=%{_libdir}/$mpi/share \ --mandir=%{_libdir}/$mpi/share/man \ --enable-parallel-tests %make_build module purge popd done %endif %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 %if %{with_mpich} 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 %endif %check make %{?_smp_mflags} -C build check %ldconfig_scriptlets %files %license COPYRIGHT %doc README.md RELEASE_NOTES.md %{_bindir}/nccopy %{_bindir}/ncdump %{_bindir}/ncgen %{_bindir}/ncgen3 %{_libdir}/*.so.15* %{_mandir}/man1/* %files devel %doc examples %{_bindir}/nc-config %{_includedir}/netcdf.h %{_includedir}/netcdf_aux.h %{_includedir}/netcdf_dispatch.h %{_includedir}/netcdf_filter.h %{_includedir}/netcdf_meta.h %{_includedir}/netcdf_mem.h %{_libdir}/libnetcdf.settings %{_libdir}/*.so %{_libdir}/pkgconfig/netcdf.pc %{_mandir}/man3/* %files static %{_libdir}/*.a %if %{with_mpich} %files mpich %license COPYRIGHT %doc README.md RELEASE_NOTES.md %{_libdir}/mpich/bin/nccopy %{_libdir}/mpich/bin/ncdump %{_libdir}/mpich/bin/ncgen %{_libdir}/mpich/bin/ncgen3 %{_libdir}/mpich/lib/*.so.15* %doc %{_libdir}/mpich/share/man/man1/*.1* %files mpich-devel %{_libdir}/mpich/bin/nc-config %{_includedir}/mpich-%{_arch}/netcdf.h %{_includedir}/mpich-%{_arch}/netcdf_aux.h %{_includedir}/mpich-%{_arch}/netcdf_dispatch.h %{_includedir}/mpich-%{_arch}/netcdf_filter.h %{_includedir}/mpich-%{_arch}/netcdf_meta.h %{_includedir}/mpich-%{_arch}/netcdf_mem.h %{_includedir}/mpich-%{_arch}/netcdf_par.h %{_libdir}/mpich/lib/libnetcdf.settings %{_libdir}/mpich/lib/*.so %{_libdir}/mpich/lib/pkgconfig/%{name}.pc %doc %{_libdir}/mpich/share/man/man3/*.3* %files mpich-static %{_libdir}/mpich/lib/*.a %endif %if %{with_openmpi} %files openmpi %license COPYRIGHT %doc README.md RELEASE_NOTES.md %{_libdir}/openmpi/bin/nccopy %{_libdir}/openmpi/bin/ncdump %{_libdir}/openmpi/bin/ncgen %{_libdir}/openmpi/bin/ncgen3 %{_libdir}/openmpi/lib/*.so.15* %doc %{_libdir}/openmpi/share/man/man1/*.1* %files openmpi-devel %{_libdir}/openmpi/bin/nc-config %{_includedir}/openmpi-%{_arch}/netcdf.h %{_includedir}/openmpi-%{_arch}/netcdf_aux.h %{_includedir}/openmpi-%{_arch}/netcdf_dispatch.h %{_includedir}/openmpi-%{_arch}/netcdf_filter.h %{_includedir}/openmpi-%{_arch}/netcdf_meta.h %{_includedir}/openmpi-%{_arch}/netcdf_mem.h %{_includedir}/openmpi-%{_arch}/netcdf_par.h %{_libdir}/openmpi/lib/libnetcdf.settings %{_libdir}/openmpi/lib/*.so %{_libdir}/openmpi/lib/pkgconfig/%{name}.pc %doc %{_libdir}/openmpi/share/man/man3/*.3* %files openmpi-static %{_libdir}/openmpi/lib/*.a %endif %changelog * Wed Jul 13 2022 dengyuyu - 4.7.3-2 - fix CVE-2021-31348 * Fri Tue 30 2021 caodongxia - 4.7.3-1 - Upgrade to 4.7.3 * Mon Mar 9 2020 tangjing - 4.4.1.1-11 - Package init