Date: Tue, 31 Aug 2021 04:47:20 GMT From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 9f1881394ed9 - main - math/py-heyoka: New port: Python library for ODE integration via Taylor's method and LLVM Message-ID: <202108310447.17V4lKMf017073@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=9f1881394ed9b1e5bd38f1e02c329674ad537c51 commit 9f1881394ed9b1e5bd38f1e02c329674ad537c51 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2021-08-31 03:27:46 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2021-08-31 04:47:14 +0000 math/py-heyoka: New port: Python library for ODE integration via Taylor's method and LLVM --- math/Makefile | 1 + math/py-heyoka/Makefile | 34 +++++++++++++++++++++++++++++++ math/py-heyoka/distinfo | 3 +++ math/py-heyoka/files/patch-CMakeLists.txt | 11 ++++++++++ math/py-heyoka/pkg-descr | 14 +++++++++++++ math/py-heyoka/pkg-plist | 5 +++++ 6 files changed, 68 insertions(+) diff --git a/math/Makefile b/math/Makefile index da4469d661d6..b826e53d0c24 100644 --- a/math/Makefile +++ b/math/Makefile @@ -822,6 +822,7 @@ SUBDIR += py-gym SUBDIR += py-hdbscan SUBDIR += py-hdmedians + SUBDIR += py-heyoka SUBDIR += py-iminuit SUBDIR += py-intspan SUBDIR += py-iohexperimenter diff --git a/math/py-heyoka/Makefile b/math/py-heyoka/Makefile new file mode 100644 index 000000000000..8e356ae2261f --- /dev/null +++ b/math/py-heyoka/Makefile @@ -0,0 +1,34 @@ +PORTNAME= heyoka +DISTVERSIONPREFIX= v +DISTVERSION= 0.14.0 +CATEGORIES= math +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Python library for ODE integration via Taylor's method and LLVM + +LICENSE= MPL20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= pybind11>0:devel/pybind11 +LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \ + libfmt.so:devel/libfmt \ + libheyoka.so:math/heyoka \ + libmp++.so:math/mppp \ + libspdlog.so:devel/spdlog +RUN_DEPENDS= ${PYNUMPY} \ + ${PYTHON_PKGNAMEPREFIX}cloudpickle>0:devel/py-cloudpickle@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mpmath>0:math/py-mpmath@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sympy>0:math/py-sympy@${PY_FLAVOR} + +USES= cmake compiler:c++17-lang python:3.7+ +USE_PYTHON= flavors + +USE_GITHUB= yes +GH_ACCOUNT= bluescarni +GH_PROJECT= ${PORTNAME}.py + +CMAKE_ON= HEYOKA_PY_ENABLE_IPO +CMAKE_ARGS= -DFREEBSD_PYTHON_DISTVERSION=${PYTHON_DISTVERSION} + +.include <bsd.port.mk> diff --git a/math/py-heyoka/distinfo b/math/py-heyoka/distinfo new file mode 100644 index 000000000000..f0bcf70423e6 --- /dev/null +++ b/math/py-heyoka/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1630378504 +SHA256 (bluescarni-heyoka.py-v0.14.0_GH0.tar.gz) = 20fa3498be323ea2b51ec2ab5057c1193af3189df69ddffff42f62741b05994e +SIZE (bluescarni-heyoka.py-v0.14.0_GH0.tar.gz) = 60372207 diff --git a/math/py-heyoka/files/patch-CMakeLists.txt b/math/py-heyoka/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..50838865725d --- /dev/null +++ b/math/py-heyoka/files/patch-CMakeLists.txt @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2021-08-03 13:38:33 UTC ++++ CMakeLists.txt +@@ -123,7 +123,7 @@ if(${heyoka_VERSION} VERSION_LESS ${_HEYOKA_PY_MIN_HEY + endif() + + # Python. +-find_package(Python3 REQUIRED COMPONENTS Interpreter Development) ++find_package(Python3 ${FREEBSD_PYTHON_DISTVERSION} REQUIRED EXACT COMPONENTS Interpreter Development) + message(STATUS "Python3 interpreter: ${Python3_EXECUTABLE}") + message(STATUS "Python3 installation directory: ${Python3_SITEARCH}") + set(HEYOKA_PY_INSTALL_PATH "" CACHE STRING "heyoka module installation path") diff --git a/math/py-heyoka/pkg-descr b/math/py-heyoka/pkg-descr new file mode 100644 index 000000000000..ad94a136fd24 --- /dev/null +++ b/math/py-heyoka/pkg-descr @@ -0,0 +1,14 @@ +heyoka.py is a Python library for the integration of ordinary differential +equations (ODEs) via Taylor's method. Notable features include: +* support for both double-precision and extended-precision floating-point + types (80-bit and 128-bit), +* the ability to maintain machine precision accuracy over tens of billions of + timesteps, +* high-precision zero-cost dense output, +* accurate and reliable event detection, +* batch mode integration to harness the power of modern SIMD instruction sets, +* interoperability with SymPy, +* a high-performance implementation of Taylor's method based on automatic + differentiation techniques and aggressive just-in-time compilation via LLVM. + +WWW: https://bluescarni.github.io/heyoka.py/ diff --git a/math/py-heyoka/pkg-plist b/math/py-heyoka/pkg-plist new file mode 100644 index 000000000000..d086b1360d2e --- /dev/null +++ b/math/py-heyoka/pkg-plist @@ -0,0 +1,5 @@ +%%PYTHON_SITELIBDIR%%/heyoka/__init__.py +%%PYTHON_SITELIBDIR%%/heyoka/_sympy_utils.py +%%PYTHON_SITELIBDIR%%/heyoka/_version.py +%%PYTHON_SITELIBDIR%%/heyoka/core%%PYTHON_EXT_SUFFIX%%.so +%%PYTHON_SITELIBDIR%%/heyoka/test.py
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202108310447.17V4lKMf017073>