git: 9f1881394ed9 - main - math/py-heyoka: New port: Python library for ODE integration via Taylor's method and LLVM
Yuri Victorovich
yuri at FreeBSD.org
Tue Aug 31 04:47:20 UTC 2021
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9f1881394ed9b1e5bd38f1e02c329674ad537c51
commit 9f1881394ed9b1e5bd38f1e02c329674ad537c51
Author: Yuri Victorovich <yuri at FreeBSD.org>
AuthorDate: 2021-08-31 03:27:46 +0000
Commit: Yuri Victorovich <yuri at 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 at 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
More information about the dev-commits-ports-all
mailing list