diff options
Diffstat (limited to 'dev-python/mpmath')
-rw-r--r-- | dev-python/mpmath/Manifest | 3 | ||||
-rw-r--r-- | dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch | 32 | ||||
-rw-r--r-- | dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild | 63 |
3 files changed, 98 insertions, 0 deletions
diff --git a/dev-python/mpmath/Manifest b/dev-python/mpmath/Manifest index f225c703662b..bc337dfcdcc0 100644 --- a/dev-python/mpmath/Manifest +++ b/dev-python/mpmath/Manifest @@ -1,3 +1,6 @@ +AUX mpmath-1.4.0_alpha1-numpy-2.patch 1394 BLAKE2B f36c132cb850fc4a9f13a1476d437e748d034cd0fe106589e10c5798fc9df3e53634576b58611846f839bfef8087f21442f3a0fa2bc7df204359cf83d14e6712 SHA512 01b172592d2540a60c7af0c99d54e1a52180187f787ded33b275127e929e7832576c2708865268635d16bae0429e406ae69aafa51e8f4ddc26299e9490a24d8e DIST mpmath-1.3.0.tar.gz 508106 BLAKE2B 9d4eebbbb6788dd3ee45c8c30068ef3512043dd09ab626cbaf69b0f6bdf057a6e8c53c34e3dda7627db923f0d536a0bebf83916d8942f4dde9546bb8e0046f33 SHA512 a68028150095d743eae9669a0f70cbe6b7bcb4d27dfad6b1a96575f0885ec7306459a2a464117bab18779883ee8b4293502b4bd0ebd8672767e1d08d38f8b202 +DIST mpmath-1.4.0a1.tar.gz 2063946 BLAKE2B 0c6a86b1c8dc9addc3eb82586d4c4182ae6a9318cbe45d4fc699b9fbf9539774ae30f11c2d50137a3aa16ed4b0c328990483c2ceea812f86751cfa3ce419de5c SHA512 260afb20faaa949b89054ced3b039e346086d47c6ea018c8d226a0c42d9aa8f792611fe709c894a0df6930a0703dc8cfcf814432eba7ac977a821effd8879903 EBUILD mpmath-1.3.0-r1.ebuild 835 BLAKE2B 04891d93119b8ca528ed3c5ee95f8ddd0a1339b879389c157e339ef03ec4abce8ff994acc63fbca439edd4765e369f586f0cdc4038b72275af790ccfb5fa87b6 SHA512 10dc2787765a731390c8ab894001b8dd78396b21b7d21ba1a9c585be360cbe80d81a2daddc8ab8189f4c6708e39db58ce591850f448424920a2fdcc2b0936c7a +EBUILD mpmath-1.4.0_alpha1.ebuild 1624 BLAKE2B 39b22476d04d12f2edf481983bc4c290afe9c67cca34c0d119cce0230f7c613a47425018375526e0ba85e78118afd7f73cd05d8b6a84c2c3603aa8a0f5861bca SHA512 52824df6c1ba3e667ffff2090b4b7569f442e3cc19b29400987519c601c698f46ae99f84f2d11f5db50726db73dc21aaa455bb6e33f67faaed57a2c8a4ab3dd5 MISC metadata.xml 624 BLAKE2B 8526d1f6329f8cb4d2ee5a9ae73dc5bf3861adce5beaa6a0aaf5abb918de11ad1ab0c5c206331bd4eaeaa7bdeda0c6ea6a2007492825be0545caa121f41abd6c SHA512 dc4c6f5e82ce735e70bdc1bbfbc01f9c1d62c2d46c54a173287a59b90882aa09945da39bb41e7b28f6d0066851e2adf07f0b7033aa77cc5620491864e89f188e diff --git a/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch b/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch new file mode 100644 index 000000000000..13b6ffc9a94f --- /dev/null +++ b/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch @@ -0,0 +1,32 @@ +From b80b0e08b75f41730a1116aebe34361e5d63d58c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Tue, 2 Jul 2024 08:11:58 +0200 +Subject: [PATCH] Fix the comparison in test_compatibility for NumPy 2.0.0 + +The comparison in `mpmath/tests/test_convert.py::test_compatibility` +failed for `np.float16` in NumPy 2.0.0 since `2.0**-53` cannot be +represented in half-precision floating point type. Convert the LHS +to `np.float64` to ensure that the comparison is done in sufficiently +precise type. + +This fixes the actual test failure from #815 but the deprecation warning +remains. +--- + mpmath/tests/test_convert.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/mpmath/tests/test_convert.py b/mpmath/tests/test_convert.py +index 5578b245..c6ef2187 100644 +--- a/mpmath/tests/test_convert.py ++++ b/mpmath/tests/test_convert.py +@@ -254,7 +254,9 @@ def test_compatibility(): + # Handle the weird types + try: diff = np.abs(type(np.sqrt(x))(sqrt(x)) - np.sqrt(x)) + except: continue +- assert diff < 2.0**-53 ++ # numpy-2 does the comparison on LHS type, so we need to convert ++ # it to a type that can actually represent 2.0**-53 ++ assert np.float64(diff) < 2.0**-53 + assert mpf(np.float64('inf')) == inf + assert isnan(mp.npconvert(np.float64('nan'))) + if hasattr(np, "float128"): diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild new file mode 100644 index 000000000000..ef235883f25d --- /dev/null +++ b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +inherit distutils-r1 optfeature pypi + +DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic" +HOMEPAGE=" + https://mpmath.org/ + https://github.com/mpmath/mpmath/ + https://pypi.org/project/mpmath/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pexpect[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/gmpy[${PYTHON_USEDEP}] + ' 'python3*') + $(python_gen_cond_dep ' + dev-python/ipython[${PYTHON_USEDEP}] + ' 3.{10..12}) + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/mpmath/mpmath/pull/816 + "${FILESDIR}/${P}-numpy-2.patch" +) + +python_test() { + local EPYTEST_DESELECT=( + # TODO + mpmath/tests/test_cli.py::test_bare_console_bare_division + mpmath/tests/test_cli.py::test_bare_console_no_bare_division + mpmath/tests/test_cli.py::test_bare_console_pretty + mpmath/tests/test_cli.py::test_bare_console_without_ipython + mpmath/tests/test_cli.py::test_bare_console_wrap_floats + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p rerunfailures --reruns=5 +} + +pkg_postinst() { + optfeature "gmp support" dev-python/gmpy + optfeature "matplotlib support" dev-python/matplotlib +} |