git: 391e3102b557 - main - devel/immer: Add port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 05 Oct 2023 12:14:48 UTC
The branch main has been updated by jhale:
URL: https://cgit.FreeBSD.org/ports/commit/?id=391e3102b557b20212e7ae2951dd2c85c0551ad8
commit 391e3102b557b20212e7ae2951dd2c85c0551ad8
Author: Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2023-10-04 12:18:56 +0000
Commit: Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2023-10-05 12:13:50 +0000
devel/immer: Add port
Immer is a library of persistent and immutable data structures written
in C++. These enable whole new kinds of architectures for interactive
and concurrent programs of striking simplicity, correctness, and
performance.
https://sinusoid.es/immer/
---
devel/Makefile | 1 +
devel/immer/Makefile | 36 ++++++++++++++
devel/immer/distinfo | 3 ++
devel/immer/files/patch-cmake_FindBoehmGC.cmake | 11 +++++
devel/immer/pkg-descr | 4 ++
devel/immer/pkg-plist | 63 +++++++++++++++++++++++++
6 files changed, 118 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index f85b0ed93bc6..7e0b7a55c0bf 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1004,6 +1004,7 @@
SUBDIR += ignition-tools
SUBDIR += ikos
SUBDIR += imake
+ SUBDIR += immer
SUBDIR += imtui
SUBDIR += inastemp
SUBDIR += include-what-you-use
diff --git a/devel/immer/Makefile b/devel/immer/Makefile
new file mode 100644
index 000000000000..1ea1d45b4818
--- /dev/null
+++ b/devel/immer/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= immer
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.8.1
+CATEGORIES= devel
+
+MAINTAINER= jhale@FreeBSD.org
+COMMENT= Postmodern immutable and persistent data structures for C++
+WWW= https://sinusoid.es/immer/
+
+LICENSE= BSL
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake
+USE_GITHUB= yes
+GH_ACCOUNT= arximboldi
+
+CMAKE_ON= DISABLE_WERROR
+CMAKE_OFF= immer_BUILD_DOCS \
+ immer_BUILD_EXTRAS
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= TEST
+
+TEST_BUILD_DEPENDS= boehm-gc>=0:devel/boehm-gc \
+ boehm-gc-threaded>=0:devel/boehm-gc-threaded \
+ boost-libs>=0:devel/boost-libs \
+ catch>=0:devel/catch
+TEST_USES= compiler:c++14-lang pkgconfig
+TEST_CMAKE_BOOL= immer_BUILD_EXAMPLES \
+ immer_BUILD_TESTS
+TEST_ALL_TARGET= install examples tests
+TEST_ALL_TARGET_OFF= install
+TEST_TEST_TARGET= test
+
+.include <bsd.port.mk>
diff --git a/devel/immer/distinfo b/devel/immer/distinfo
new file mode 100644
index 000000000000..ca28e20f5aed
--- /dev/null
+++ b/devel/immer/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1696411685
+SHA256 (arximboldi-immer-v0.8.1_GH0.tar.gz) = de8411c84830864604bb685dc8f2e3c0dbdc40b95b2f6726092f7dcc85e75209
+SIZE (arximboldi-immer-v0.8.1_GH0.tar.gz) = 654638
diff --git a/devel/immer/files/patch-cmake_FindBoehmGC.cmake b/devel/immer/files/patch-cmake_FindBoehmGC.cmake
new file mode 100644
index 000000000000..8bc34f5c5e21
--- /dev/null
+++ b/devel/immer/files/patch-cmake_FindBoehmGC.cmake
@@ -0,0 +1,11 @@
+--- cmake/FindBoehmGC.cmake.orig 2023-10-04 09:47:41 UTC
++++ cmake/FindBoehmGC.cmake
+@@ -57,7 +57,7 @@ IF (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+ IF (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+ # checks if 'gc' supports 'GC_get_parallel' and if it does
+ # then use it
+- INCLUDE(${CMAKE_ROOT}/Modules/CheckCSourceCompiles.cmake)
++ INCLUDE(${CMAKE_ROOT}/Modules/CheckCSourceRuns.cmake)
+ # not sure if this links properly...
+ FIND_LIBRARY(BOEHM_GC_LIBRARIES NAMES gc
+ HINTS ${PC_BDW_GC_LIBDIR} ${PC_BDW_GC_LIBRARY_DIRS})
diff --git a/devel/immer/pkg-descr b/devel/immer/pkg-descr
new file mode 100644
index 000000000000..ede23f920bb4
--- /dev/null
+++ b/devel/immer/pkg-descr
@@ -0,0 +1,4 @@
+Immer is a library of persistent and immutable data structures written
+in C++. These enable whole new kinds of architectures for interactive
+and concurrent programs of striking simplicity, correctness, and
+performance.
diff --git a/devel/immer/pkg-plist b/devel/immer/pkg-plist
new file mode 100644
index 000000000000..9b67648df9bd
--- /dev/null
+++ b/devel/immer/pkg-plist
@@ -0,0 +1,63 @@
+include/immer/algorithm.hpp
+include/immer/array.hpp
+include/immer/array_transient.hpp
+include/immer/atom.hpp
+include/immer/box.hpp
+include/immer/config.hpp
+include/immer/detail/arrays/no_capacity.hpp
+include/immer/detail/arrays/node.hpp
+include/immer/detail/arrays/with_capacity.hpp
+include/immer/detail/combine_standard_layout.hpp
+include/immer/detail/hamts/bits.hpp
+include/immer/detail/hamts/champ.hpp
+include/immer/detail/hamts/champ_iterator.hpp
+include/immer/detail/hamts/node.hpp
+include/immer/detail/iterator_facade.hpp
+include/immer/detail/rbts/bits.hpp
+include/immer/detail/rbts/node.hpp
+include/immer/detail/rbts/operations.hpp
+include/immer/detail/rbts/position.hpp
+include/immer/detail/rbts/rbtree.hpp
+include/immer/detail/rbts/rbtree_iterator.hpp
+include/immer/detail/rbts/rrbtree.hpp
+include/immer/detail/rbts/rrbtree_iterator.hpp
+include/immer/detail/rbts/visitor.hpp
+include/immer/detail/ref_count_base.hpp
+include/immer/detail/type_traits.hpp
+include/immer/detail/util.hpp
+include/immer/experimental/detail/dvektor_impl.hpp
+include/immer/experimental/dvektor.hpp
+include/immer/flex_vector.hpp
+include/immer/flex_vector_transient.hpp
+include/immer/heap/cpp_heap.hpp
+include/immer/heap/debug_size_heap.hpp
+include/immer/heap/free_list_heap.hpp
+include/immer/heap/free_list_node.hpp
+include/immer/heap/gc_heap.hpp
+include/immer/heap/heap_policy.hpp
+include/immer/heap/identity_heap.hpp
+include/immer/heap/malloc_heap.hpp
+include/immer/heap/split_heap.hpp
+include/immer/heap/tags.hpp
+include/immer/heap/thread_local_free_list_heap.hpp
+include/immer/heap/unsafe_free_list_heap.hpp
+include/immer/heap/with_data.hpp
+include/immer/lock/no_lock_policy.hpp
+include/immer/lock/spinlock_policy.hpp
+include/immer/map.hpp
+include/immer/map_transient.hpp
+include/immer/memory_policy.hpp
+include/immer/refcount/enable_intrusive_ptr.hpp
+include/immer/refcount/no_refcount_policy.hpp
+include/immer/refcount/refcount_policy.hpp
+include/immer/refcount/unsafe_refcount_policy.hpp
+include/immer/set.hpp
+include/immer/set_transient.hpp
+include/immer/table.hpp
+include/immer/table_transient.hpp
+include/immer/transience/gc_transience_policy.hpp
+include/immer/transience/no_transience_policy.hpp
+include/immer/vector.hpp
+include/immer/vector_transient.hpp
+lib/cmake/Immer/ImmerConfig.cmake
+lib/cmake/Immer/ImmerConfigVersion.cmake