From 9a53618eaaf684f697a85a81090acb6d713eb16e Mon Sep 17 00:00:00 2001 From: Yuri Victorovich Date: Sun, 17 Jul 2022 12:44:52 -0700 Subject: [PATCH] science/chemicalfun: Update g20220104 -> 0.1.3 --- science/chemicalfun/Makefile | 35 ++++++++++++++++--- science/chemicalfun/distinfo | 6 ++-- .../patch-python_chemicalfun_CMakeLists.txt | 11 ++++++ science/chemicalfun/files/test.py | 15 ++++++++ science/chemicalfun/pkg-plist | 4 +++ 5 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 science/chemicalfun/files/patch-python_chemicalfun_CMakeLists.txt create mode 100644 science/chemicalfun/files/test.py diff --git a/science/chemicalfun/Makefile b/science/chemicalfun/Makefile index 82cf71740a37a..c1735a1cde794 100644 --- a/science/chemicalfun/Makefile +++ b/science/chemicalfun/Makefile @@ -1,5 +1,5 @@ PORTNAME= chemicalfun -DISTVERSION= g20220104 +DISTVERSION= 0.1.3 CATEGORIES= science # chemistry MASTER_SITES= https://bitbucket.org/${BB_ACCOUNT}/${PORTNAME}/get/${BB_COMMIT}${EXTRACT_SUFX}?dummy=/:src DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}:src @@ -7,16 +7,41 @@ DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX}:src MAINTAINER= yuri@FreeBSD.org COMMENT= C++ library for working with chemical reactions and formulas -BUILD_DEPENDS= nlohmann-json>0:devel/nlohmann-json +BUILD_DEPENDS= nlohmann-json>0:devel/nlohmann-json \ + spdlog>0:devel/spdlog +LIB_DEPENDS= libfmt.so:devel/libfmt # due to SPDLOG_FMT_EXTERNAL -USES= cmake:testing eigen:3 +USES= cmake:testing compiler:c++17-lang eigen:3 localbase BB_ACCOUNT= gems4 -BB_COMMIT= dd673f906517 +BB_COMMIT= 0e0edc84688c WRKSRC= ${WRKDIR}/${BB_ACCOUNT}-${PORTNAME}-${BB_COMMIT} -CMAKE_OFF= CHEMICALFUN_BUILD_PYTHON CMAKE_TESTING_ON= CHEMICALFUN_BUILD_TESTS # tests fail to compile, BitBucket offers no easy way to report this +CMAKE_TESTING_TARGET= ${ALL_TARGET} # hack to prevent test run + +CXXFLAGS+= -DSPDLOG_FMT_EXTERNAL # see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258073#c3 +LDFLAGS+= -L${LOCALBASE}/lib -lfmt # due to SPDLOG_FMT_EXTERNAL + +OPTIONS_DEFINE= PYTHON +OPTIONS_DEFAULT= PYTHON +OPTIONS_SUB= yes + +PYTHON_USES= python +PYTHON_CMAKE_BOOL= CHEMICALFUN_BUILD_PYTHON +PYTHON_CMAKE_ON= -DFREEBSD_STAGEDIR=${STAGEDIR} +PYTHON_BUILD_DEPENDS= pybind11>0:devel/pybind11 + +post-install-PYTHON-on: + @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/chemicalfun/PyChemicalFun${PYTHON_EXT_SUFFIX}.so + +post-test: + @${ECHO} "==> run C++ tests" + @cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} tests/test_main + +post-test-PYTHON-on: + @${ECHO} "==> run Python tests" + @cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} ${PYTHON_CMD} ${FILESDIR}/test.py .include diff --git a/science/chemicalfun/distinfo b/science/chemicalfun/distinfo index 00b9fb8a00e8d..3f99e7f4d4e80 100644 --- a/science/chemicalfun/distinfo +++ b/science/chemicalfun/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1642530020 -SHA256 (chemicalfun-g20220104.tar.gz) = 2944e24ceda906511f7837ae29298d10aee47a0a9440f6955ff4be39899233c8 -SIZE (chemicalfun-g20220104.tar.gz) = 931249 +TIMESTAMP = 1658079527 +SHA256 (chemicalfun-0.1.3.tar.gz) = ad6cbd46bb75fe5811f4fcae7966d7717bf30f4f0f4749783e09a9f53780e6e6 +SIZE (chemicalfun-0.1.3.tar.gz) = 933523 diff --git a/science/chemicalfun/files/patch-python_chemicalfun_CMakeLists.txt b/science/chemicalfun/files/patch-python_chemicalfun_CMakeLists.txt new file mode 100644 index 0000000000000..1153bd6914ff1 --- /dev/null +++ b/science/chemicalfun/files/patch-python_chemicalfun_CMakeLists.txt @@ -0,0 +1,11 @@ +--- python/chemicalfun/CMakeLists.txt.orig 2022-07-17 18:29:23 UTC ++++ python/chemicalfun/CMakeLists.txt +@@ -43,7 +43,7 @@ install(CODE + endif() + + execute_process( +- COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} install --prefix=\${CHEMICALFUN_PYTHON_INSTALL_PREFIX_NATIVE} ++ COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} install --root=${FREEBSD_STAGEDIR} --prefix=\${CHEMICALFUN_PYTHON_INSTALL_PREFIX_NATIVE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + " + ) diff --git a/science/chemicalfun/files/test.py b/science/chemicalfun/files/test.py new file mode 100644 index 0000000000000..b9e1b5abc8b13 --- /dev/null +++ b/science/chemicalfun/files/test.py @@ -0,0 +1,15 @@ +# test from README + +import chemicalfun as cf + +formulas = ['Ca+2', 'CO3-2', 'H+', 'OH-', 'HCO3-', 'CaCO3', 'H2O'] + +chemicalReactions = cf.ChemicalReactions(formulas) + +reactions = chemicalReactions.generateReactions() # returns the reactions list as a list of tuples ('substance', coefficient) + +# can be transformed to a list of dictionaries, with reaction substances as keys and the reaction coefficients as values +reactions_dic = [{el[0]: el[1] for el in r} for r in reactions] + +print(chemicalReactions.printReactions()) +print(reactions_dic) diff --git a/science/chemicalfun/pkg-plist b/science/chemicalfun/pkg-plist index 9423b34945f48..62c64e17f3093 100644 --- a/science/chemicalfun/pkg-plist +++ b/science/chemicalfun/pkg-plist @@ -13,3 +13,7 @@ lib/cmake/ChemicalFun/ChemicalFunConfigVersion.cmake lib/cmake/ChemicalFun/ChemicalFunTargets-%%CMAKE_BUILD_TYPE%%.cmake lib/cmake/ChemicalFun/ChemicalFunTargets.cmake lib/libChemicalFun.so +%%PYTHON%%%%PYTHON_SITELIBDIR%%/chemicalfun/PyChemicalFun%%PYTHON_EXT_SUFFIX%%.so +%%PYTHON%%%%PYTHON_SITELIBDIR%%/chemicalfun/__init__.py +%%PYTHON%%%%PYTHON_SITELIBDIR%%/chemicalfun/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc +%%PYTHON%%%%PYTHON_SITELIBDIR%%/chemicalfun-0.1.3-py%%PYTHON_VER%%.egg-info