%if 0%{?fedora} %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 Name: netcdf4-python Version: 1.2.4 Release: 1%{?dist} Summary: Python/numpy interface to netCDF Group: Development/Languages License: MIT URL: https://github.com/Unidata/netcdf4-python Source0: https://github.com/Unidata/netcdf4-python/archive/v%{version}rel.tar.gz#/%{name}-%{version}.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: Cython BuildRequires: python-dateutil # EL6 has python 2.6 and needs ordereddict %if 0%{?rhel} && 0%{?rhel} <= 6 BuildRequires: python-ordereddict %endif BuildRequires: numpy %if 0%{?with_python3} BuildRequires: python3-devel BuildRequires: python3-Cython BuildRequires: python3-dateutil BuildRequires: python3-numpy %endif # if with_python3 BuildRequires: netcdf-devel # EL6 has python 2.6 and needs ordereddict %if 0%{?rhel} && 0%{?rhel} <= 6 Requires: python-ordereddict %endif Requires: Cython Requires: numpy Provides: python2-netcdf4 = %{version}-%{release} # 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-Cython Requires: python3-numpy Provides: python3-netcdf4 = %{version}-%{release} %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 %{name}-%{version}rel %patch0 -p1 -b .norpath %patch1 -p1 -b .libs # This uses the network rm test/tst_dap.py %build %py2_build %if 0%{?with_python3} %py3_build %endif # with_python3 %install # 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} %py3_install rm $RPM_BUILD_ROOT%{_bindir}/* %endif # with_python3 %py2_install %check cd test PYTHONPATH=$(echo ../build/lib.*%{python2_version}) %{__python2} run_all.py %if 0%{?with_python3} PYTHONPATH=$(echo ../build/lib.*%{python3_version}) %{__python3} run_all.py %endif %files %license COPYING %doc Changelog docs examples README.md %{_bindir}/nc3tonc4 %{_bindir}/nc4tonc3 %{_bindir}/ncinfo %{python_sitearch}/* %if 0%{?with_python3} %files -n netcdf4-python3 %license COPYING %doc Changelog docs examples README.md %{python3_sitearch}/* %endif # with_python3 %changelog * Fri Apr 15 2016 Orion Poplawski - 1.2.4-1 - Update to 1.2.4 - Add pthon2/3-netcdf4 provides * Fri Mar 11 2016 Orion Poplawski - 1.2.3-1 - Update to 1.2.3 - Drop numpy patch - Use %%license * Sun Feb 7 2016 Orion Poplawski - 1.2.2-1 - Update to 1.2.2 - Modernize spec - Add upstream patch for numpy support * Thu Feb 04 2016 Fedora Release Engineering - 1.1.6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Fri Jan 22 2016 Orion Poplawski - 1.1.6-4 - Rebuild for netcdf 4.4.0 * Tue Nov 10 2015 Fedora Release Engineering - 1.1.6-3 - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 * Wed Jun 17 2015 Fedora Release Engineering - 1.1.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Tue Mar 10 2015 Orion Poplawski - 1.1.6-1 - Update to 1.1.6 * Sat Feb 21 2015 Orion Poplawski - 1.1.4-1 - Update to 1.1.4 * Sun Dec 21 2014 Orion Poplawski - 1.1.3-1 - Update to 1.1.3 * Sun Aug 17 2014 Fedora Release Engineering - 1.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Wed Jul 9 2014 Orion Poplawski - 1.1.0-1 - Update to 1.1.0 * Sat Jun 07 2014 Fedora Release Engineering - 1.0.9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Fri May 9 2014 Orion Poplawski - 1.0.9-2 - Rebuild for Python 3.4 * Fri May 9 2014 Orion Poplawski - 1.0.9-1 - Update to 1.0.9 - Remove rpaths - Add BR python{,3}-dateutil for tests - Add BR/R on Cython * Thu Mar 6 2014 Orion Poplawski - 1.0.8-1 - Update to 1.0.8 - Update URL/source to github * Thu Feb 6 2014 Orion Poplawski - 1.0.7-1 - Update to 1.0.7 * Sat Aug 03 2013 Fedora Release Engineering - 1.0.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Feb 21 2013 Orion Poplawski - 1.0.2-1 - Update to 1.0.2 - Remove bundled ordereddict (Bug #913528), require it on EL6 - Run tests * Thu Feb 14 2013 Fedora Release Engineering - 1.0-3.fix1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * 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