diff options
author | Yuri Victorovich <yuri@FreeBSD.org> | 2021-08-31 03:27:46 +0000 |
---|---|---|
committer | Yuri Victorovich <yuri@FreeBSD.org> | 2021-08-31 04:47:14 +0000 |
commit | 9f1881394ed9b1e5bd38f1e02c329674ad537c51 (patch) | |
tree | a5635f62a28db05f07c470e980c179e7d5fbe465 /math | |
parent | d0103b3d7afc2d0dd77f2741c09bbea3dfada685 (diff) | |
download | ports-9f1881394ed9b1e5bd38f1e02c329674ad537c51.tar.gz ports-9f1881394ed9b1e5bd38f1e02c329674ad537c51.zip |
math/py-heyoka: New port: Python library for ODE integration via Taylor's method and LLVM
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 1 | ||||
-rw-r--r-- | math/py-heyoka/Makefile | 34 | ||||
-rw-r--r-- | math/py-heyoka/distinfo | 3 | ||||
-rw-r--r-- | math/py-heyoka/files/patch-CMakeLists.txt | 11 | ||||
-rw-r--r-- | math/py-heyoka/pkg-descr | 14 | ||||
-rw-r--r-- | math/py-heyoka/pkg-plist | 5 |
6 files changed, 68 insertions, 0 deletions
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 |