aboutsummaryrefslogtreecommitdiff
path: root/devel/chai
diff options
context:
space:
mode:
Diffstat (limited to 'devel/chai')
-rw-r--r--devel/chai/Makefile38
-rw-r--r--devel/chai/distinfo5
-rw-r--r--devel/chai/files/patch-cmake_thirdparty_SetupChaiThirdparty.cmake20
-rw-r--r--devel/chai/pkg-descr3
-rw-r--r--devel/chai/pkg-plist23
5 files changed, 89 insertions, 0 deletions
diff --git a/devel/chai/Makefile b/devel/chai/Makefile
new file mode 100644
index 000000000000..e6a306b77186
--- /dev/null
+++ b/devel/chai/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= chai
+DISTVERSIONPREFIX= v
+DISTVERSION= 2025.09.1
+PORTREVISION= 1
+CATEGORIES= devel
+PKGNAMESUFFIX= -library
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Copy-hiding array abstraction for data migration
+WWW= https://github.com/LLNL/CHAI
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libcamp.so:devel/camp \
+ libRAJA.so:misc/raja \
+ libumpire.so:devel/umpire \
+ libfmt.so:devel/libfmt
+TEST_DEPENDS= googletest>0:devel/googletest
+
+USES= cmake:testing compiler:c++17-lang localbase:ldflags pkgconfig
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= LLNL
+GH_PROJECT= ${PORTNAME:tu}
+GH_TUPLE= LLNL:blt:e783e30:blt/blt
+
+CMAKE_ON= BUILD_SHARED_LIBS
+CMAKE_OFF= UMPIRE_ENABLE_EXAMPLES \
+ ENABLE_TESTS
+CMAKE_TESTING_ON= ENABLE_TESTS
+
+LDFLAGS+= -lexecinfo
+
+# tests as of 2025.09.1: 100% tests passed, 0 tests failed out of 10
+
+.include <bsd.port.mk>
diff --git a/devel/chai/distinfo b/devel/chai/distinfo
new file mode 100644
index 000000000000..0111ddffa61b
--- /dev/null
+++ b/devel/chai/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1761844777
+SHA256 (LLNL-CHAI-v2025.09.1_GH0.tar.gz) = 8d5ff6363e37f0fb5b4606b2165a881a76f2b4f384813afe871052ccd2bb40de
+SIZE (LLNL-CHAI-v2025.09.1_GH0.tar.gz) = 113209
+SHA256 (LLNL-blt-e783e30_GH0.tar.gz) = 4c8efec699708da3b552e533b80dd4ce3bf81da825840b3c18b9b56690898644
+SIZE (LLNL-blt-e783e30_GH0.tar.gz) = 1342801
diff --git a/devel/chai/files/patch-cmake_thirdparty_SetupChaiThirdparty.cmake b/devel/chai/files/patch-cmake_thirdparty_SetupChaiThirdparty.cmake
new file mode 100644
index 000000000000..f3ed050eafcd
--- /dev/null
+++ b/devel/chai/files/patch-cmake_thirdparty_SetupChaiThirdparty.cmake
@@ -0,0 +1,20 @@
+--- cmake/thirdparty/SetupChaiThirdparty.cmake.orig 2025-10-30 17:20:50 UTC
++++ cmake/thirdparty/SetupChaiThirdparty.cmake
+@@ -5,6 +5,8 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ ##############################################################################
+
++find_package(umpire REQUIRED)
++
+ if (NOT TARGET umpire)
+ if (DEFINED umpire_DIR OR DEFINED UMPIRE_DIR)
+ message(STATUS "[CHAI] Using external Umpire")
+@@ -27,6 +29,8 @@ endif ()
+ endif ()
+ endif ()
+ endif ()
++
++find_package(raja REQUIRED)
+
+ if (CHAI_ENABLE_RAJA_PLUGIN)
+ if (NOT TARGET RAJA)
diff --git a/devel/chai/pkg-descr b/devel/chai/pkg-descr
new file mode 100644
index 000000000000..3e464a1134d4
--- /dev/null
+++ b/devel/chai/pkg-descr
@@ -0,0 +1,3 @@
+CHAI is a C++ library that provides a copy-hiding array abstraction
+to automatically migrate data between different memory spaces, such as
+between CPU and GPU memory.
diff --git a/devel/chai/pkg-plist b/devel/chai/pkg-plist
new file mode 100644
index 000000000000..3c78f46351ce
--- /dev/null
+++ b/devel/chai/pkg-plist
@@ -0,0 +1,23 @@
+include/chai/ArrayManager.hpp
+include/chai/ArrayManager.inl
+include/chai/ChaiMacros.hpp
+include/chai/DeviceHelpers.hpp
+include/chai/ExecutionSpaces.hpp
+include/chai/ManagedArray.hpp
+include/chai/ManagedArray.inl
+include/chai/ManagedArrayView.hpp
+include/chai/PointerRecord.hpp
+include/chai/RajaExecutionSpacePlugin.hpp
+include/chai/Types.hpp
+include/chai/config.hpp
+include/chai/managed_ptr.hpp
+include/chai/pluginLinker.hpp
+include/chai/util/forall.hpp
+lib/cmake/chai/BLTInstallableMacros.cmake
+lib/cmake/chai/BLTSetupTargets.cmake
+lib/cmake/chai/BLTThirdPartyConfigFlags.cmake
+lib/cmake/chai/chai-config-version.cmake
+lib/cmake/chai/chai-config.cmake
+lib/cmake/chai/chai-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/chai/chai-targets.cmake
+lib/libchai.so