## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 1;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%bcond xarray 1
# 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
# may need to be disabled sometimes for bootstrapping
%bcond dask 1

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

# 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 doesn’t
# 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
## START: Generated by rpmautospec
* Sun Nov 10 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 0.24.4-1
- Update to 0.24.4 (close RHBZ#2324435)

* Mon Jul 22 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 0.24.3-1
- Update to 0.24.3 (close RHBZ#2297890)

* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.24.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Mon Jun 24 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 0.24.1-2
- Re-enable xarray

* Mon Jun 24 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 0.24.1-1
- Update to 0.24.1 (close RHBZ#1941410)

* Tue Jun 18 2024 Adam Williamson <awilliam@redhat.com> - 0.24-2
- Turn on dask for rawhide, it's built now

* Fri Jun 14 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 0.24-1
- Update to 0.24
- Unbundle python-flexparser

* Sat Jun 08 2024 Python Maint <python-maint@redhat.com> - 0.19.2-12
- Rebuilt for Python 3.13

* Thu Apr 18 2024 Tomáš Hrnčiar <thrnciar@redhat.com> - 0.19.2-11
- Minimal patch for compatibility with pytest 8

* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Thu Jan 04 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19.2-8
- Backport a fix for Python 3.13 compatibility (fix RHBZ#2256753)

* Tue Oct 31 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19.2-7
- More correctly unbundle flexcache

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19.2-6
- Backport fix for several failures in TestNumpyUnclassified

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19.2-5
- Backport fix for test_equal_zero_nan_NP rather than skipping it

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19.2-4
- Skip and document failure of test_equal_zero_nan_NP on recent numpy

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19.2-3
- Unbundle python-flexcache

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19.2-2
- Drop obsolete patches

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19.2-1
- Update to 0.19.2

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.19-1
- Update to 0.19 (fix RHBZ#2137292, fix RHBZ#2220407)
- Unbundle python-appdirs and document bundled python-flexcache

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17-7
- Do not BR pytest-cov

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17-6
- Remove HTML documentation themes that look bundled

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17-5
- Update License to SPDX

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17-4
- Improve dependency generation, add extras metapackages, and finish fully
  porting to pyproject-rpm-macros

* Mon Oct 30 2023 Benjamin A. Beasley <code@musicinmybrain.net> - 0.17-3
- Remove unused/disabled docs conditional

* Fri Aug 25 2023 Mark E. Fuller <fuller@fedoraproject.org> - 0.17-1
- Bump to minimum version required to compile Cantera 3.0.0
- Switch to autorelease in spec

* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Sun Jul 16 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.16.1-11
- Support numpy 1.24.x some types removal which were already deprecated
- Workaround python3.12 changes for Fractions which now returns ValueError
  instead of TypeError
- Fix for python3.12 with unittest.assertEquals removal

* Tue Jun 27 2023 Python Maint <python-maint@redhat.com> - 0.16.1-10
- Rebuilt for Python 3.12

* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 0.16.1-7
- Rebuilt for Python 3.11

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 0.16.1-4
- Rebuilt for Python 3.10

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Sun Jan 24 2021 Matthias Runge <mrunge@redhat.com> - 0.16.1-2
- rebuild without bootstrap
- fix FTBFS (rhbz#1914333)

* Mon Sep 21 2020 Lumír Balhar <lbalhar@redhat.com> - 0.13-3
- Fix test dependencies and execution

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jun 23 2020 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 0.13-1
- Update to 0.13

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 0.10.1-3
- Rebuilt for Python 3.9

* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jan 09 2020 Matthias Runge <mrunge@redhat.com> - 0.10.1-1
- update to 0.10.1 (rhbz#1789066)
- modernize specfile

* Thu Sep 05 2019 Matthias Runge <mrunge@redhat.com> - 0.9-5
- skip test_quantity for now (rhbz#1706212)

* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 0.9-5
- Rebuilt for Python 3.8

* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Wed Jul 10 2019 Matthias Runge <mrunge@redhat.com> - 0.9-3
- Use context manager for assertWarns and fix DeprecationWarning
  resolves: rhbz#1706212

* Sun Mar 17 2019 Miro Hrončok <mhroncok@redhat.com> - 0.9-2
- Subpackages python2-pint, python2-pint-doc have been removed
  See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal

* Mon Feb 25 2019 Yatin Karel <ykarel@redhat.com> - 0.9-1
- Update to 0.9

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.6-14
- Rebuilt for Python 3.7

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Sat Jan 27 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.6-12
- Update Python 2 dependency declarations to new packaging standards
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 0.6-9
- Rebuild for Python 3.6

* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-8
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.6-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-6
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Sun Sep 06 2015 Matthias Runge <mrunge@redhat.com> - 0.6-5
- fix uppercase/lowercase naming, fix obsoletes

* Fri Sep 04 2015 Chandan Kumar <chkumar246@gmail.com> - 0.6-4
- Add python2 and python3 subpackages

* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon Dec 15 2014 Matthias Runge <mrunge@redhat.com> - 0.6-2
- change BR python-devel to python2-devel (rhbz#1173109)

* Thu Dec 11 2014 Matthias Runge <mrunge@redhat.com> - 0.6-1
- Initial package.

## END: Generated by rpmautospec