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>gentoo-g...@danceylove.net</email>
+    <name>Okamura Kazuya</name>
+  </maintainer>
+  <upstream>
+    <remote-id type="github">litespeedtech/lsquic</remote-id>
+  </upstream>
+</pkgmetadata>

Reply via email to