commit: 16b3a7ddda0b6ba62b26268e3fe46a1926cc5148
Author: Okamura Kazuya <gentoo-guru <AT> danceylove <DOT> net>
AuthorDate: Tue Jun 27 14:56:55 2023 +0000
Commit: Okamura Kazuya <trakrailysurely <AT> danceylove <DOT> net>
CommitDate: Tue Jun 27 14:56:55 2023 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=16b3a7dd
dev-libs/lsquic: new package, add 3.2.0
Signed-off-by: Okamura Kazuya <gentoo-guru <AT> danceylove.net>
.../files/disable-lsquic-build-deps-libs.patch | 34 ++++++++++++++++++
.../files/fix-lsquic-boringssl-not-found.patch | 30 ++++++++++++++++
dev-libs/lsquic/lsquic-3.2.0.ebuild | 42 ++++++++++++++++++++++
dev-libs/lsquic/metadata.xml | 11 ++++++
4 files changed, 117 insertions(+)
diff --git a/dev-libs/lsquic/files/disable-lsquic-build-deps-libs.patch
b/dev-libs/lsquic/files/disable-lsquic-build-deps-libs.patch
new file mode 100644
index 000000000..9a9a14c95
--- /dev/null
+++ b/dev-libs/lsquic/files/disable-lsquic-build-deps-libs.patch
@@ -0,0 +1,34 @@
+--- a/src/liblsquic/CMakeLists.txt
++++ b/src/liblsquic/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ # Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE.
+ SET(lsquic_STAT_SRCS
+- ls-qpack/lsqpack.c
++# ls-qpack/lsqpack.c
+ lsquic_adaptive_cc.c
+ lsquic_alarmset.c
+ lsquic_arr.c
+@@ -100,10 +100,10 @@ IF(PROJECT_NAME STREQUAL "openlitespeed")
+ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src/spdy)
+ ELSE()
+ INCLUDE_DIRECTORIES(../lshpack)
+- SET(lsquic_STAT_SRCS ${lsquic_STAT_SRCS}
+- lsquic_xxhash.c
+- ../lshpack/lshpack.c
+- )
++# SET(lsquic_STAT_SRCS ${lsquic_STAT_SRCS}
++# lsquic_xxhash.c
++# ../lshpack/lshpack.c
++# )
+ ENDIF()
+
+ ADD_CUSTOM_COMMAND(
+@@ -119,6 +119,8 @@ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}
-DXXH_HEADER_NAME=\\\"lsquic_xxhash.h\\\"")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}
-DLSQPACK_ENC_LOGGER_HEADER=\\\"lsquic_qpack_enc_logger.h\\\"")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}
-DLSQPACK_DEC_LOGGER_HEADER=\\\"lsquic_qpack_dec_logger.h\\\"")
+
++link_libraries(ls-qpack ls-hpack)
++
+ if(NEED_LIBRT_FOR_clock_getres)
+ target_link_libraries(lsquic PRIVATE ${RT_LIBRARY})
+ endif()
diff --git a/dev-libs/lsquic/files/fix-lsquic-boringssl-not-found.patch
b/dev-libs/lsquic/files/fix-lsquic-boringssl-not-found.patch
new file mode 100644
index 000000000..691edf238
--- /dev/null
+++ b/dev-libs/lsquic/files/fix-lsquic-boringssl-not-found.patch
@@ -0,0 +1,30 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -154,7 +154,7 @@ ENDIF()
+
+ IF (NOT DEFINED BORINGSSL_INCLUDE AND DEFINED BORINGSSL_DIR)
+ FIND_PATH(BORINGSSL_INCLUDE NAMES openssl/ssl.h
+- PATHS ${BORINGSSL_DIR}/include
++ PATHS ${BORINGSSL_DIR}/include/boringssl
+ NO_DEFAULT_PATH)
+ ENDIF()
+ # This must be done before adding other include directories to take
+--- a/bin/CMakeLists.txt
++++ b/bin/CMakeLists.txt
+@@ -1,5 +1,6 @@
+ # Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE.
+
++link_directories("/usr/lib64/boringssl")
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ LIST(APPEND LIBS ${EVENT_LIB})
+
+--- a/src/liblsquic/CMakeLists.txt
++++ b/src/liblsquic/CMakeLists.txt
+@@ -94,6 +94,7 @@ IF(NOT MSVC)
+ set_source_files_properties(ls-qpack/lsqpack.c PROPERTIES COMPILE_FLAGS
${QPACK_FLAGS})
+ ENDIF()
+
++link_directories(/usr/lib64/boringssl)
+ include_directories(ls-qpack)
+
+ IF(PROJECT_NAME STREQUAL "openlitespeed")
diff --git a/dev-libs/lsquic/lsquic-3.2.0.ebuild
b/dev-libs/lsquic/lsquic-3.2.0.ebuild
new file mode 100644
index 000000000..a3942c957
--- /dev/null
+++ b/dev-libs/lsquic/lsquic-3.2.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake git-r3
+
+DESCRIPTION="LiteSpeed QUIC (LSQUIC) Library"
+HOMEPAGE="https://github.com/litespeedtech/lsquic/"
+EGIT_REPO_URI="https://github.com/litespeedtech/lsquic/"
+EGIT_COMMIT="3bbf683f25ab84826951350c57ae226c88c54422"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="static-libs"
+
+DEPEND="
+ dev-libs/boringssl-fips:=[static-libs=]
+"
+
+PATCHES=(
+ "${FILESDIR}"/disable-${PN}-build-deps-libs.patch
+ "${FILESDIR}"/fix-${PN}-boringssl-not-found.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DLSQUIC_SHARED_LIB=$(usex !static-libs)
+ -DBORINGSSL_DIR=/usr
+ -DBORINGSSL_LIB_ssl=ssl
+ -DBORINGSSL_LIB_crypto=crypto
+ )
+ cmake_src_configure
+}
+
+pkg_preinst() {
+ mkdir -p ${D}/usr/include/liblsquic/
+ cp -a ${S}/src/liblsquic/lsquic_logger.h ${D}/usr/include/liblsquic/
+ cp -a ${S}/src/liblsquic/lsquic_stock_shi.h ${D}/usr/include/liblsquic/
+ cp -a ${S}/src/liblsquic/lsquic_shared_support.h ${D}/usr/include/
+}
diff --git a/dev-libs/lsquic/metadata.xml b/dev-libs/lsquic/metadata.xml
new file mode 100644
index 000000000..a233f9e7f
--- /dev/null
+++ b/dev-libs/lsquic/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>[email protected]</email>
+ <name>Okamura Kazuya</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">litespeedtech/lsquic</remote-id>
+ </upstream>
+</pkgmetadata>