git: 4f4f35f057ac - 2025Q4 - science/arbor: update 0.10.1 → 0.11.0

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 02 Nov 2025 18:20:51 UTC
The branch 2025Q4 has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4f4f35f057ac28ef2017fe43fa6f5252223c5bae

commit 4f4f35f057ac28ef2017fe43fa6f5252223c5bae
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-11-02 10:11:42 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-11-02 18:20:46 +0000

    science/arbor: update 0.10.1 → 0.11.0
    
    (cherry picked from commit 0b8050edaf890ed92a77383d4d7f7912f7f2ac45)
---
 science/arbor/Makefile                       | 22 +++++++++++++++-------
 science/arbor/distinfo                       |  8 +++++---
 science/arbor/files/patch-CMakeLists.txt     | 23 ++++++++++++++---------
 science/arbor/files/patch-cmake_CPM.cmake    | 12 ++++++++++++
 science/arbor/files/patch-sup_CMakeLists.txt |  6 +++---
 science/arbor/pkg-plist                      |  4 +---
 6 files changed, 50 insertions(+), 25 deletions(-)

diff --git a/science/arbor/Makefile b/science/arbor/Makefile
index 2251d579cd4b..f4d1208a4f82 100644
--- a/science/arbor/Makefile
+++ b/science/arbor/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	arbor
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.10.1
-PORTREVISION=	3
+DISTVERSION=	0.11.0
 CATEGORIES=	science
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -12,25 +11,26 @@ WWW=		https://arbor-sim.org/ \
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN=		compilation fails with clang-19, see https://github.com/arbor-sim/arbor/issues/2424
 #BROKEN_armv7=	compilation fails: unknown type name 'float64x2_t'
 
 BUILD_DEPENDS=	bash:shells/bash \
 		libfmt>0:devel/libfmt \
 		nlohmann-json>0:devel/nlohmann-json \
 		random123>0:devel/random123 \
-		${PYTHON_PKGNAMEPREFIX}svgwrite>0:graphics/py-svgwrite@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}svgwrite>0:graphics/py-svgwrite@${PY_FLAVOR} \
+		tinyopt>0:devel/tinyopt
 BUILD_DEPENDS+=	${LOCALBASE}/lib/cmake/GTest/GTestConfig.cmake:devel/googletest # https://github.com/arbor-sim/arbor/issues/2205
 LIB_DEPENDS=	libhwloc.so:devel/hwloc2 \
 		libpugixml.so:textproc/pugixml \
 		libunits.so:misc/units
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}svgwrite>0:graphics/py-svgwrite@${PY_FLAVOR}
-TEST_DEPENDS=	googletest>=0:devel/googletest
+TEST_DEPENDS=	googletest>0:devel/googletest
 
-USES=		cmake compiler:c++17-lang localbase python shebangfix
+USES=		cmake compiler:c++20-lang localbase pkgconfig python shebangfix
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	arbor-sim
+GH_TUPLE=	cpm-cmake:CPM.cmake:v0.39.0:cpm
 
 SHEBANG_FILES=	scripts/arbor-build-catalogue
 
@@ -38,6 +38,7 @@ CMAKE_ON=	BUILD_SHARED_LIBS
 CMAKE_OFF=	ARB_USE_BUNDLED_UNITS
 CMAKE_ARGS=	-DPython3_EXECUTABLE=${PYTHON_CMD}
 
+CONFIGURE_ENV=	CPM_REPO=${WRKSRC_cpm}
 LDFLAGS+=	-L${LOCALBASE}/lib -lunits
 
 OPTIONS_DEFINE=		NATIVE
@@ -45,9 +46,16 @@ OPTIONS_DEFINE=		NATIVE
 NATIVE_CMAKE_ON=	-DARB_ARCH=native
 NATIVE_CMAKE_OFF=	-DARB_ARCH=none
 
-TEST_TARGET=	tests # tests fail to build, see https://github.com/arbor-sim/arbor/issues/2075
+TEST_TARGET=	tests
 
 post-install:
 	@${RMDIR} ${STAGEDIR}${DOCSDIR}
 
+post-test: # run tests
+	@${BUILD_WRKSRC}/bin/unit
+	@${BUILD_WRKSRC}/bin/unit-local
+	@${BUILD_WRKSRC}/bin/unit-modcc
+
+# tests fail with LIBCPP assertion for invalid array element access, see https://github.com/arbor-sim/arbor/issues/2484
+
 .include <bsd.port.mk>
diff --git a/science/arbor/distinfo b/science/arbor/distinfo
index 895ebcc91640..ddd22577d041 100644
--- a/science/arbor/distinfo
+++ b/science/arbor/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1724617928
-SHA256 (arbor-sim-arbor-v0.10.1_GH0.tar.gz) = 6a9a209dc20ab6edcf9847a70b0b4dbabf0c0d3c7e6e29b5bec7c00de9d7b8ae
-SIZE (arbor-sim-arbor-v0.10.1_GH0.tar.gz) = 10159032
+TIMESTAMP = 1762075604
+SHA256 (arbor-sim-arbor-v0.11.0_GH0.tar.gz) = 6df68b308dd629df993eda40319676cd43407ae211d0846100b0cf42e8c9ad22
+SIZE (arbor-sim-arbor-v0.11.0_GH0.tar.gz) = 12511038
+SHA256 (cpm-cmake-CPM.cmake-v0.39.0_GH0.tar.gz) = 621cfca03a5a0fcf316f08aee37d775a71620879e768ebf74be8495773f6b578
+SIZE (cpm-cmake-CPM.cmake-v0.39.0_GH0.tar.gz) = 100981
diff --git a/science/arbor/files/patch-CMakeLists.txt b/science/arbor/files/patch-CMakeLists.txt
index b813375ca016..9a056733f8ea 100644
--- a/science/arbor/files/patch-CMakeLists.txt
+++ b/science/arbor/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig	2024-08-09 10:22:00 UTC
+--- CMakeLists.txt.orig	2025-04-24 10:33:03 UTC
 +++ CMakeLists.txt
-@@ -40,7 +40,7 @@ check_cxx_compiler_flag("-march=native" CXX_HAS_NATIVE
+@@ -60,7 +60,7 @@ check_cxx_compiler_flag("-march=native" CXX_HAS_NATIVE
  
  # Specify target architecture.
  check_cxx_compiler_flag("-march=native" CXX_HAS_NATIVE)
@@ -9,11 +9,16 @@
      set(ARB_DEFAULT_ARCH "native")
  else()
      set(ARB_DEFAULT_ARCH "none")
-@@ -307,7 +307,6 @@ install(TARGETS ext-units EXPORT arbor-targets)
- install(TARGETS ext-random123 EXPORT arbor-targets)
- target_link_libraries(arbor-public-deps INTERFACE ext-units)
- install(TARGETS ext-units EXPORT arbor-targets)
--install(TARGETS units compile_flags_target EXPORT arbor-targets)
+@@ -302,11 +302,7 @@ install(TARGETS ext-hwloc EXPORT arbor-targets)
+ endif()
+ install(TARGETS ext-hwloc EXPORT arbor-targets)
  
- # Keep track of packages we need to add to the generated CMake config
- # file for arbor.
+-CPMFindPackage(NAME json
+-              GITHUB_REPOSITORY nlohmann/json
+-              VERSION 3.12.0
+-              OPTIONS "CMAKE_SUPPRESS_DEVELOPER_WARNINGS ON")
+-install(TARGETS nlohmann_json EXPORT arbor-targets)
++find_package(nlohmann_json REQUIRED)
+ 
+ add_library(ext-random123 INTERFACE)
+ CPMFindPackage(NAME random123
diff --git a/science/arbor/files/patch-cmake_CPM.cmake b/science/arbor/files/patch-cmake_CPM.cmake
new file mode 100644
index 000000000000..5d3f5f935cac
--- /dev/null
+++ b/science/arbor/files/patch-cmake_CPM.cmake
@@ -0,0 +1,12 @@
+--- cmake/CPM.cmake.orig	2025-04-24 10:33:03 UTC
++++ cmake/CPM.cmake
+@@ -9,6 +9,9 @@ elseif(DEFINED ENV{CPM_SOURCE_CACHE})
+   set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
+ elseif(DEFINED ENV{CPM_SOURCE_CACHE})
+   set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
++elseif(DEFINED ENV{CPM_REPO})
++  include("$ENV{CPM_REPO}/cmake/CPM.cmake")
++  return()
+ else()
+   set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
+ endif()
diff --git a/science/arbor/files/patch-sup_CMakeLists.txt b/science/arbor/files/patch-sup_CMakeLists.txt
index 95eac6c5f7eb..7fff28ceb029 100644
--- a/science/arbor/files/patch-sup_CMakeLists.txt
+++ b/science/arbor/files/patch-sup_CMakeLists.txt
@@ -1,4 +1,4 @@
---- sup/CMakeLists.txt.orig	2024-08-09 10:22:00 UTC
+--- sup/CMakeLists.txt.orig	2025-04-24 10:33:03 UTC
 +++ sup/CMakeLists.txt
 @@ -3,7 +3,7 @@ set(sup-sources
      json_meter.cpp
@@ -7,5 +7,5 @@
 -add_library(arbor-sup ${sup-sources})
 +add_library(arbor-sup STATIC ${sup-sources})
  
- if (ARB_USE_BUNDLED_FMT)
-     target_include_directories(arbor-sup
+ target_link_libraries(arbor-sup PRIVATE fmt::fmt-header-only)
+ 
diff --git a/science/arbor/pkg-plist b/science/arbor/pkg-plist
index f7844f35709c..e01333db8354 100644
--- a/science/arbor/pkg-plist
+++ b/science/arbor/pkg-plist
@@ -21,7 +21,6 @@ include/arbor/domdecexcept.hpp
 include/arbor/event_generator.hpp
 include/arbor/export.hpp
 include/arbor/fvm_types.hpp
-include/arbor/generic_event.hpp
 include/arbor/gpu/cuda_api.hpp
 include/arbor/gpu/gpu_api.hpp
 include/arbor/gpu/gpu_common.hpp
@@ -52,7 +51,6 @@ include/arbor/morph/segment_tree.hpp
 include/arbor/morph/stitch.hpp
 include/arbor/network.hpp
 include/arbor/network_generation.hpp
-include/arbor/profile/clock.hpp
 include/arbor/profile/meter.hpp
 include/arbor/profile/meter_manager.hpp
 include/arbor/profile/profiler.hpp
@@ -90,7 +88,6 @@ include/arbor/util/expected.hpp
 include/arbor/util/extra_traits.hpp
 include/arbor/util/handle_set.hpp
 include/arbor/util/hash_def.hpp
-include/arbor/util/lexcmp_def.hpp
 include/arbor/util/pp_util.hpp
 include/arbor/util/scope_exit.hpp
 include/arbor/util/typed_map.hpp
@@ -106,6 +103,7 @@ include/arborenv/gpu_env.hpp
 include/arborenv/with_mpi.hpp
 include/arborio/cableio.hpp
 include/arborio/cv_policy_parse.hpp
+include/arborio/debug.hpp
 include/arborio/export.hpp
 include/arborio/json_serdes.hpp
 include/arborio/label_parse.hpp