From 83adb07ab743676e9f17266e4793e0ef90dc76ec Mon Sep 17 00:00:00 2001 From: Mamoru TASAKA Date: Sun, 16 Jul 2023 18:46:48 +0900 Subject: [PATCH] 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 --- python-pint.spec | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/python-pint.spec b/python-pint.spec index 8440009..98f4097 100644 --- a/python-pint.spec +++ b/python-pint.spec @@ -3,7 +3,7 @@ Name: python-pint Version: 0.16.1 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Physical quantities module License: BSD @@ -62,6 +62,23 @@ Documentation for the pint module %prep %setup -q -n %{pypi_name}-%{version} +# numpy 1.24.x removes np.float np.alen and so on +grep -rl "dtype=np\.float" . | xargs sed -i -e 's|dtype=np\.float|dtype=float|' +sed -i pint/testsuite/test_numpy.py \ + -e 's|dtype=float32|dtype=np.float32|' \ + -e 's|dtype=float64|dtype=np.float64|' \ + -e 's|np\.alen|len|' \ + %{nil} + +# Passing format_spec = 'n' to Fraction causes TypeError with python3.11 and below, +# now causes ValueError. Workaround for this +# https://github.com/python/cpython/commit/3e09f3152e518cdc8779b52943b86812114ce071#diff-f561eb7eb97f832b2698837f52c2c2cf23bdb0b31c69cf1f6aaa560280993316R417 +# FIXME this one must be reported upstream +sed -i pint/testsuite/__init__.py -e '115s|except TypeError:|except (TypeError, ValueError):|' + +# python 3.12 removes deprecated unittest.assertEquals +sed -i pint/testsuite/test_contexts.py -e 's|self.assertEquals|self.assertEqual|' + # drop numpy version requirement sed -i '/@helpers.requires_numpy_at_least("1.16")/d' pint/testsuite/test_quantity.py @@ -98,6 +115,12 @@ rm -rf html/.{doctrees,buildinfo} %endif %changelog +* Sun Jul 16 2023 Mamoru TASAKA - 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 - 0.16.1-10 - Rebuilt for Python 3.12