Files
python-pint/python-pint.spec
2025-02-11 16:59:15 +01:00

115 lines
2.7 KiB
RPMSpec
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# python-xarray is not available on EPEL10
%bcond xarray 0
# Not yet packaged: python-uncertainties
%bcond uncertainties 0
# Requires babel <= 2.8; F42 has 2.16.0
%bcond babel 0
# Not yet packaged: python-pint-pandas
%bcond pandas 0
# Not yet packaged: python-mip
%bcond mip 0
# python-dask is not available on EPEL10
%bcond dask 0
Name: python-pint
Version: 0.24.4
Release: %autorelease
Summary: Physical quantities module
License: BSD-3-Clause
URL: https://github.com/hgrecco/pint
Source: %{pypi_source pint}
BuildArch: noarch
%global _description %{expand:
Pint is a Python package to define, operate and manipulate physical quantities:
the product of a numerical value and a unit of measurement. It allows
arithmetic operations between them and conversions from and to different units.
It is distributed with a comprehensive list of physical units, prefixes and
constants.}
%description %{_description}
%package -n python3-pint
Summary: %{summary}
%description -n python3-pint %{_description}
%pyproject_extras_subpkg -n python3-pint numpy
%if %{with xarray}
%pyproject_extras_subpkg -n python3-pint xarray
%endif
%if %{with dask}
%pyproject_extras_subpkg -n python3-pint dask
%endif
%if %{with uncertainties}
%pyproject_extras_subpkg -n python3-pint uncertainties
%endif
%if %{with babel}
%pyproject_extras_subpkg -n python3-pint babel
%endif
%if %{with pandas}
%pyproject_extras_subpkg -n python3-pint pandas
%endif
%if %{with mip}
%pyproject_extras_subpkg -n python3-pint mip
%endif
%prep
%autosetup -n pint-%{version} -p1
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
sed -r -i '/pytest-cov/d' pyproject.toml
# pytest-mpl is not available on EPEL10
sed -r -i '/pytest-mpl/d' pyproject.toml
# This module is executable in the source, and it might make sense for upstream
# to run it directly as a script during development, but this package will
# install it in site-packages without the executable bit set, so it doesnt
# make sense for it to have a shebang. Package users will run it via the
# generated pint-convert entry point instead.
sed -r -i '1{/^#!/d}' pint/pint_convert.py
%generate_buildrequires
%{pyproject_buildrequires \
-x numpy \
%if %{with uncertainties}
-x uncertainties \
%endif
%if %{with babel}
-x babel \
%endif
%if %{with pandas}
-x pandas \
%endif
%if %{with xarray}
-x xarray \
%endif
%if %{with dask}
-x dask \
%endif
%if %{with mip}
-x mip \
%endif
-x test}
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files -l pint
%check
# -rs: print reasons for skipped tests
%pytest -rs
%files -n python3-pint -f %{pyproject_files}
%{_bindir}/pint-convert
%changelog
%autochangelog