From owner-dev-commits-ports-main@freebsd.org Tue Aug 31 04:47:20 2021 Return-Path: Delivered-To: dev-commits-ports-main@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A42156649F3; Tue, 31 Aug 2021 04:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4GzF6J3hzQz4bjD; Tue, 31 Aug 2021 04:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5FA502EE1; Tue, 31 Aug 2021 04:47:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 17V4lKeI017074; Tue, 31 Aug 2021 04:47:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 17V4lKMf017073; Tue, 31 Aug 2021 04:47:20 GMT (envelope-from git) Date: Tue, 31 Aug 2021 04:47:20 GMT Message-Id: <202108310447.17V4lKMf017073@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 9f1881394ed9 - main - math/py-heyoka: New port: Python library for ODE integration via Taylor's method and LLVM MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f1881394ed9b1e5bd38f1e02c329674ad537c51 Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commits to the main branch of the FreeBSD ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Aug 2021 04:47:20 -0000 The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=9f1881394ed9b1e5bd38f1e02c329674ad537c51 commit 9f1881394ed9b1e5bd38f1e02c329674ad537c51 Author: Yuri Victorovich AuthorDate: 2021-08-31 03:27:46 +0000 Commit: Yuri Victorovich 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 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