Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2026 04:05:10 +0000
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: 1de14a01af1c - main - math/heyoka: update 6.0.0=?utf-8?Q? =E2=86=92 7.1?=0.0
Message-ID:  <69cb47f6.37297.7db71ba4@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1de14a01af1ccac463c639ad7fcfa578b894255c

commit 1de14a01af1ccac463c639ad7fcfa578b894255c
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-03-30 22:30:24 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-03-31 04:05:08 +0000

    math/heyoka: update 6.0.0 → 7.10.0
---
 math/heyoka/Makefile                               | 20 ++++------
 math/heyoka/distinfo                               |  6 +--
 math/heyoka/files/patch-CMakeLists.txt             | 18 +++++++--
 .../files/patch-src_detail_erfa_CMakeLists.txt     | 14 +++++++
 math/heyoka/files/patch-test_llvm_helpers.cpp      | 43 ++++++++++++++++++++++
 math/heyoka/files/patch-test_taylor__atan.cpp      | 18 +++++++++
 math/heyoka/files/patch-test_test__utils.cpp       | 20 ++++++++++
 math/heyoka/pkg-plist                              | 40 ++++++++++++++++----
 8 files changed, 153 insertions(+), 26 deletions(-)

diff --git a/math/heyoka/Makefile b/math/heyoka/Makefile
index 5930c8fce1ec..cccc039fe90a 100644
--- a/math/heyoka/Makefile
+++ b/math/heyoka/Makefile
@@ -1,43 +1,37 @@
 PORTNAME=	heyoka
 DISTVERSIONPREFIX=	v
-DISTVERSION=	6.0.0
-PORTREVISION=	7
+DISTVERSION=	7.10.0
 CATEGORIES=	math
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	C++ library for ODE integration via Taylor's method and LLVM
-WWW=		https://bluescarni.github.io/heyoka/
+WWW=		https://bluescarni.github.io/heyoka/ \
+		https://github.com/bluescarni/heyoka
 
 LICENSE=	MPL20
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BROKEN=		Fails to build with fmt 12+, The supported fmt versions are in the range [9, 11], but version 12 was found instead.
-#BROKEN_FreeBSD_13=	compilation fails: no member named 'transform' in namespace 'std::ranges'; did you mean 'llvm::transform' (std::ranges::transform isn't present)
-
 LIB_DEPENDS=	libboost_serialization.so:devel/boost-libs \
 		libfmt.so:devel/libfmt \
 		libgmp.so:math/gmp \
 		libmp++.so:math/mppp \
 		libmpc.so:math/mpc \
 		libmpfr.so:math/mpfr \
+		libsqlite3.so:databases/sqlite3 \
 		libtbb.so:devel/onetbb \
 		libsleef.so:math/sleef \
 		libspdlog.so:devel/spdlog
 TEST_DEPENDS=	xtensor>0:math/xtensor \
 		xtensor-blas>0:math/xtensor-blas
 
-USES=		cmake:testing compiler:c++20-lang llvm:min=16,build,run
+USES=		cmake:testing compiler:c++20-lang llvm:min=18,build,run ssl
 USE_LDCONFIG=	yes
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	bluescarni
 
 CMAKE_ON=		HEYOKA_WITH_MPPP HEYOKA_WITH_SLEEF
-CMAKE_TESTING_ON=	HEYOKA_BUILD_TESTS # 1 test fails, see https://github.com/bluescarni/heyoka/issues/338
-
-# 2 tests fail:
-# * https://github.com/bluescarni/heyoka/issues/429
-# * https://github.com/bluescarni/heyoka/issues/430
+CMAKE_TESTING_ON=	HEYOKA_BUILD_TESTS
 
 .include <bsd.port.pre.mk>
 
@@ -52,4 +46,6 @@ LLVM_VERSION_MINOR=     0
 
 CMAKE_ARGS+=		-DFREEBSD_LLVM_VERSION=${LLVM_VERSION}.${LLVM_VERSION_MINOR}
 
+# tests as of 7.10.0: 100% tests passed, 0 tests failed out of 162
+
 .include <bsd.port.post.mk>
diff --git a/math/heyoka/distinfo b/math/heyoka/distinfo
index b344e48194e1..c0d7f3788fe6 100644
--- a/math/heyoka/distinfo
+++ b/math/heyoka/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1726978227
-SHA256 (bluescarni-heyoka-v6.0.0_GH0.tar.gz) = 9cf56a6a29db5c72c5203af70d568aede78cb549baf1505b8abd04b888492895
-SIZE (bluescarni-heyoka-v6.0.0_GH0.tar.gz) = 104464800
+TIMESTAMP = 1774898303
+SHA256 (bluescarni-heyoka-v7.10.0_GH0.tar.gz) = 32404b6e8e0697c5ee3e0debda523eb98c57485bfe39584715ca105b8e6377a1
+SIZE (bluescarni-heyoka-v7.10.0_GH0.tar.gz) = 86871990
diff --git a/math/heyoka/files/patch-CMakeLists.txt b/math/heyoka/files/patch-CMakeLists.txt
index 833117d9a3d2..11421f0541c5 100644
--- a/math/heyoka/files/patch-CMakeLists.txt
+++ b/math/heyoka/files/patch-CMakeLists.txt
@@ -1,13 +1,23 @@
 - fix llvm version
+- use MODULE mode for OpenSSL (base system lacks cmake config file)
 
---- CMakeLists.txt.orig	2024-06-13 17:20:31 UTC
+--- CMakeLists.txt.orig	2026-03-20 00:58:15 UTC
 +++ CMakeLists.txt
-@@ -156,7 +156,7 @@ include(GNUInstallDirs)
+@@ -153,7 +153,7 @@
  #
  # https://github.com/llvm/llvm-project/issues/58558
  include(GNUInstallDirs)
 -find_package(LLVM REQUIRED CONFIG)
 +find_package(LLVM ${FREEBSD_LLVM_VERSION} REQUIRED CONFIG)
  
- if(${LLVM_VERSION_MAJOR} LESS 13 OR ${LLVM_VERSION_MAJOR} GREATER 18)
-   message(FATAL_ERROR "LLVM >= 13 and <= 18 is required.")
+ if(${LLVM_VERSION_MAJOR} LESS 18 OR ${LLVM_VERSION_MAJOR} GREATER 22)
+   message(FATAL_ERROR "LLVM >= 18 and <= 22 is required.")
+@@ -638,7 +638,7 @@
+ endif()
+ 
+ # Mandatory private dependency on openssl.
+-find_package(OpenSSL REQUIRED CONFIG)
++find_package(OpenSSL REQUIRED)
+ target_link_libraries(heyoka PRIVATE OpenSSL::SSL OpenSSL::Crypto)
+ 
+ # Mandatory dependency on sqlite. See:
diff --git a/math/heyoka/files/patch-src_detail_erfa_CMakeLists.txt b/math/heyoka/files/patch-src_detail_erfa_CMakeLists.txt
new file mode 100644
index 000000000000..12d4d63387e3
--- /dev/null
+++ b/math/heyoka/files/patch-src_detail_erfa_CMakeLists.txt
@@ -0,0 +1,14 @@
+- enable PIC for erfa static library (required when linking into a shared library)
+
+--- src/detail/erfa/CMakeLists.txt.orig	2026-03-20 00:58:15 UTC
++++ src/detail/erfa/CMakeLists.txt
+@@ -254,6 +254,9 @@
+ 
+ add_library(heyoka_erfa STATIC "${HEYOKA_ERFA_SRC_FILES}")
+ 
++# Required when linking into a shared library.
++set_property(TARGET heyoka_erfa PROPERTY POSITION_INDEPENDENT_CODE ON)
++
+ # Compile in C99 mode.
+ target_compile_features(heyoka_erfa PRIVATE c_std_99)
+ # Enforce vanilla C.
diff --git a/math/heyoka/files/patch-test_llvm_helpers.cpp b/math/heyoka/files/patch-test_llvm_helpers.cpp
new file mode 100644
index 000000000000..b962f8a6d7e7
--- /dev/null
+++ b/math/heyoka/files/patch-test_llvm_helpers.cpp
@@ -0,0 +1,43 @@
+--- test/llvm_helpers.cpp.orig
++++ test/llvm_helpers.cpp
+@@ -1498,11 +1498,19 @@
+ #if defined(HEYOKA_HAVE_REAL128)
+                 if constexpr (!std::is_same_v<fp_t, mppp::real128>) {
+ #endif
+-
++// On x86/x86-64, long double is 80-bit extended precision and there is no
++// hardware FMA instruction for this type. The system fmal() is not an exact
++// FMA, so the EFT property cannot be guaranteed for long double.
++#if defined(HEYOKA_ARCH_X86)
++                if constexpr (!std::is_same_v<fp_t, long double>) {
++#endif
+                     using mp_fp_t = mppp::real;
+                     const auto prec = std::numeric_limits<fp_t>::digits * 2;
+ 
+                     REQUIRE(mp_fp_t(x, prec) + mp_fp_t(y, prec) == mp_fp_t(a, prec) * mp_fp_t(b, prec));
++#if defined(HEYOKA_ARCH_X86)
++                }
++#endif
+ #if defined(HEYOKA_HAVE_REAL128)
+                 }
+ #endif
+@@ -1588,10 +1596,19 @@
+ #if defined(HEYOKA_HAVE_REAL128)
+                         if constexpr (!std::is_same_v<fp_t, mppp::real128>) {
+ #endif
++// On x86/x86-64, long double is 80-bit extended precision and there is no
++// hardware FMA instruction for this type. The system fmal() is not an exact
++// FMA, so the EFT property cannot be guaranteed for long double.
++#if defined(HEYOKA_ARCH_X86)
++                        if constexpr (!std::is_same_v<fp_t, long double>) {
++#endif
+                             using mp_fp_t = mppp::real;
+                             const auto prec = std::numeric_limits<fp_t>::digits * 2;
+ 
+                             REQUIRE(mp_fp_t(xv, prec) + mp_fp_t(yv, prec) == mp_fp_t(a, prec) * mp_fp_t(b, prec));
++#if defined(HEYOKA_ARCH_X86)
++                        }
++#endif
+ #if defined(HEYOKA_HAVE_REAL128)
+                         }
+ #endif
diff --git a/math/heyoka/files/patch-test_taylor__atan.cpp b/math/heyoka/files/patch-test_taylor__atan.cpp
new file mode 100644
index 000000000000..03047cd538de
--- /dev/null
+++ b/math/heyoka/files/patch-test_taylor__atan.cpp
@@ -0,0 +1,18 @@
+--- test/taylor_atan.cpp.orig
++++ test/taylor_atan.cpp
+@@ -48,7 +48,16 @@
+                                  >{};
+ 
+-constexpr bool skip_batch_ld = false;
++// On x86/x86-64, long double is 80-bit extended precision. Batch Taylor
++// integration uses double-length (DL) arithmetic via EFT internally, which
++// relies on fmal() being an exact fused multiply-add. Since there is no
++// hardware FMA instruction for 80-bit extended precision on x86, the system
++// fmal() is not exact, making batch results unreliable for long double.
++#if defined(HEYOKA_ARCH_X86)
++constexpr bool skip_batch_ld = true;
++#else
++constexpr bool skip_batch_ld = false;
++#endif
+ 
+ TEST_CASE("taylor atan decompose bug 00")
diff --git a/math/heyoka/files/patch-test_test__utils.cpp b/math/heyoka/files/patch-test_test__utils.cpp
new file mode 100644
index 000000000000..400577da1622
--- /dev/null
+++ b/math/heyoka/files/patch-test_test__utils.cpp
@@ -0,0 +1,20 @@
+--- test/test_utils.cpp.orig
++++ test/test_utils.cpp
+@@ -186,7 +186,17 @@
+             const auto jet_scalar = tc_to_jet(ta);
+ 
+             for (auto i = 0ul; i < dim * 4ul; ++i) {
++// On x86/x86-64, long double is 80-bit extended precision. Batch Taylor
++// integration uses double-length arithmetic via EFT internally. Since the
++// system fmal() is not an exact FMA for 80-bit long double, the batch
++// results may differ from the scalar results. Skip this comparison.
++#if defined(HEYOKA_ARCH_X86)
++                if constexpr (!std::is_same_v<T, long double>) {
++#endif
+                 REQUIRE(jet_scalar[i] == approximately(jet_batch[i * batch_size + batch_idx], tol));
++#if defined(HEYOKA_ARCH_X86)
++                }
++#endif
+             }
+         }
+     }
diff --git a/math/heyoka/pkg-plist b/math/heyoka/pkg-plist
index 7f564523e6ba..00442bf8aade 100644
--- a/math/heyoka/pkg-plist
+++ b/math/heyoka/pkg-plist
@@ -3,7 +3,8 @@ include/heyoka/callback/angle_reducer.hpp
 include/heyoka/callbacks.hpp
 include/heyoka/config.hpp
 include/heyoka/continuous_output.hpp
-include/heyoka/detail/aligned_buffer.hpp
+include/heyoka/detail/aligned_vector.hpp
+include/heyoka/detail/analytical_theories_helpers.hpp
 include/heyoka/detail/binomial.hpp
 include/heyoka/detail/cm_utils.hpp
 include/heyoka/detail/debug.hpp
@@ -11,21 +12,28 @@ include/heyoka/detail/dfloat.hpp
 include/heyoka/detail/div.hpp
 include/heyoka/detail/dtens_impl.hpp
 include/heyoka/detail/ed_data.hpp
+include/heyoka/detail/egm2008.hpp
 include/heyoka/detail/elp2000/elp2000_10_15.hpp
 include/heyoka/detail/elp2000/elp2000_16_21.hpp
 include/heyoka/detail/elp2000/elp2000_1_3.hpp
 include/heyoka/detail/elp2000/elp2000_22_36.hpp
 include/heyoka/detail/elp2000/elp2000_4_9.hpp
+include/heyoka/detail/eop_data/builtin_eop_data.hpp
+include/heyoka/detail/eop_sw_helpers.hpp
+include/heyoka/detail/erfa_decls.hpp
 include/heyoka/detail/event_detection.hpp
-include/heyoka/detail/fast_unordered.hpp
-include/heyoka/detail/func_cache.hpp
+include/heyoka/detail/ex_traversal.hpp
 include/heyoka/detail/fwd_decl.hpp
+include/heyoka/detail/get_dl_path.hpp
+include/heyoka/detail/http_download.hpp
 include/heyoka/detail/i_data.hpp
+include/heyoka/detail/iau2006/X.hpp
+include/heyoka/detail/iau2006/Y.hpp
+include/heyoka/detail/iau2006/s.hpp
 include/heyoka/detail/igor.hpp
 include/heyoka/detail/llvm_func_create.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/mdspan/__p0009_bits/compressed_pair.hpp
 include/heyoka/detail/mdspan/__p0009_bits/config.hpp
@@ -51,16 +59,22 @@ include/heyoka/detail/mdspan/mdspan
 include/heyoka/detail/num_identity.hpp
 include/heyoka/detail/num_utils.hpp
 include/heyoka/detail/optional_s11n.hpp
+include/heyoka/detail/ranges_to.hpp
 include/heyoka/detail/real_helpers.hpp
-include/heyoka/detail/rng_to_vec.hpp
+include/heyoka/detail/safe_integer.hpp
 include/heyoka/detail/simple_timer.hpp
+include/heyoka/detail/sincos_combine.hpp
 include/heyoka/detail/string_conv.hpp
 include/heyoka/detail/sub.hpp
 include/heyoka/detail/sum_sq.hpp
+include/heyoka/detail/sw_data/builtin_sw_data.hpp
+include/heyoka/detail/ta_jit_data.hpp
 include/heyoka/detail/tanuki.hpp
 include/heyoka/detail/tanuki_impl.hpp
 include/heyoka/detail/taylor_common.hpp
+include/heyoka/detail/tbb_isolated.hpp
 include/heyoka/detail/type_traits.hpp
+include/heyoka/detail/udf_split.hpp
 include/heyoka/detail/variant_s11n.hpp
 include/heyoka/detail/vector_math.hpp
 include/heyoka/detail/visibility.hpp
@@ -73,11 +87,15 @@ include/heyoka/detail/vsop2013/vsop2013_6.hpp
 include/heyoka/detail/vsop2013/vsop2013_7.hpp
 include/heyoka/detail/vsop2013/vsop2013_8.hpp
 include/heyoka/detail/vsop2013/vsop2013_9.hpp
+include/heyoka/detail/vsop2013/vsop2013_term.hpp
+include/heyoka/detail/vsys_data.hpp
 include/heyoka/ensemble_propagate.hpp
+include/heyoka/eop_data.hpp
 include/heyoka/events.hpp
 include/heyoka/exceptions.hpp
 include/heyoka/expression.hpp
 include/heyoka/func.hpp
+include/heyoka/func_args.hpp
 include/heyoka/gp.hpp
 include/heyoka/hamiltonian.hpp
 include/heyoka/heyoka.hpp
@@ -120,9 +138,14 @@ include/heyoka/math/time.hpp
 include/heyoka/mdspan.hpp
 include/heyoka/model/cart2geo.hpp
 include/heyoka/model/cr3bp.hpp
+include/heyoka/model/dayfrac.hpp
+include/heyoka/model/egm2008.hpp
 include/heyoka/model/elp2000.hpp
+include/heyoka/model/eop.hpp
 include/heyoka/model/ffnn.hpp
 include/heyoka/model/fixed_centres.hpp
+include/heyoka/model/frame_transformations.hpp
+include/heyoka/model/iau2006.hpp
 include/heyoka/model/jb08_tn.hpp
 include/heyoka/model/mascon.hpp
 include/heyoka/model/nbody.hpp
@@ -130,6 +153,8 @@ include/heyoka/model/nrlmsise00_tn.hpp
 include/heyoka/model/pendulum.hpp
 include/heyoka/model/rotating.hpp
 include/heyoka/model/sgp4.hpp
+include/heyoka/model/sw.hpp
+include/heyoka/model/time_conversions.hpp
 include/heyoka/model/vsop2013.hpp
 include/heyoka/models.hpp
 include/heyoka/number.hpp
@@ -137,6 +162,7 @@ include/heyoka/param.hpp
 include/heyoka/s11n.hpp
 include/heyoka/splitmix64.hpp
 include/heyoka/step_callback.hpp
+include/heyoka/sw_data.hpp
 include/heyoka/taylor.hpp
 include/heyoka/var_ode_sys.hpp
 include/heyoka/variable.hpp
@@ -145,5 +171,5 @@ 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.30
-lib/libheyoka.so.30.0
+lib/libheyoka.so.42
+lib/libheyoka.so.42.0


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69cb47f6.37297.7db71ba4>