commit: 2013634de1c00d4d33dd991456c99bdd7f90366c Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Mon Jul 8 17:33:30 2024 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Mon Jul 8 17:44:30 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2013634d
dev-python/lmfit: Backport numpy-2 fixes Pull-Request: https://github.com/lmfit/lmfit-py/pull/959 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> dev-python/lmfit/files/lmfit-1.3.1-np2.patch | 39 ++++++++++++++++++++++++++ dev-python/lmfit/lmfit-1.3.1-r1.ebuild | 42 ++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/dev-python/lmfit/files/lmfit-1.3.1-np2.patch b/dev-python/lmfit/files/lmfit-1.3.1-np2.patch new file mode 100644 index 000000000000..6b6bbb2308cf --- /dev/null +++ b/dev-python/lmfit/files/lmfit-1.3.1-np2.patch @@ -0,0 +1,39 @@ +diff --git a/lmfit/parameter.py b/lmfit/parameter.py +index ca9ccc72..a7ec9a65 100644 +--- a/lmfit/parameter.py ++++ b/lmfit/parameter.py +@@ -181,9 +181,8 @@ def __reduce__(self): + params = [self[k] for k in self] + + # find the symbols from _asteval.symtable, that need to be remembered. +- sym_unique = self._asteval.user_defined_symbols() + unique_symbols = {key: deepcopy(self._asteval.symtable[key]) +- for key in sym_unique} ++ for key in self._asteval.user_defined_symbols()} + + return self.__class__, (), {'unique_symbols': unique_symbols, + 'params': params} +@@ -567,9 +566,8 @@ def dumps(self, **kws): + + """ + params = [p.__getstate__() for p in self.values()] +- sym_unique = self._asteval.user_defined_symbols() + unique_symbols = {key: encode4js(deepcopy(self._asteval.symtable[key])) +- for key in sym_unique} ++ for key in self._asteval.user_defined_symbols()} + return json.dumps({'unique_symbols': unique_symbols, + 'params': params}, **kws) + +diff --git a/tests/test_model.py b/tests/test_model.py +index 396ea0b1..24dfbfcd 100644 +--- a/tests/test_model.py ++++ b/tests/test_model.py +@@ -900,7 +900,7 @@ def test_independent_var_parsing(self): + yatan = stepmod2.eval(pars, x=x) + + assert (yatan-yline).std() > 0.1 +- assert (yatan-yline).ptp() > 1.0 ++ assert np.ptp(yatan-yline) > 1.0 + + voigtmod = Model(voigt) + assert 'x' in voigtmod.independent_vars diff --git a/dev-python/lmfit/lmfit-1.3.1-r1.ebuild b/dev-python/lmfit/lmfit-1.3.1-r1.ebuild new file mode 100644 index 000000000000..8c96759a0747 --- /dev/null +++ b/dev-python/lmfit/lmfit-1.3.1-r1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Non-Linear Least-Squares Minimization and Curve-Fitting for Python" +HOMEPAGE=" + https://lmfit.github.io/lmfit-py/ + https://github.com/lmfit/lmfit-py/ + https://pypi.org/project/lmfit/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/asteval-1.0.0[${PYTHON_USEDEP}] + >=dev-python/dill-0.3.4[${PYTHON_USEDEP}] + >=dev-python/numpy-1.19[${PYTHON_USEDEP}] + >=dev-python/scipy-1.6[${PYTHON_USEDEP}] + >=dev-python/uncertainties-3.1.4[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}] +" + +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/lmfit/lmfit-py/pull/959 + "${FILESDIR}/${P}-np2.patch" +) + +python_test() { + epytest -o addopts= +}
