7a0e839
%global srcname cartopy
7a0e839
%global Srcname Cartopy
7a0e839
38de19b
# Some tests use the network.
38de19b
%bcond_with network
38de19b
7a0e839
Name:           python-%{srcname}
ca844a2
Version:        0.18.0
3236128
Release:        4%{?dist}
7a0e839
Summary:        Cartographic Python library with Matplotlib visualisations
7a0e839
7a0e839
License:        LGPLv3
7a0e839
URL:            http://scitools.org.uk/cartopy/docs/latest/
ca844a2
Source0:        %pypi_source %{Srcname}
7a0e839
# Set location of Fedora-provided pre-existing data.
7a0e839
Source1:        siteconfig.py
7a0e839
# Might not go upstream in current form.
0cf216b
Patch0004:      0001-Increase-tolerance-for-new-FreeType.patch
7a0e839
ea0a420
BuildRequires:  gcc-c++
7a0e839
BuildRequires:  geos-devel >= 3.3.3
7a0e839
BuildRequires:  proj-devel >= 4.9.0
7a0e839
7a0e839
%global _description \
7a0e839
Cartopy is a Python package designed to make drawing maps for data analysis \
7a0e839
and visualisation easy. It features: \
7a0e839
* object oriented projection definitions \
7a0e839
* point, line, polygon and image transformations between projections \
7a0e839
* integration to expose advanced mapping in matplotlib with a simple and \
7a0e839
  intuitive interface \
7a0e839
* powerful vector data handling by integrating shapefile reading with Shapely \
7a0e839
  capabilities
7a0e839
7a0e839
%description %{_description}
7a0e839
7a0e839
7a0e839
%package -n     python3-%{srcname}
7a0e839
Summary:        %{summary}
7a0e839
%{?python_provide:%python_provide python3-%{srcname}}
7a0e839
7a0e839
BuildRequires:  python3-devel
7a0e839
BuildRequires:  python3-setuptools
7a0e839
BuildRequires:  python3-Cython >= 0.15.1
7a0e839
BuildRequires:  python3-six >= 1.3.0
0cf216b
BuildRequires:  python3-numpy >= 1.10
7a0e839
BuildRequires:  python3-shapely >= 1.5.6
7a0e839
BuildRequires:  python3-pyshp >= 1.1.4
7a0e839
# OWS requirements
7a0e839
BuildRequires:  python3-OWSLib >= 0.8.11
7a0e839
BuildRequires:  python3-pillow >= 1.7.8
7a0e839
# Plotting requirements
0cf216b
BuildRequires:  python3-matplotlib >= 1.5.1
7a0e839
BuildRequires:  gdal-python3 >= 1.10.0
7a0e839
BuildRequires:  python3-pillow >= 1.7.8
0cf216b
BuildRequires:  python3-pykdtree >= 1.2.2
7a0e839
BuildRequires:  python3-scipy >= 0.10
7a0e839
# Testing requirements
0cf216b
BuildRequires:  python3-filelock
7a0e839
BuildRequires:  python3-mock >= 1.0.1
0cf216b
BuildRequires:  python3-pytest >= 3.1.0
7a0e839
7a0e839
Requires:       python-%{srcname}-common = %{version}-%{release}
7a0e839
Requires:       python3-setuptools >= 0.7.2
7a0e839
Requires:       python3-six >= 1.3.0
0cf216b
Requires:       python3-numpy >= 1.10
7a0e839
Requires:       python3-shapely >= 1.5.6
7a0e839
Requires:       python3-pyshp >= 1.1.4
7a0e839
# OWS requirements
7a0e839
Recommends:     python3-OWSLib >= 0.8.11
7a0e839
Recommends:     python3-pillow >= 1.7.8
7a0e839
# Plotting requirements
0cf216b
Recommends:     python3-matplotlib >= 1.5.1
7a0e839
Recommends:     gdal-python3 >= 1.10.0
7a0e839
Recommends:     python3-pillow >= 1.7.8
0cf216b
Recommends:     python3-pykdtree >= 1.2.2
7a0e839
Recommends:     python3-scipy >= 0.10
7a0e839
7a0e839
%description -n python3-%{srcname} %{_description}
7a0e839
7a0e839
7a0e839
%package -n     python-%{srcname}-common
7a0e839
Summary:        Data files for %{srcname}
7a0e839
BuildArch:      noarch
7a0e839
7a0e839
BuildRequires:  natural-earth-map-data-110m
7a0e839
BuildRequires:  natural-earth-map-data-50m
7a0e839
7a0e839
Recommends:     natural-earth-map-data-110m
7a0e839
Suggests:       natural-earth-map-data-50m
7a0e839
Suggests:       natural-earth-map-data-10m
7a0e839
7a0e839
%description -n python-%{srcname}-common
7a0e839
Data files for %{srcname}.
7a0e839
7a0e839
7a0e839
%prep
ca844a2
%autosetup -n %{Srcname}-%{version} -p1
7a0e839
cp -a %SOURCE1 lib/cartopy/
7a0e839
7a0e839
# Remove bundled egg-info
7a0e839
rm -rf %{srcname}.egg-info
7a0e839
7a0e839
7a0e839
%build
7a0e839
%py3_build
7a0e839
7a0e839
7a0e839
%install
7a0e839
%py3_install
7a0e839
7a0e839
mkdir -p %{buildroot}%{_datadir}/cartopy/shapefiles/natural_earth/
7a0e839
for theme in physical cultural; do
7a0e839
    ln -s %{_datadir}/natural-earth-map-data/${theme} \
7a0e839
        %{buildroot}%{_datadir}/cartopy/shapefiles/natural_earth/${theme}
7a0e839
done
7a0e839
7a0e839
7a0e839
%check
38de19b
%if %{with network}
38de19b
PYTHONPATH="%{buildroot}%{python3_sitearch}" PYTHONDONTWRITEBYTECODE=1 MPLBACKEND=Agg \
38de19b
    pytest-3 --doctest-modules --pyargs cartopy
38de19b
%else
afa320a
PYTHONPATH="%{buildroot}%{python3_sitearch}" PYTHONDONTWRITEBYTECODE=1 MPLBACKEND=Agg \
a625890
    pytest-3 --doctest-modules --pyargs cartopy -m "not network"
38de19b
%endif
7a0e839
7a0e839
7a0e839
%files -n python-%{srcname}-common
0cf216b
%doc README.md
6f9ce12
%license COPYING COPYING.LESSER lib/cartopy/data/LICENSE
7a0e839
%{_datadir}/cartopy/
7a0e839
7a0e839
%files -n python3-%{srcname}
7a0e839
%{python3_sitearch}/cartopy
ca844a2
%{python3_sitearch}/%{Srcname}-%{version}-py*.egg-info
7a0e839
7a0e839
7a0e839
%changelog
3236128
* Wed Nov 11 13:06:18 CET 2020 Sandro Mani <manisandro@gmail.com> - 0.18.0-4
3236128
- Rebuild (proj, gdal)
3236128
82a7ad4
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.18.0-3
82a7ad4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
82a7ad4
dd2c7c9
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.18.0-2
dd2c7c9
- Rebuilt for Python 3.9
dd2c7c9
ca844a2
* Mon May 18 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.18.0-1
ca844a2
- Update to latest version
ca844a2
4ebb491
* Fri May 01 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.18.0~rc1-1
4ebb491
- Update to latest release candidate
4ebb491
da6d5c3
* Mon Apr 13 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.18.0~b2-1
da6d5c3
- Update to latest beta
da6d5c3
6f9ce12
* Mon Feb 10 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.18.0~b1-1
6f9ce12
- Update to latest beta
6f9ce12
9ec2689
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-8
9ec2689
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
9ec2689
f4c20d7
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.17.0-7
f4c20d7
- Rebuilt for Python 3.8
f4c20d7
13e9780
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-6
13e9780
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
13e9780
0380692
* Fri May 31 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.17.0-5
0380692
- Fix build against FreeType 2.10.0
0380692
c18ae14
* Tue Feb 12 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.17.0-4
c18ae14
- Rebuilt for updated Proj
c18ae14
368d29b
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-3
368d29b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
368d29b
afa320a
* Thu Dec 06 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.17.0-2
afa320a
- Remove pytest bytecode
afa320a
0cf216b
* Sat Nov 17 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.17.0-1
0cf216b
- Update to latest version
a625890
- Remove workaround for unpackaged Natural Earth data
3c0ed7a
- Drop Python 2 subpackage
a625890
af6cf9e
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.0-6
af6cf9e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
af6cf9e
ea0a420
* Wed Jul 11 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.16.0-5
ea0a420
- Add explicit gcc-c++ BR
ea0a420
2009d04
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.16.0-4
2009d04
- Rebuilt for Python 3.7
2009d04
d54b107
* Wed Feb 28 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.16.0-3
d54b107
- Drop patch for old versions of Matplotlib.
55c041b
- Use python2- prefix for dependencies.
d54b107
7a0e839
* Sun Feb 25 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.16.0-2
7a0e839
- Enable testing with now-packaged Natural Earth data.
7a0e839
7a0e839
* Fri Feb 23 2018 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.16.0-1
7a0e839
- Initial package.