From nobody Tue Feb 17 16:55:18 2026 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fFm3W0SgPz6QTGN for ; Tue, 17 Feb 2026 16:55:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fFm3V5ML9z48j7 for ; Tue, 17 Feb 2026 16:55:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771347318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XtPX+Kx1bE5nyBa3/7cQR9ZvlvZkCFzCSvQIQjMQrps=; b=CkWP3LR1JvgEAv/FgVIWAzroDORJJ0TDaKlD78xyR+2B0nZBOvdRSRs3vNqY4Tsx3YouLr b4Zo7nXolfh8cb0Hnqug4iU+VPXhykDll1fnI6Ja/uOSzFyJUV1umJHcOsxWd76Y2hZVYZ JWhFOnJtheWhFwc3O0k5vYc0oz7c9ElQypzPUezEJaoKb16HvG8AZFXazrvA2SUqBFFGp4 4sizVXv/Ci5L3vynXXyLMgXQ8Ydlbn3MAIB6xHU63p9qiCm1TRUTdvmRuV9VQTlzKyC2HC 8lLmc34JZ4KLYMX1yfk8oX52wvWvQ362btrpM4QlEZUGF8iGn2IMeq7AgdS+pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771347318; a=rsa-sha256; cv=none; b=qUpQ4oLQNlEOFGR/uzb5vfZa7WQ+w5wQZye4IYvI6flcl6ELUG008Okf9vRLiPJOlnbl+J gZZJ4Z76JkDr6mNVJqi5zTAAIAh5FnWH8ptA8TvoJet0LrR0YkXfkWvtV/0nB0NPbY4Lxh MxwMvtbcDxgMLb1noQ7zg9bVXCPB1Z+iQINSacij6/hpH3WoD/kihHBbNATNgPUzNHiRiQ 1KNdAKRRiNU56A2iFfL5MHAFqrql+HQxYaWrmYTk2sYZ/w5Hgctar0wBmBKrmoupMUy9Z5 B7hX7EEzHOEzwafkD/vhMN+/0k9lGMDC3MZQwvjMW2MCCObuba9OeINYhBQtew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771347318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XtPX+Kx1bE5nyBa3/7cQR9ZvlvZkCFzCSvQIQjMQrps=; b=GBdupWSUMReoU6k0fWytIpWPQRPRZwjhctgwPG1UoJH3cWa9VTuS+I8nOD5I4SKRCP4U0O fP0LY4eptMnR4IXfcRPSv2qDwl+WXrbGWOed7HnI6gFwvYO1aaVLY9xEGITCEy721QW8BT 4KDgRY/3HifJmAKo3cHbjf4FRttvY+e4qwKI+7Ench6c06zGFVwtlHx+ZmHAMP+3TGu5iL 82GQ/o4000//OV7vCX51bkAVlFfV9MCUXD2p1/iRQJ6ewyrlc9MMjF5L5gsnb1jBkDmqAr qrabO8M+b3jOZ/xrBmXScBXgi6qbiPXIRCmoMVJ29uA4nhWhSIUXPMWYdvt+oQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fFm3V48z4z3cJ for ; Tue, 17 Feb 2026 16:55:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25cde by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 17 Feb 2026 16:55:18 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: ec1346dd5701 - main - devel/frozen: Add frozen 1.2.0 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ec1346dd57011f2c6c65204deae7a1a6b9083062 Auto-Submitted: auto-generated Date: Tue, 17 Feb 2026 16:55:18 +0000 Message-Id: <69949d76.25cde.882f7d@gitrepo.freebsd.org> The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=ec1346dd57011f2c6c65204deae7a1a6b9083062 commit ec1346dd57011f2c6c65204deae7a1a6b9083062 Author: Po-Chuan Hsieh AuthorDate: 2026-02-17 16:50:13 +0000 Commit: Po-Chuan Hsieh 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 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