git: c5db8a59e053 - main - math/py-lmfit: New port: Least-squares Minimization with bounds and constraints

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 10 Aug 2022 04:17:39 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c5db8a59e0531ea908c524930012d58caa1d7833

commit c5db8a59e0531ea908c524930012d58caa1d7833
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-08-10 03:35:56 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-08-10 04:17:32 +0000

    math/py-lmfit: New port: Least-squares Minimization with bounds and constraints
---
 math/Makefile           |  1 +
 math/py-lmfit/Makefile  | 27 +++++++++++++++++++++++++++
 math/py-lmfit/distinfo  |  3 +++
 math/py-lmfit/pkg-descr |  7 +++++++
 4 files changed, 38 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index b43af9ed126c..2a4291f27543 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -891,6 +891,7 @@
     SUBDIR += py-kiwisolver
     SUBDIR += py-levmar
     SUBDIR += py-libpoly
+    SUBDIR += py-lmfit
     SUBDIR += py-luminol
     SUBDIR += py-mathics
     SUBDIR += py-mathics-scanner
diff --git a/math/py-lmfit/Makefile b/math/py-lmfit/Makefile
new file mode 100644
index 000000000000..b9b4e3fdfa45
--- /dev/null
+++ b/math/py-lmfit/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	lmfit
+DISTVERSION=	1.0.3
+CATEGORIES=	math
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Least-squares Minimization with bounds and constraints
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+PY_DEPENDS=	${PYTHON_PKGNAMEPREFIX}asteval>=0.9.22:devel/py-asteval@${PY_FLAVOR} \
+		${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}scipy>=1.4:science/py-scipy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}uncertainties>=3.0.1:math/py-uncertainties@${PY_FLAVOR}
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR} \
+		${PY_DEPENDS}
+RUN_DEPENDS=	${PY_DEPENDS}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numdifftools>0:math/py-numdifftools@${PY_FLAVOR}
+
+USES=		python:3.6+
+USE_PYTHON=	distutils autoplist pytest # 3 tests fail, upstream says that that's ok, see https://github.com/lmfit/lmfit-py/issues/802
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/math/py-lmfit/distinfo b/math/py-lmfit/distinfo
new file mode 100644
index 000000000000..fc6ce4bf9b7a
--- /dev/null
+++ b/math/py-lmfit/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1660082925
+SHA256 (lmfit-1.0.3.tar.gz) = d067c3ea501f035af5d3c079e6e6e35dc3cc1ac7d439429a425b0aeb5a7858a2
+SIZE (lmfit-1.0.3.tar.gz) = 292475
diff --git a/math/py-lmfit/pkg-descr b/math/py-lmfit/pkg-descr
new file mode 100644
index 000000000000..eee5d0555b0c
--- /dev/null
+++ b/math/py-lmfit/pkg-descr
@@ -0,0 +1,7 @@
+Lmfit provides a high-level interface to non-linear optimization and curve
+fitting problems for Python. It builds on and extends many of the optimization
+methods of scipy.optimize. Initially inspired by (and named for) extending the
+Levenberg-Marquardt method from scipy.optimize.leastsq, lmfit now provides a
+number of useful enhancements to optimization and data fitting problems.
+
+WWW: https://lmfit.github.io/lmfit-py/