aboutsummaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2021-08-31 02:21:23 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2021-08-31 04:47:14 +0000
commitd0103b3d7afc2d0dd77f2741c09bbea3dfada685 (patch)
treed9e1be91226abca90da0cd63d4562a37c86183e0 /math
parent31aad68e55df749fad73589b7cb251dea7cee768 (diff)
downloadports-d0103b3d7afc2d0dd77f2741c09bbea3dfada685.tar.gz
ports-d0103b3d7afc2d0dd77f2741c09bbea3dfada685.zip
math/heyoka: New port: C++ library for ODE integration via Taylor's method and LLVM
Diffstat (limited to 'math')
-rw-r--r--math/Makefile1
-rw-r--r--math/heyoka/Makefile32
-rw-r--r--math/heyoka/distinfo3
-rw-r--r--math/heyoka/files/patch-CMakeLists.txt13
-rw-r--r--math/heyoka/pkg-descr13
-rw-r--r--math/heyoka/pkg-plist65
6 files changed, 127 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index 8ce08adedae1..da4469d661d6 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -343,6 +343,7 @@
SUBDIR += gsl
SUBDIR += half
SUBDIR += hexcalc
+ SUBDIR += heyoka
SUBDIR += highs
SUBDIR += hipmcl
SUBDIR += hmat-oss
diff --git a/math/heyoka/Makefile b/math/heyoka/Makefile
new file mode 100644
index 000000000000..e588a245c2da
--- /dev/null
+++ b/math/heyoka/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= heyoka
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.14.0
+CATEGORIES= math
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= C++ library for ODE integration via Taylor's method and LLVM
+
+LICENSE= MPL20
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION}
+LIB_DEPENDS= libboost_serialization.so:devel/boost-libs \
+ libfmt.so:devel/libfmt \
+ libmp++.so:math/mppp \
+ libsleef.so:math/sleef \
+ libspdlog.so:devel/spdlog
+TEST_DEPENDS= xtensor>0:math/xtensor
+
+USES= cmake:testing compiler:c++17-lang
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= bluescarni
+
+LLVM_VERSION= 12
+
+CMAKE_ON= HEYOKA_WITH_MPPP HEYOKA_WITH_SLEEF
+CMAKE_ARGS= -DFREEBSD_LLVM_VERSION=${LLVM_VERSION}
+CMAKE_TESTING_ON= HEYOKA_BUILD_TESTS # tests can't be compiled: xtensor-blas isn't yet ported
+
+.include <bsd.port.mk>
diff --git a/math/heyoka/distinfo b/math/heyoka/distinfo
new file mode 100644
index 000000000000..c871613ab4e5
--- /dev/null
+++ b/math/heyoka/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1630374700
+SHA256 (bluescarni-heyoka-v0.14.0_GH0.tar.gz) = 0f3157fe9cbff66a2b6c0c66b903cff54de3d1691630868e5e30bad47488d315
+SIZE (bluescarni-heyoka-v0.14.0_GH0.tar.gz) = 5255001
diff --git a/math/heyoka/files/patch-CMakeLists.txt b/math/heyoka/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..ebc7046cd3fd
--- /dev/null
+++ b/math/heyoka/files/patch-CMakeLists.txt
@@ -0,0 +1,13 @@
+- fix llvm version
+
+--- CMakeLists.txt.orig 2021-08-03 13:32:13 UTC
++++ CMakeLists.txt
+@@ -147,7 +147,7 @@ endif()
+ # NOTE: do it early so that we can set up
+ # compiler flags based on the LLVM version
+ # if needed.
+-find_package(LLVM REQUIRED CONFIG)
++find_package(LLVM ${FREEBSD_LLVM_VERSION} REQUIRED CONFIG)
+
+ if(${LLVM_VERSION_MAJOR} LESS 10)
+ message(FATAL_ERROR "LLVM >= 10 is required.")
diff --git a/math/heyoka/pkg-descr b/math/heyoka/pkg-descr
new file mode 100644
index 000000000000..f188c61767e8
--- /dev/null
+++ b/math/heyoka/pkg-descr
@@ -0,0 +1,13 @@
+heyoka is a C++ 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,
+* 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/
diff --git a/math/heyoka/pkg-plist b/math/heyoka/pkg-plist
new file mode 100644
index 000000000000..434d0d4de770
--- /dev/null
+++ b/math/heyoka/pkg-plist
@@ -0,0 +1,65 @@
+include/heyoka/callable.hpp
+include/heyoka/config.hpp
+include/heyoka/detail/binomial.hpp
+include/heyoka/detail/dfloat.hpp
+include/heyoka/detail/event_detection.hpp
+include/heyoka/detail/fwd_decl.hpp
+include/heyoka/detail/igor.hpp
+include/heyoka/detail/llvm_fwd.hpp
+include/heyoka/detail/llvm_helpers.hpp
+include/heyoka/detail/llvm_vector_type.hpp
+include/heyoka/detail/logging_impl.hpp
+include/heyoka/detail/simple_timer.hpp
+include/heyoka/detail/sleef.hpp
+include/heyoka/detail/string_conv.hpp
+include/heyoka/detail/taylor_common.hpp
+include/heyoka/detail/type_traits.hpp
+include/heyoka/detail/visibility.hpp
+include/heyoka/exceptions.hpp
+include/heyoka/expression.hpp
+include/heyoka/func.hpp
+include/heyoka/gp.hpp
+include/heyoka/heyoka.hpp
+include/heyoka/kw.hpp
+include/heyoka/llvm_state.hpp
+include/heyoka/logging.hpp
+include/heyoka/mascon.hpp
+include/heyoka/math.hpp
+include/heyoka/math/acos.hpp
+include/heyoka/math/acosh.hpp
+include/heyoka/math/asin.hpp
+include/heyoka/math/asinh.hpp
+include/heyoka/math/atan.hpp
+include/heyoka/math/atanh.hpp
+include/heyoka/math/binary_op.hpp
+include/heyoka/math/cos.hpp
+include/heyoka/math/cosh.hpp
+include/heyoka/math/erf.hpp
+include/heyoka/math/exp.hpp
+include/heyoka/math/kepE.hpp
+include/heyoka/math/log.hpp
+include/heyoka/math/neg.hpp
+include/heyoka/math/pow.hpp
+include/heyoka/math/sigmoid.hpp
+include/heyoka/math/sin.hpp
+include/heyoka/math/sinh.hpp
+include/heyoka/math/sqrt.hpp
+include/heyoka/math/square.hpp
+include/heyoka/math/tan.hpp
+include/heyoka/math/tanh.hpp
+include/heyoka/math/time.hpp
+include/heyoka/math/tpoly.hpp
+include/heyoka/nbody.hpp
+include/heyoka/number.hpp
+include/heyoka/param.hpp
+include/heyoka/s11n.hpp
+include/heyoka/splitmix64.hpp
+include/heyoka/taylor.hpp
+include/heyoka/variable.hpp
+lib/cmake/heyoka/heyoka-config-version.cmake
+lib/cmake/heyoka/heyoka-config.cmake
+lib/cmake/heyoka/heyoka_export-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/heyoka/heyoka_export.cmake
+lib/libheyoka.so
+lib/libheyoka.so.14
+lib/libheyoka.so.14.0