%if 0%{?fedora} > 12 || 0%{?rhel} > 6 %global with_python3 1 %else %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %endif %global srcname distribute Name: netcdf4-python Version: 1.0 Release: 2.fix1%{?dist} Summary: Python/numpy interface to netCDF Group: Development/Languages License: MIT URL: http://code.google.com/p/netcdf4-python/ Source0: http://netcdf4-python.googlecode.com/files/netCDF4-%{version}fix1.tar.gz # No rpath for library # http://code.google.com/p/netcdf4-python/issues/detail?id=138 Patch0: netcdf4-python-norpath.patch # Don't link against hdf5 and z libraries # http://code.google.com/p/netcdf4-python/issues/detail?id=139 Patch1: netcdf4-python-libs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: python2-devel BuildRequires: numpy %if 0%{?with_python3} BuildRequires: python3-devel BuildRequires: python3-numpy %endif # if with_python3 BuildRequires: netcdf-devel Requires: numpy # we don't want to provide private python extension libs %{?filter_setup: %filter_provides_in %{python_sitearch}/.*\.so$ %if 0%{?with_python3} %filter_provides_in %{python3_sitearch}/.*\.so$ %endif # if with_python3 %filter_setup } %description netCDF version 4 has many features not found in earlier versions of the library and is implemented on top of HDF5. This module can read and write files in both the new netCDF 4 and the old netCDF 3 format, and can create files that are readable by HDF5 clients. The API modeled after Scientific.IO.NetCDF, and should be familiar to users of that module. Most new features of netCDF 4 are implemented, such as multiple unlimited dimensions, groups and zlib data compression. All the new numeric data types (such as 64 bit and unsigned integer types) are implemented. Compound and variable length (vlen) data types are supported, but the enum and opaque data types are not. Mixtures of compound and vlen data types (compound types containing vlens, and vlens containing compound types) are not supported. %if 0%{?with_python3} %package -n netcdf4-python3 Summary: Python/numpy interface to netCDF Group: Development/Languages Requires: python3-numpy %description -n netcdf4-python3 netCDF version 4 has many features not found in earlier versions of the library and is implemented on top of HDF5. This module can read and write files in both the new netCDF 4 and the old netCDF 3 format, and can create files that are readable by HDF5 clients. The API modeled after Scientific.IO.NetCDF, and should be familiar to users of that module. Most new features of netCDF 4 are implemented, such as multiple unlimited dimensions, groups and zlib data compression. All the new numeric data types (such as 64 bit and unsigned integer types) are implemented. Compound and variable length (vlen) data types are supported, but the enum and opaque data types are not. Mixtures of compound and vlen data types (compound types containing vlens, and vlens containing compound types) are not supported. %endif # with_python3 %prep %setup -q -n netCDF4-%{version} %patch0 -p1 -b .norpath %patch1 -p1 -b .libs %if 0%{?with_python3} rm -rf %{py3dir} cp -a . %{py3dir} find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|' %endif # with_python3 find -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python}|' %build CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build %if 0%{?with_python3} pushd %{py3dir} CFLAGS="$RPM_OPT_FLAGS" %{__python3} setup.py build popd %endif # with_python3 %install rm -rf $RPM_BUILD_ROOT # Must do the python3 install first because the scripts in /usr/bin are # overwritten with every setup.py install (and we want the python2 version # to be the default for now). %if 0%{?with_python3} pushd %{py3dir} %{__python3} setup.py install --skip-build --root $RPM_BUILD_ROOT rm $RPM_BUILD_ROOT%{_bindir}/* popd %endif # with_python3 %{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc Changelog COPYING docs examples README %{_bindir}/nc3tonc4 %{_bindir}/nc4tonc3 %{python_sitearch}/* %if 0%{?with_python3} %files -n netcdf4-python3 %doc Changelog COPYING docs examples README %{python3_sitearch}/* %endif # with_python3 %changelog * Wed Sep 12 2012 Orion Poplawski - 1.0-2.fix1 - Add patch to link only against netcdf * Thu May 24 2012 Orion Poplawski - 1.0-1.fix1 - Update to 1.0fix1 * Thu Apr 5 2012 Orion Poplawski - 0.9.9-1 - Update to 0.9.9 * Thu Sep 8 2011 Orion Poplawski - 0.9.7-1 - Initial package