git: ec1346dd5701 - main - devel/frozen: Add frozen 1.2.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 17 Feb 2026 16:55:18 UTC
The branch main has been updated by sunpoet:
URL: https://cgit.FreeBSD.org/ports/commit/?id=ec1346dd57011f2c6c65204deae7a1a6b9083062
commit ec1346dd57011f2c6c65204deae7a1a6b9083062
Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2026-02-17 16:50:13 +0000
Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2026-02-17 16:50:13 +0000
devel/frozen: Add frozen 1.2.0
Frozen is a header-only library that provides 0 cost initialization for
immutable containers, fixed-size containers, and various algorithms.
Frozen provides:
- immutable (a.k.a. frozen), constexpr-compatible versions of std::set,
std::unordered_set, std::map and std::unordered_map.
- fixed-capacity, constinit-compatible versions of std::map and
std::unordered_map with immutable, compile-time selected keys mapped to
mutable values.
- 0-cost initialization version of std::search for frozen needles using
Boyer-Moore or Knuth-Morris-Pratt algorithms.
The unordered_* containers are guaranteed perfect (a.k.a. no hash collision) and
the extra storage is linear with respect to the number of keys.
Once initialized, the container keys cannot be updated, and in exchange, lookups
are faster. And initialization is free when constexpr or constinit is used :-).
---
devel/Makefile | 1 +
devel/frozen/Makefile | 24 ++++++++++++++++++++++++
devel/frozen/distinfo | 3 +++
devel/frozen/pkg-descr | 17 +++++++++++++++++
devel/frozen/pkg-plist | 20 ++++++++++++++++++++
5 files changed, 65 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index b9b11aca0b45..8cd6220042a7 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -739,6 +739,7 @@
SUBDIR += freebsd-nvme-shim
SUBDIR += freebsd-sysroot
SUBDIR += frink
+ SUBDIR += frozen
SUBDIR += fruit
SUBDIR += fsmtrie
SUBDIR += fstrcmp
diff --git a/devel/frozen/Makefile b/devel/frozen/Makefile
new file mode 100644
index 000000000000..8900c52232db
--- /dev/null
+++ b/devel/frozen/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= frozen
+PORTVERSION= 1.2.0
+CATEGORIES= devel
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Header-only, constexpr alternative to gperf for C++14 users
+WWW= https://github.com/serge-sans-paille/frozen
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake:testing compiler:c++14-lang
+
+CMAKE_OFF= frozen.benchmark \
+ frozen.coverage \
+ frozen.tests
+CMAKE_ON= frozen.installation
+CMAKE_TESTING_ON= frozen.tests
+NO_ARCH= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= serge-sans-paille
+
+.include <bsd.port.mk>
diff --git a/devel/frozen/distinfo b/devel/frozen/distinfo
new file mode 100644
index 000000000000..321c0e8e3f15
--- /dev/null
+++ b/devel/frozen/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1771105000
+SHA256 (serge-sans-paille-frozen-1.2.0_GH0.tar.gz) = ed8339c017d7c5fe019ac2c642477f435278f0dc643c1d69d3f3b1e95915e823
+SIZE (serge-sans-paille-frozen-1.2.0_GH0.tar.gz) = 187169
diff --git a/devel/frozen/pkg-descr b/devel/frozen/pkg-descr
new file mode 100644
index 000000000000..09d0897c66bc
--- /dev/null
+++ b/devel/frozen/pkg-descr
@@ -0,0 +1,17 @@
+Frozen is a header-only library that provides 0 cost initialization for
+immutable containers, fixed-size containers, and various algorithms.
+
+Frozen provides:
+- immutable (a.k.a. frozen), constexpr-compatible versions of std::set,
+ std::unordered_set, std::map and std::unordered_map.
+- fixed-capacity, constinit-compatible versions of std::map and
+ std::unordered_map with immutable, compile-time selected keys mapped to
+ mutable values.
+- 0-cost initialization version of std::search for frozen needles using
+ Boyer-Moore or Knuth-Morris-Pratt algorithms.
+
+The unordered_* containers are guaranteed perfect (a.k.a. no hash collision) and
+the extra storage is linear with respect to the number of keys.
+
+Once initialized, the container keys cannot be updated, and in exchange, lookups
+are faster. And initialization is free when constexpr or constinit is used :-).
diff --git a/devel/frozen/pkg-plist b/devel/frozen/pkg-plist
new file mode 100644
index 000000000000..b741e73478a7
--- /dev/null
+++ b/devel/frozen/pkg-plist
@@ -0,0 +1,20 @@
+include/frozen/algorithm.h
+include/frozen/bits/algorithms.h
+include/frozen/bits/basic_types.h
+include/frozen/bits/constexpr_assert.h
+include/frozen/bits/defines.h
+include/frozen/bits/elsa.h
+include/frozen/bits/elsa_std.h
+include/frozen/bits/exceptions.h
+include/frozen/bits/hash_string.h
+include/frozen/bits/mpl.h
+include/frozen/bits/pmh.h
+include/frozen/bits/version.h
+include/frozen/map.h
+include/frozen/random.h
+include/frozen/set.h
+include/frozen/string.h
+include/frozen/unordered_map.h
+include/frozen/unordered_set.h
+share/cmake/frozen/frozenConfig.cmake
+share/cmake/frozen/frozenConfigVersion.cmake