git: 2e0d3b8d4533 - main - science/smoldyn: Update 2.68 -> 2.69; Fix tests

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 20 Oct 2022 20:31:41 UTC
The branch main has been updated by yuri:

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

commit 2e0d3b8d4533f5472ade919e5c3e71aaefad9da4
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-10-20 14:51:06 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-10-20 20:31:39 +0000

    science/smoldyn: Update 2.68 -> 2.69; Fix tests
    
    PYTHON options was added but it is disabled because one dependency
    is missing. Tests, however, pass with PYTHON=ON
    (and only with PYTHON=ON).
---
 science/smoldyn/Makefile  | 31 ++++++++++++++++++++++---------
 science/smoldyn/distinfo  |  6 +++---
 science/smoldyn/pkg-plist | 28 ++++++++++++++++++++++++++++
 3 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/science/smoldyn/Makefile b/science/smoldyn/Makefile
index a58d63dfaa30..631cc762f026 100644
--- a/science/smoldyn/Makefile
+++ b/science/smoldyn/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	smoldyn
-DISTVERSION=	2.68
+DISTVERSION=	2.69
 CATEGORIES=	science
 MASTER_SITES=	https://www.smoldyn.org/
 
@@ -11,22 +11,35 @@ LICENSE=	LGPL3
 LICENSE_FILE=	${WRKSRC}/License.txt
 
 LIB_DEPENDS=	libtiff.so:graphics/tiff
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}flaky>0:devel/py-flaky@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
+		${PYNUMPY}
 
-USES=		cmake:testing compiler:c++11-lang gl localbase:ldflags tar:tgz python:test shebangfix xorg
+USES=		cmake:testing compiler:c++11-lang gl localbase:ldflags python:test tar:tgz shebangfix xorg
 USE_GL=		gl glu glut
 USE_XORG=	xi xmu
 USE_LDCONFIG=	yes
 
 SHEBANG_GLOB=	*.py.in
 
-CMAKE_OFF=	OPTION_PYTHON
 CMAKE_TESTING_ON=	OPTION_EXAMPLES # all tests fail to run, see https://github.com/ssandrews/Smoldyn/issues/127
 
-PLIST_FILES=	bin/${PORTNAME} \
-		include/libsmoldyn.h \
-		include/smoldyn.h \
-		include/smoldynconfigure.h \
-		lib/libsmoldyn_shared.so \
-		lib/libsmoldyn_static.a
+OPTIONS_DEFINE=		PYTHON
+OPTIONS_DEFAULT=	# PYTHON Tests ONLY pass when PYTHON=ON despite biology/py-biosimulators-utils being missing
+OPTIONS_SUB=		yes
+
+PYTHON_CMAKE_BOOL=	OPTION_PYTHON
+PYTHON_USES=		python
+PYTHON_CMAKE_ON=	-DPython3_EXECUTABLE=${PYTHON_CMD}
+PYTHON_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR}
+PYTHON_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}biosimulators-utils>0:biology/py-biosimulators-utils@${PY_FLAVOR}
+PYTHON_BROKEN=		pending biology/py-biosimulators-utils completion
+
+post-extract: # see https://github.com/ssandrews/Smoldyn/issues/127
+	@${CHMOD} +x ${WRKSRC}/scripts/run_pyscript.py.in
+
+do-install-PYTHON-on: # workaround for https://github.com/ssandrews/Smoldyn/issues/129
+	@cd ${BUILD_WRKSRC}/py && ${COPYTREE_SHARE} ${PORTNAME} ${STAGEDIR}${PYTHON_SITELIBDIR}
+	@${RM} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME}/.DS_Store
 
 .include <bsd.port.mk>
diff --git a/science/smoldyn/distinfo b/science/smoldyn/distinfo
index eaef8f3533d5..dab6130f445b 100644
--- a/science/smoldyn/distinfo
+++ b/science/smoldyn/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1659253902
-SHA256 (smoldyn-2.68.tgz) = f84f8bc214110453039ef76b61fd9b8c37bc6a8b584c8bae85171c7e7543df7f
-SIZE (smoldyn-2.68.tgz) = 32722229
+TIMESTAMP = 1666163797
+SHA256 (smoldyn-2.69.tgz) = ad0b76cea376419202cd064bad04c2fb47e624ea74db0b96512c54494b44e6ad
+SIZE (smoldyn-2.69.tgz) = 32837854
diff --git a/science/smoldyn/pkg-plist b/science/smoldyn/pkg-plist
new file mode 100644
index 000000000000..f664bfef6faa
--- /dev/null
+++ b/science/smoldyn/pkg-plist
@@ -0,0 +1,28 @@
+bin/smoldyn
+include/libsmoldyn.h
+include/smoldyn.h
+include/smoldynconfigure.h
+lib/libsmoldyn_shared.so
+lib/libsmoldyn_static.a
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/__main__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/__pycache__/smoldyn%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/__pycache__/types%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/_smoldyn.cpython-310-darwin.so
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/_smoldyn%%PYTHON_EXT_SUFFIX%%-darwin.so
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/_smoldyn%%PYTHON_EXT_SUFFIX%%.so
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/__main__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/__pycache__/_version%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/__pycache__/combine%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/__pycache__/data_model%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/_version.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/combine.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/data_model.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/biosimulators/utils.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/smoldyn.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/types.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/smoldyn/utils.py