summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/README.Debian6
-rw-r--r--debian/changelog19
-rw-r--r--debian/control38
-rw-r--r--debian/copyright33
-rw-r--r--debian/frozen-dev.dirs2
-rw-r--r--debian/frozen-dev.install4
-rw-r--r--debian/frozen-docs.docs2
-rw-r--r--debian/frozen1.dirs1
-rw-r--r--debian/frozen1.install1
-rw-r--r--debian/patches/079f73cc5c6413127d47f325cbb34a607e2cb030.patch37
-rw-r--r--debian/patches/cstdint.diff18
-rw-r--r--debian/patches/no-werror.diff19
-rw-r--r--debian/patches/series3
-rwxr-xr-xdebian/rules5
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/include-binaries27
-rw-r--r--debian/upstream/metadata.ex10
17 files changed, 226 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..0273f7f
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,6 @@
+frozen for Debian
+----------------
+
+<Possible notes regarding this package - if none, delete this file.>
+
+ -- Rene Engelhard <rene@debian.org> Sat, 17 Jun 2023 12:56:22 +0200
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..f6bb3d4
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,19 @@
+frozen (1.1.1-3) unstable; urgency=medium
+
+ * debian/patches/no-werror.diff: don't use -Werror
+ * debian/patches/cstdint.diff: add missing #include <cstdint> to fix
+ build of the tests with gcc 13
+
+ -- Rene Engelhard <rene@debian.org> Mon, 24 Jul 2023 22:02:12 +0000
+
+frozen (1.1.1-2) unstable; urgency=medium
+
+ * source-only upload to allow testing migration
+
+ -- Rene Engelhard <rene@debian.org> Mon, 24 Jul 2023 19:19:38 +0000
+
+frozen (1.1.1-1) unstable; urgency=medium
+
+ * Initial release.
+
+ -- Rene Engelhard <rene@debian.org> Sat, 17 Jun 2023 19:36:24 +0000
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..e7e46c9
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,38 @@
+Source: frozen
+Section: libs
+Priority: optional
+Maintainer: Rene Engelhard <rene@debian.org>
+Rules-Requires-Root: no
+Build-Depends:
+ debhelper-compat (= 13),
+ cmake,
+Standards-Version: 4.6.2
+Homepage: https://github.com/serge-sans-paille/frozen
+
+Package: libfrozen-dev
+Section: libdevel
+Architecture: all
+Depends:
+ ${misc:Depends},
+Description: library for immutable and fixed-size containers
+ 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.
+ .
+ This package contains the necessary headers.
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..4be3d9f
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,33 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: https://github.com/serge-sans-paille/frozen/tags
+Upstream-Name: frozen
+Upstream-Contact: Serge sans Paille <serge.guelton@telecom-bretagne.eu>
+
+Files:
+ *
+Copyright: Copyright 2017 Quarkslab
+License: Apache-2.0
+ On Debian systems the full text of the Apache License version 2.0 can be found
+ in /usr/share/common-licenses
+
+Files:
+ debian/*
+Copyright:
+ 2023 Rene Engelhard <rene@debian.org>
+License: GPL-2+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>
+Comment:
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+
diff --git a/debian/frozen-dev.dirs b/debian/frozen-dev.dirs
new file mode 100644
index 0000000..4418816
--- /dev/null
+++ b/debian/frozen-dev.dirs
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
diff --git a/debian/frozen-dev.install b/debian/frozen-dev.install
new file mode 100644
index 0000000..61c9409
--- /dev/null
+++ b/debian/frozen-dev.install
@@ -0,0 +1,4 @@
+usr/include/*
+usr/lib/*/lib*.so
+usr/lib/*/pkgconfig/*
+usr/share/pkgconfig/*
diff --git a/debian/frozen-docs.docs b/debian/frozen-docs.docs
new file mode 100644
index 0000000..7319041
--- /dev/null
+++ b/debian/frozen-docs.docs
@@ -0,0 +1,2 @@
+README.source
+README.Debian
diff --git a/debian/frozen1.dirs b/debian/frozen1.dirs
new file mode 100644
index 0000000..6845771
--- /dev/null
+++ b/debian/frozen1.dirs
@@ -0,0 +1 @@
+usr/lib
diff --git a/debian/frozen1.install b/debian/frozen1.install
new file mode 100644
index 0000000..3ddde58
--- /dev/null
+++ b/debian/frozen1.install
@@ -0,0 +1 @@
+usr/lib/*/lib*.so.*
diff --git a/debian/patches/079f73cc5c6413127d47f325cbb34a607e2cb030.patch b/debian/patches/079f73cc5c6413127d47f325cbb34a607e2cb030.patch
new file mode 100644
index 0000000..1ce542e
--- /dev/null
+++ b/debian/patches/079f73cc5c6413127d47f325cbb34a607e2cb030.patch
@@ -0,0 +1,37 @@
+From 079f73cc5c6413127d47f325cbb34a607e2cb030 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
+Date: Fri, 16 Dec 2022 22:58:51 +0100
+Subject: [PATCH] Workaround gcc 11 limitation
+
+For some reason, gcc sees a constexpr violation here. Trust clang and msvc on this.
+---
+ include/frozen/unordered_set.h | 2 +-
+ tests/test_unordered_set.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/frozen/unordered_set.h b/include/frozen/unordered_set.h
+index 4d16df9..196ea50 100644
+--- a/include/frozen/unordered_set.h
++++ b/include/frozen/unordered_set.h
+@@ -105,7 +105,7 @@ class unordered_set {
+ /* lookup */
+ template <class KeyType, class Hasher, class Equal>
+ constexpr std::size_t count(KeyType const &key, Hasher const &hash, Equal const &equal) const {
+- auto const k = lookup(key, hash);
++ auto const & k = lookup(key, hash);
+ return equal(k, key);
+ }
+ template <class KeyType>
+diff --git a/tests/test_unordered_set.cpp b/tests/test_unordered_set.cpp
+index e90a0d4..042c1a8 100644
+--- a/tests/test_unordered_set.cpp
++++ b/tests/test_unordered_set.cpp
+@@ -65,7 +65,7 @@ TEST_CASE("tripleton str frozen unordered set", "[unordered set]") {
+ constexpr auto max_size = ze_set.max_size();
+ REQUIRE(max_size == 3);
+
+- constexpr auto nocount = ze_set.count(4);
++ const auto nocount = ze_set.count(4);
+ REQUIRE(nocount == 0);
+
+ constexpr auto count = ze_set.count(1);
diff --git a/debian/patches/cstdint.diff b/debian/patches/cstdint.diff
new file mode 100644
index 0000000..c4cbb7f
--- /dev/null
+++ b/debian/patches/cstdint.diff
@@ -0,0 +1,18 @@
+Description: fix build with gcc 13
+Author: Rene Engelhard <rene@debian.org>
+
+---
+Origin: vendor
+Forwarded: no
+Last-Update: 2023-07-24
+
+--- frozen-1.1.1.orig/include/frozen/bits/pmh.h
++++ frozen-1.1.1/include/frozen/bits/pmh.h
+@@ -29,6 +29,7 @@
+
+ #include <array>
+ #include <limits>
++#include <cstdint>
+
+ namespace frozen {
+
diff --git a/debian/patches/no-werror.diff b/debian/patches/no-werror.diff
new file mode 100644
index 0000000..8f1e911
--- /dev/null
+++ b/debian/patches/no-werror.diff
@@ -0,0 +1,19 @@
+Description: don't use -Werror
+Author: Rene Engelhard <rene@debian.org>
+
+---
+Origin: vendor
+Forwarded: no
+Last-Update: 2023-07-24
+
+--- frozen-1.1.1.orig/tests/CMakeLists.txt
++++ frozen-1.1.1/tests/CMakeLists.txt
+@@ -28,7 +28,7 @@ string(CONCAT generator
+ "$<$<OR:$<CXX_COMPILER_ID:GNU>"
+ ",$<CXX_COMPILER_ID:Clang>"
+ ",$<CXX_COMPILER_ID:AppleClang>>"
+- ":-Wall;-Wextra;-Wpedantic;-Werror;-Wshadow;"
++ ":-Wall;-Wextra;-Wpedantic;-Wshadow;"
+ "$<$<BOOL:${frozen.coverage}>:--coverage>>"
+ "$<$<CXX_COMPILER_ID:Intel>:"
+ "$<$<PLATFORM_ID:Windows>:/W3;/WX;>"
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..5458708
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+079f73cc5c6413127d47f325cbb34a607e2cb030.patch
+cstdint.diff
+no-werror.diff
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..abde6ef
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,5 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
+
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
new file mode 100644
index 0000000..c4f1ed0
--- /dev/null
+++ b/debian/source/include-binaries
@@ -0,0 +1,27 @@
+obj-x86_64-linux-gnu/CMakeFiles/3.27.0/CMakeDetermineCompilerABI_CXX.bin
+obj-x86_64-linux-gnu/CMakeFiles/3.27.0/CompilerIdCXX/a.out
+obj-x86_64-linux-gnu/examples/CMakeFiles/frozen.example.enum_to_string.dir/enum_to_string.cpp.o
+obj-x86_64-linux-gnu/examples/CMakeFiles/frozen.example.enum_to_string_hash.dir/enum_to_string_hash.cpp.o
+obj-x86_64-linux-gnu/examples/CMakeFiles/frozen.example.pixel_art.dir/pixel_art.cpp.o
+obj-x86_64-linux-gnu/examples/CMakeFiles/frozen.example.static_assert.dir/static_assert.cpp.o
+obj-x86_64-linux-gnu/examples/CMakeFiles/frozen.example.value_modification.dir/value_modification.cpp.o
+obj-x86_64-linux-gnu/examples/frozen.example.enum_to_string
+obj-x86_64-linux-gnu/examples/frozen.example.enum_to_string_hash
+obj-x86_64-linux-gnu/examples/frozen.example.pixel_art
+obj-x86_64-linux-gnu/examples/frozen.example.static_assert
+obj-x86_64-linux-gnu/examples/frozen.example.value_modification
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_algorithms.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_elsa_std.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_main.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_map.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_rand.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_set.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_str.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_str_set.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_unordered_map.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_unordered_map_str.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_unordered_set.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/frozen.tests.dir/test_unordered_str_set.cpp.o
+obj-x86_64-linux-gnu/tests/CMakeFiles/test_no_expections.dir/no_exceptions.cpp.o
+obj-x86_64-linux-gnu/tests/frozen.tests
+obj-x86_64-linux-gnu/tests/test_no_expections
diff --git a/debian/upstream/metadata.ex b/debian/upstream/metadata.ex
new file mode 100644
index 0000000..bb5cef4
--- /dev/null
+++ b/debian/upstream/metadata.ex
@@ -0,0 +1,10 @@
+# Example file for upstream/metadata.
+# See https://wiki.debian.org/UpstreamMetadata for more info/fields.
+# Below an example based on a github project.
+
+# Bug-Database: https://github.com/<user>/frozen/issues
+# Bug-Submit: https://github.com/<user>/frozen/issues/new
+# Changelog: https://github.com/<user>/frozen/blob/master/CHANGES
+# Documentation: https://github.com/<user>/frozen/wiki
+# Repository-Browse: https://github.com/<user>/frozen
+# Repository: https://github.com/<user>/frozen.git