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