summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/ls-qpack/Manifest1
-rw-r--r--dev-libs/ls-qpack/files/ls-qpack-2.6.1-test.patch39
-rw-r--r--dev-libs/ls-qpack/ls-qpack-2.6.1.ebuild45
-rw-r--r--dev-libs/ls-qpack/metadata.xml11
4 files changed, 96 insertions, 0 deletions
diff --git a/dev-libs/ls-qpack/Manifest b/dev-libs/ls-qpack/Manifest
new file mode 100644
index 000000000000..a82413ad06d9
--- /dev/null
+++ b/dev-libs/ls-qpack/Manifest
@@ -0,0 +1 @@
+DIST ls-qpack-2.6.1.gh.tar.gz 709629 BLAKE2B 57af4c243560f166d0fad6a1ee88a35c2a51299fe14534f862f4acd9b58206b9d11473c68fbb09096cf7298e4809bf487d0c823e1fb7b9cace829463347865ab SHA512 2ca90df7660b315a61a657f7b1f56ac5706ad51fe3edaa07b0cc24405a4c691419f2ae17315d9ad6cb13779ed5d6714b3cd932c670b4d571c6bf1dde10540f84
diff --git a/dev-libs/ls-qpack/files/ls-qpack-2.6.1-test.patch b/dev-libs/ls-qpack/files/ls-qpack-2.6.1-test.patch
new file mode 100644
index 000000000000..6d9baa717cba
--- /dev/null
+++ b/dev-libs/ls-qpack/files/ls-qpack-2.6.1-test.patch
@@ -0,0 +1,39 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index eacec4f..c0f063e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -118,7 +118,8 @@ if(LSQPACK_TESTS)
+ add_subdirectory(test)
+ endif()
+
+-if(LSQPACK_BIN)
++# The executables are used within the test suite as well.
++if(LSQPACK_BIN OR LSQPACK_TESTS)
+ add_subdirectory(bin)
+ endif()
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index f7002d3..e658e13 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -1,3 +1,5 @@
++add_compile_definitions("TEST_DATA=\"${CMAKE_CURRENT_SOURCE_DIR}/testdata\"")
++
+ function(lsqpack_add_test TARGET)
+ add_executable(test_${TARGET} "")
+ target_sources(test_${TARGET} PRIVATE test_${TARGET}.c)
+diff --git a/test/test_dyn_table_cap_mismatch.c b/test/test_dyn_table_cap_mismatch.c
+index 71975d8..73a8cee 100644
+--- a/test/test_dyn_table_cap_mismatch.c
++++ b/test/test_dyn_table_cap_mismatch.c
+@@ -36,8 +36,8 @@ int main(int argc, const char * argv[]) {
+ size_t size = 0;
+ if (!encoder_stream)
+ {
+- encoder_stream = fopen("../../test/testdata/encoder_stream", "r");
+- response = fopen("../../test/testdata/response", "r");
++ encoder_stream = fopen(TEST_DATA "/encoder_stream", "r");
++ response = fopen(TEST_DATA "/response", "r");
+ }
+ while ((size = fread(buffer, 1, sizeof(buffer), encoder_stream)) > 0) {
+ lsqpack_dec_enc_in(&qpackDecoder, buffer, size);
diff --git a/dev-libs/ls-qpack/ls-qpack-2.6.1.ebuild b/dev-libs/ls-qpack/ls-qpack-2.6.1.ebuild
new file mode 100644
index 000000000000..ef3ab385c803
--- /dev/null
+++ b/dev-libs/ls-qpack/ls-qpack-2.6.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="QPACK compression library for use with HTTP/3"
+HOMEPAGE="https://github.com/litespeedtech/ls-qpack/"
+SRC_URI="
+ https://github.com/litespeedtech/ls-qpack/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0/2"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/xxhash:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ # https://github.com/litespeedtech/ls-qpack/pull/78
+ # https://github.com/litespeedtech/ls-qpack/pull/79
+ "${FILESDIR}/${P}-test.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ # no support for shared + static both
+ -DBUILD_SHARED_LIBS=ON
+ # these are only test helpers
+ -DLSQPACK_BIN=OFF
+ -DLSQPACK_TESTS=$(usex test)
+ # use system xxhash
+ -DLSQPACK_XXH=OFF
+ )
+ cmake_src_configure
+}
diff --git a/dev-libs/ls-qpack/metadata.xml b/dev-libs/ls-qpack/metadata.xml
new file mode 100644
index 000000000000..bb2e8930bdc5
--- /dev/null
+++ b/dev-libs/ls-qpack/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">litespeedtech/ls-qpack</remote-id>
+ </upstream>
+</pkgmetadata>