commit:     05d5aa0bb502f733cfa1193cb7d2795b663d8aa0
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 22 08:27:56 2022 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Mon Aug 22 08:27:56 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05d5aa0b

net-libs/libwebsockets: Add extensions support

Closes: https://bugs.gentoo.org/842237
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 .../libwebsockets/libwebsockets-4.3.2-r1.ebuild    | 82 ++++++++++++++++++++++
 net-libs/libwebsockets/metadata.xml                |  1 +
 2 files changed, 83 insertions(+)

diff --git a/net-libs/libwebsockets/libwebsockets-4.3.2-r1.ebuild 
b/net-libs/libwebsockets/libwebsockets-4.3.2-r1.ebuild
new file mode 100644
index 000000000000..ecf9ae1c9aed
--- /dev/null
+++ b/net-libs/libwebsockets/libwebsockets-4.3.2-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A flexible pure-C library for implementing network protocols"
+HOMEPAGE="https://libwebsockets.org/";
+SRC_URI="https://github.com/warmcat/libwebsockets/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/19" # libwebsockets.so.19
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="access-log caps cgi client dbus extensions generic-sessions http-proxy 
http2 ipv6
+       +lejp libev libevent libuv mbedtls peer-limits server-status smtp socks5
+       sqlite3 ssl threads zip"
+
+REQUIRED_USE="
+       access-log? ( http2 )
+       generic-sessions? ( smtp sqlite3 )
+       http-proxy? ( client )
+       mbedtls? ( ssl )
+       smtp? ( libuv )
+       socks5? ( client http-proxy )
+       ?? ( libev libevent )"
+
+RDEPEND="
+       sys-libs/zlib
+       caps? ( sys-libs/libcap )
+       dbus? ( sys-apps/dbus )
+       http-proxy? ( net-libs/libhubbub )
+       libev? ( dev-libs/libev )
+       libevent? ( dev-libs/libevent:= )
+       libuv? ( dev-libs/libuv:= )
+       sqlite3? ( dev-db/sqlite:= )
+       ssl? (
+               !mbedtls? ( dev-libs/openssl:0= )
+               mbedtls? ( net-libs/mbedtls:= )
+       )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       dev-lang/perl
+       virtual/pkgconfig"
+
+src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
+               -DDISABLE_WERROR=ON
+               -DLWS_BUILD_HASH="unknown"
+               -DLWS_HAVE_LIBCAP=$(usex caps)
+               -DLWS_IPV6=$(usex ipv6)
+               -DLWS_ROLE_DBUS=$(usex dbus)
+               -DLWS_WITHOUT_CLIENT=$(usex !client)
+               -DLWS_WITHOUT_TEST_CLIENT=$(usex !client)
+               -DLWS_WITH_ACCESS_LOG=$(usex access-log)
+               -DLWS_WITH_CGI=$(usex cgi)
+               -DLWS_WITH_GENERIC_SESSIONS=$(usex generic-sessions)
+               -DLWS_WITH_HTTP2=$(usex http2)
+               -DLWS_WITH_HTTP_PROXY=$(usex http-proxy)
+               -DLWS_WITH_HUBBUB=$(usex http-proxy)
+               -DLWS_WITH_LEJP=$(usex lejp)
+               -DLWS_WITH_LIBEV=$(usex libev)
+               -DLWS_WITH_LIBEVENT=$(usex libevent)
+               -DLWS_WITH_LIBUV=$(usex libuv)
+               -DLWS_WITH_MBEDTLS=$(usex mbedtls)
+               -DLWS_WITH_PEER_LIMITS=$(usex peer-limits)
+               -DLWS_WITH_SERVER_STATUS=$(usex server-status)
+               -DLWS_WITH_SMTP=$(usex smtp)
+               -DLWS_WITH_SOCKS5=$(usex socks5)
+               -DLWS_WITH_SQLITE3=$(usex sqlite3)
+               -DLWS_WITH_SSL=$(usex ssl)
+               -DLWS_WITH_STATIC=OFF
+               -DLWS_WITH_STRUCT_JSON=$(usex lejp)
+               -DLWS_WITH_THREADPOOL=$(usex threads)
+               -DLWS_WITH_ZIP_FOPS=$(usex zip)
+               -DLWS_WITHOUT_EXTENSIONS=$(usex !extensions)
+               -DLWS_WITHOUT_TESTAPPS=ON
+       )
+
+       cmake_src_configure
+}

diff --git a/net-libs/libwebsockets/metadata.xml 
b/net-libs/libwebsockets/metadata.xml
index 774bc8b7eede..af93385276ff 100644
--- a/net-libs/libwebsockets/metadata.xml
+++ b/net-libs/libwebsockets/metadata.xml
@@ -16,6 +16,7 @@
        <use>
                <flag name="access-log">Support generating Apache-compatible 
access logs</flag>
                <flag name="client">The client part of the library and 
libwebsockets-test-client</flag>
+               <flag name="extensions">Compile with extensions 
(permessage-deflate)</flag>
                <flag name="generic-sessions">With the Generic Sessions 
plugin</flag>
                <flag name="http2">Support the HTTP/2 protocol</flag>
                <flag name="http-proxy">Support for rewriting HTTP 
proxying</flag>

Reply via email to