132 lines
3.7 KiB
RPMSpec
132 lines
3.7 KiB
RPMSpec
%global srcname cartopy
|
|
%global Srcname Cartopy
|
|
|
|
# Some tests use the network.
|
|
%bcond_with network
|
|
|
|
Name: python-%{srcname}
|
|
Version: 0.20.3
|
|
Release: %autorelease
|
|
Summary: Cartographic Python library with Matplotlib visualisations
|
|
|
|
License: LGPLv3
|
|
URL: http://scitools.org.uk/cartopy/docs/latest/
|
|
Source0: %pypi_source %{Srcname}
|
|
# Set location of Fedora-provided pre-existing data.
|
|
Source1: siteconfig.py
|
|
|
|
# Might not go upstream in current form.
|
|
Patch0001: 0001-Increase-tolerance-for-new-FreeType.patch
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2088864
|
|
Patch0002: 0002-Use-pkg-config-to-find-GEOS-instead-of-geos-config.patch
|
|
Patch0003: 0003-Remove-extraneous-insertion-of-default-compiler-path.patch
|
|
# There is a metadata problem when mixing setuptools-scm >= 7 and
|
|
# setuptools-scm-git-archive, which is why upstream requires >= 7. However, we
|
|
# are not mixing versions, so we can safely downgrade.
|
|
Patch0004: 0004-Revert-Backport-pull-request-2057.patch
|
|
# But don't allow the new version unless dropping the above patch.
|
|
BuildRequires: python3dist(setuptools-scm) < 7
|
|
|
|
BuildRequires: git-core
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: geos-devel >= 3.7.2
|
|
BuildRequires: proj-devel >= 8.0.0
|
|
BuildRequires: proj-data-uk
|
|
BuildRequires: python3-devel
|
|
BuildRequires: python3dist(pytest-xdist)
|
|
|
|
%global _description %{expand:
|
|
Cartopy is a Python package designed to make drawing maps for data analysis
|
|
and visualisation easy. It features:
|
|
* object oriented projection definitions
|
|
* point, line, polygon and image transformations between projections
|
|
* integration to expose advanced mapping in matplotlib with a simple and
|
|
intuitive interface
|
|
* powerful vector data handling by integrating shapefile reading with Shapely
|
|
capabilities
|
|
}
|
|
|
|
%description %{_description}
|
|
|
|
|
|
%package -n python3-%{srcname}
|
|
Summary: %{summary}
|
|
|
|
Requires: python-%{srcname}-common = %{version}-%{release}
|
|
# OWS requirements
|
|
Recommends: python3dist(owslib) >= 0.18
|
|
# Plotting requirements
|
|
Recommends: python3dist(gdal) >= 2.3.2
|
|
Recommends: python3dist(pillow) >= 6.1
|
|
Recommends: python3dist(pykdtree) >= 1.2.2
|
|
Recommends: python3dist(scipy) >= 1.3.1
|
|
|
|
%description -n python3-%{srcname} %{_description}
|
|
|
|
|
|
%package -n python-%{srcname}-common
|
|
Summary: Data files for %{srcname}
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: natural-earth-map-data-110m
|
|
BuildRequires: natural-earth-map-data-50m
|
|
|
|
Recommends: natural-earth-map-data-110m
|
|
Suggests: natural-earth-map-data-50m
|
|
Suggests: natural-earth-map-data-10m
|
|
|
|
%description -n python-%{srcname}-common
|
|
Data files for %{srcname}.
|
|
|
|
|
|
%prep
|
|
%autosetup -n %{Srcname}-%{version} -p1 -S git
|
|
cp -a %SOURCE1 lib/cartopy/
|
|
|
|
sed -i -e 's/oldest-supported-numpy/numpy/g' pyproject.toml
|
|
|
|
# Remove generated Cython sources
|
|
rm lib/cartopy/trace.cpp
|
|
|
|
|
|
%generate_buildrequires
|
|
%pyproject_buildrequires -r -x ows,plotting,tests
|
|
|
|
|
|
%build
|
|
export FORCE_CYTHON=1 SETUPTOOLS_SCM_PRETEND_VERSION=%{version}
|
|
%pyproject_wheel
|
|
|
|
|
|
%install
|
|
%pyproject_install
|
|
%pyproject_save_files %{srcname}
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/cartopy/shapefiles/natural_earth/
|
|
for theme in physical cultural; do
|
|
ln -s %{_datadir}/natural-earth-map-data/${theme} \
|
|
%{buildroot}%{_datadir}/cartopy/shapefiles/natural_earth/${theme}
|
|
done
|
|
|
|
|
|
%check
|
|
MPLBACKEND=Agg \
|
|
%{pytest} -n auto --doctest-modules --pyargs cartopy \
|
|
%if %{with network}
|
|
%{nil}
|
|
%else
|
|
-m "not network"
|
|
%endif
|
|
|
|
|
|
%files -n python-%{srcname}-common
|
|
%doc README.md
|
|
%license COPYING COPYING.LESSER lib/cartopy/data/LICENSE
|
|
%{_datadir}/cartopy/
|
|
|
|
%files -n python3-%{srcname} -f %{pyproject_files}
|
|
%{_bindir}/cartopy_feature_download.py
|
|
|
|
|
|
%changelog
|
|
%autochangelog
|