[netcdf-cxx4] Initial import

Orion Poplawski orion at fedoraproject.org
Fri Mar 9 17:25:09 UTC 2012


commit 137091e0e16f802ac64f2837379f762d107a1aad
Author: Orion Poplawski <orion at cora.nwra.com>
Date:   Fri Mar 9 10:25:08 2012 -0700

    Initial import

 .gitignore       |    1 +
 netcdf-cxx4.spec |  261 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sources          |    1 +
 3 files changed, 263 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..41a529b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/netcdf-cxx4-4.2.tar.gz
diff --git a/netcdf-cxx4.spec b/netcdf-cxx4.spec
new file mode 100644
index 0000000..37dcd6f
--- /dev/null
+++ b/netcdf-cxx4.spec
@@ -0,0 +1,261 @@
+Name:           netcdf-cxx4
+Version:        4.2
+Release:        4%{?dist}
+Summary:        NetCDF-4 C++ library
+
+Group:          Applications/Engineering
+License:        NetCDF
+URL:            http://www.unidata.ucar.edu/software/netcdf/
+Source0:        http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-cxx4-%{version}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires:  netcdf-devel
+#mpiexec segfaults if ssh is not present
+#https://trac.mcs.anl.gov/projects/mpich2/ticket/1576
+BuildRequires:  openssh-clients
+
+%global with_mpich2 1
+%global with_openmpi 1
+%if 0%{?rhel}
+%ifarch ppc64
+# No mpich2 on ppc64 in EL
+%global with_mpich2 0
+%endif
+%endif
+%ifarch s390 s390x
+# No openmpi on s390(x)
+%global with_openmpi 0
+%endif
+
+%if %{with_mpich2}
+%global mpi_list mpich2
+%endif
+%if %{with_openmpi}
+%global mpi_list %{?mpi_list} openmpi
+%endif
+
+%description
+netCDF-4 C++ library.
+
+
+%package devel
+Summary:        Development files for netCDF-4 C++ API
+Group:          Development/Libraries
+Requires:       %{name}%{?_isa} = %{version}-%{release}
+Requires:       pkgconfig
+Requires:       netcdf-devel%{?_isa}
+
+%description devel
+Development files for netCDF-4 C++ API.
+
+
+%package static
+Summary:        Static library for netCDF-4 C++ API
+Group:          Development/Libraries
+Requires:       %{name}-devel%{?_isa} = %{version}-%{release}
+
+%description static
+Static library for netCDF-4 C++ API.
+
+
+%if %{with_mpich2}
+%package mpich2
+Summary: NetCDF mpich2 libraries
+Group: Development/Libraries
+Requires: mpich2
+BuildRequires: mpich2-devel
+BuildRequires: netcdf-mpich2-devel
+
+%description mpich2
+NetCDF parallel mpich2 libraries
+
+
+%package mpich2-devel
+Summary: NetCDF mpich2 development files
+Group: Development/Libraries
+Requires: %{name}-mpich2%{?_isa} = %{version}-%{release}
+Requires: mpich2
+Requires: pkgconfig
+Requires: netcdf-mpich2-devel
+Requires: libcurl-devel
+
+%description mpich2-devel
+NetCDF parallel mpich2 development files
+
+
+%package mpich2-static
+Summary: NetCDF mpich2 static libraries
+Group: Development/Libraries
+Requires: %{name}-mpich2-devel%{?_isa} = %{version}-%{release}
+
+%description mpich2-static
+NetCDF parallel mpich2 static libraries
+%endif
+
+
+%if %{with_openmpi}
+%package openmpi
+Summary: NetCDF openmpi libraries
+Group: Development/Libraries
+Requires: openmpi
+BuildRequires: openmpi-devel
+BuildRequires: netcdf-openmpi-devel
+
+%description openmpi
+NetCDF parallel openmpi libraries
+
+
+%package openmpi-devel
+Summary: NetCDF openmpi development files
+Group: Development/Libraries
+Requires: %{name}-openmpi%{_isa} = %{version}-%{release}
+Requires: openmpi-devel
+Requires: pkgconfig
+Requires: netcdf-openmpi-devel
+Requires: libcurl-devel
+
+%description openmpi-devel
+NetCDF parallel openmpi development files
+
+
+%package openmpi-static
+Summary: NetCDF openmpi static libraries
+Group: Development/Libraries
+Requires: %{name}-openmpi-devel%{?_isa} = %{version}-%{release}
+
+%description openmpi-static
+NetCDF parallel openmpi static libraries
+%endif
+
+
+%prep
+%setup -q
+# Fix line endings
+sed -i -e 's/\r//' examples/*.cpp
+
+
+%build
+#Do out of tree builds
+%global _configure ../configure
+
+# Serial build
+mkdir build
+pushd build
+ln -s ../configure .
+%configure
+make %{?_smp_mflags}
+popd
+
+# MPI builds
+export CC=mpicc
+export CXX=mpicxx
+for mpi in %{mpi_list}
+do
+  mkdir $mpi
+  pushd $mpi
+  module load $mpi-%{_arch}
+  ln -s ../configure .
+  %configure \
+    --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
+  make %{?_smp_mflags}
+  module purge
+  popd
+done
+
+
+%install
+make -C build install DESTDIR=${RPM_BUILD_ROOT}
+/bin/rm ${RPM_BUILD_ROOT}%{_libdir}/*.la
+for mpi in %{mpi_list}
+do
+  module load $mpi-%{_arch}
+  make -C $mpi install DESTDIR=${RPM_BUILD_ROOT}
+  rm $RPM_BUILD_ROOT/%{_libdir}/$mpi/lib/*.la
+  module purge
+done
+
+
+%check
+make -C build check
+for mpi in mpich2 openmpi
+do
+  module load $mpi-%{_arch}
+  make -C $mpi check
+  module purge
+done
+
+
+%clean
+rm -rf ${RPM_BUILD_ROOT}
+
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+
+%files
+%doc COPYRIGHT
+%{_libdir}/libnetcdf_c++4.so.*
+
+%files devel
+%doc examples
+%{_bindir}/ncxx4-config
+%{_includedir}/*
+%{_libdir}/libnetcdf_c++4.so
+%{_libdir}/pkgconfig/netcdf-cxx4.pc
+
+%files static
+%{_libdir}/libnetcdf_c++4.a
+
+
+%if %{with_mpich2}
+%files mpich2
+%doc COPYRIGHT
+%{_libdir}/mpich2/lib/*.so.*
+
+%files mpich2-devel
+%{_libdir}/mpich2/bin/ncxx4-config
+%{_includedir}/mpich2-%{_arch}/*
+%{_libdir}/mpich2/lib/*.so
+%{_libdir}/mpich2/lib/pkgconfig/%{name}.pc
+
+%files mpich2-static
+%{_libdir}/mpich2/lib/*.a
+%endif
+
+%if %{with_openmpi}
+%files openmpi
+%doc COPYRIGHT
+%{_libdir}/openmpi/lib/*.so.*
+
+%files openmpi-devel
+%{_libdir}/openmpi/bin/ncxx4-config
+%{_includedir}/openmpi-%{_arch}/*
+%{_libdir}/openmpi/lib/*.so
+%{_libdir}/openmpi/lib/pkgconfig/%{name}.pc
+
+%files openmpi-static
+%{_libdir}/openmpi/lib/*.a
+%endif
+
+
+%changelog
+* Wed Mar 7 2012 Orion Poplawski <orion at cora.nwra.com> - 4.2-4
+- Fix line endings
+
+* Wed Mar 7 2012 Orion Poplawski <orion at cora.nwra.com> - 4.2-3
+- Build parallel versions
+- Ship examples with -devel
+
+* Mon Oct 3 2011 Orion Poplawski <orion at cora.nwra.com> - 4.2-2
+- Use %%{?_isa} in Requires
+- Make -static sub-package require the -devel package
+
+* Fri Sep 30 2011 Orion Poplawski <orion at cora.nwra.com> - 4.2-1
+- Initial package
diff --git a/sources b/sources
index e69de29..34562a3 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+d019853802092cf686254aaba165fc81  netcdf-cxx4-4.2.tar.gz


More information about the scm-commits mailing list