git: 7a57329645f1 - main - net/libwebsockets: Update to 4.3.2

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Thu, 16 Feb 2023 06:52:03 UTC
The branch main has been updated by diizzy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7a57329645f1189d8708f3624f59cd6115c0c706

commit 7a57329645f1189d8708f3624f59cd6115c0c706
Author:     Daniel Engberg <diizzy@FreeBSD.org>
AuthorDate: 2023-02-16 06:32:10 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2023-02-16 06:33:40 +0000

    net/libwebsockets: Update to 4.3.2
    
    Adjust configuration options to closer match other distributions and
    also upstream's recommendations. Mosquitto also requires
    LWS_WITH_EXTERNAL_POLL to be enabled when linked with this library.
    
    Enable following options:
    LWS_WITH_DISKCACHE, LWS_WITH_FTS, LWS_WITH_RANGES, LWS_WITH_THREADPOOL
    and (LWS_WITH_EXTERNAL_POLL via MQTT option). Use SHA1 via OpenSSL
    (LWS_WITHOUT_BUILTIN_SHA1)
    
    While at also adjust .cmake and .pc files to properly report version
    
    Changelog: https://github.com/warmcat/libwebsockets/blob/v4.3.0/changelog
    https://github.com/warmcat/libwebsockets/compare/v4.3.0...v4.3.2
    
    PR:             262552
    Reported by:    Leo Schneider <ttkdroid@gmail.com>
    Tested by:      Rod Morgan <rmorgan@portmorgan.com>
---
 net/libwebsockets/Makefile                         | 15 +++++----
 net/libwebsockets/distinfo                         |  6 ++--
 ...tch-cmake_libwebsockets-config-version.cmake.in |  8 +++++
 net/libwebsockets/files/patch-lib_CMakeLists.txt   | 38 ++++++++++++++++++++++
 net/libwebsockets/pkg-plist                        |  6 +++-
 5 files changed, 62 insertions(+), 11 deletions(-)

diff --git a/net/libwebsockets/Makefile b/net/libwebsockets/Makefile
index 4b73d06f7957..639b07bfdeaf 100644
--- a/net/libwebsockets/Makefile
+++ b/net/libwebsockets/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	libwebsockets
 DISTVERSIONPREFIX=	v
-DISTVERSION=	4.2.2
-PORTREVISION=	1
+DISTVERSION=	4.3.2
 CATEGORIES=	net devel
 MASTER_SITES=	https://libwebsockets.org/git/libwebsockets/snapshot/
 
@@ -15,9 +14,13 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 USES=		cmake localbase pkgconfig tar:xz
 USE_LDCONFIG=	yes
 
+BUILDINFO=	${HOSTARCH}-portbld-${OPSYS:tl}-${OSREL:R}
+
 CMAKE_ARGS=	-DLWS_BUILD_HASH:STRING="${BUILDINFO}"
 CMAKE_ON=	CMAKE_DISABLE_FIND_PACKAGE_Git \
-		LWS_IPV6 LWS_WITH_SSL LWS_WITH_ZLIB \
+		LWS_WITH_DISKCACHE LWS_WITH_FTS LWS_IPV6 LWS_WITH_RANGES \
+		LWS_WITH_SSL LWS_WITH_THREADPOOL LWS_WITH_ZLIB \
+		LWS_WITHOUT_BUILTIN_SHA1 \
 		LWS_WITHOUT_TESTAPPS LWS_WITHOUT_TEST_SERVER \
 		LWS_WITHOUT_TEST_SERVER_EXTPOLL \
 		LWS_WITHOUT_TEST_PING LWS_WITHOUT_TEST_CLIENT
@@ -45,7 +48,7 @@ LIBUV_DESC=		Asynchronous I/O support via libuv
 
 HTTP_PROXY_CMAKE_BOOL=	LWS_WITH_HTTP_PROXY
 HTTP2_CMAKE_BOOL=	LWS_WITH_HTTP2
-MQTT_CMAKE_BOOL=	LWS_ROLE_MQTT
+MQTT_CMAKE_BOOL=	LWS_ROLE_MQTT LWS_WITH_EXTERNAL_POLL
 PEERLIMITS_CMAKE_BOOL=	LWS_WITH_PEER_LIMITS
 PLUGINS_CMAKE_BOOL=	LWS_WITH_PLUGINS \
 			LWS_WITH_PLUGINS_API
@@ -77,13 +80,11 @@ LIBEVENT_CMAKE_BOOL=	LWS_WITH_LIBEVENT
 LIBUV_LIB_DEPENDS=	libuv.so:devel/libuv
 LIBUV_CMAKE_BOOL=	LWS_WITH_LIBUV
 
-BUILDINFO=	${HOSTARCH}-portbld-${OPSYS:tl}-${OSREL:R}
-
 .include <bsd.port.options.mk>
 
 # Allow usage of LibreSSL via OPENSSL option
 .if ${PORT_OPTIONS:MOPENSSL} && ${SSL_DEFAULT} == libressl
-CMAKE_ARGS+=            -DLWS_OPENSSL_LIBRARIES='${OPENSSLLIB}/libtls.so;${OPENSSLLIB}/libssl.so;${OPENSSLLIB}/libcrypto.so' -DLWS_OPENSSL_INCLUDE_DIRS=${OPENSSLINC}/ssl
+CMAKE_ARGS+=	-DLWS_OPENSSL_LIBRARIES='${OPENSSLLIB}/libtls.so;${OPENSSLLIB}/libssl.so;${OPENSSLLIB}/libcrypto.so' -DLWS_OPENSSL_INCLUDE_DIRS=${OPENSSLINC}/ssl
 .endif
 
 .include <bsd.port.mk>
diff --git a/net/libwebsockets/distinfo b/net/libwebsockets/distinfo
index 381779501270..d2460b3de794 100644
--- a/net/libwebsockets/distinfo
+++ b/net/libwebsockets/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1633420177
-SHA256 (libwebsockets-v4.2.2.tar.xz) = 0d8cf2abeea4a6ad24935c60a26120ed864fb263dd95b6abf7d19356b7095410
-SIZE (libwebsockets-v4.2.2.tar.xz) = 12769280
+TIMESTAMP = 1676237078
+SHA256 (libwebsockets-v4.3.2.tar.xz) = 287ad6f63344323c4e2404d2ab3a8a0803932d554c724aaffbb1e8fe2e5e9243
+SIZE (libwebsockets-v4.3.2.tar.xz) = 13598720
diff --git a/net/libwebsockets/files/patch-cmake_libwebsockets-config-version.cmake.in b/net/libwebsockets/files/patch-cmake_libwebsockets-config-version.cmake.in
new file mode 100644
index 000000000000..9566f8f72cd6
--- /dev/null
+++ b/net/libwebsockets/files/patch-cmake_libwebsockets-config-version.cmake.in
@@ -0,0 +1,8 @@
+--- cmake/libwebsockets-config-version.cmake.in.orig	1970-01-01 00:00:00 UTC
++++ cmake/libwebsockets-config-version.cmake.in
+@@ -1,4 +1,4 @@
+-set(PACKAGE_VERSION "@CPACK_PACKAGE_VERSION@")
++set(PACKAGE_VERSION "@CPACK_PACKAGE_VERSION_MAJOR@.@CPACK_PACKAGE_VERSION_MINOR@.@CPACK_PACKAGE_VERSION_PATCH_NUMBER@")
+ 
+ # Check whether the requested PACKAGE_FIND_VERSION is compatible
+ if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
diff --git a/net/libwebsockets/files/patch-lib_CMakeLists.txt b/net/libwebsockets/files/patch-lib_CMakeLists.txt
new file mode 100644
index 000000000000..7e684131fabb
--- /dev/null
+++ b/net/libwebsockets/files/patch-lib_CMakeLists.txt
@@ -0,0 +1,38 @@
+--- lib/CMakeLists.txt.orig	2023-02-14 23:28:15 UTC
++++ lib/CMakeLists.txt
+@@ -316,7 +316,7 @@ includedir=\${prefix}/include
+ 
+ Name: libwebsockets
+ Description: Websockets server and client library
+-Version: ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}
++Version: ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH_NUMBER}
+ 
+ Libs: -L\${libdir} -lwebsockets
+ Cflags: -I\${includedir}
+@@ -328,7 +328,7 @@ endif()
+ 
+ 
+ 	install(FILES "${PROJECT_BINARY_DIR}/libwebsockets.pc"
+-		DESTINATION lib${LIB_SUFFIX}/pkgconfig)
++		DESTINATION libdata/pkgconfig)
+ 
+ file(WRITE "${PROJECT_BINARY_DIR}/libwebsockets_static.pc"
+ "prefix=\"${CMAKE_INSTALL_PREFIX}\"
+@@ -338,7 +338,7 @@ includedir=\${prefix}/include
+ 
+ Name: libwebsockets_static
+ Description: Websockets server and client static library
+-Version: ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}
++Version: ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH_NUMBER}
+ 
+ Libs: -L\${libdir} -l:libwebsockets${CMAKE_STATIC_LIBRARY_SUFFIX}
+ Libs.private:
+@@ -352,7 +352,7 @@ endif()
+ 
+ 
+ 	install(FILES "${PROJECT_BINARY_DIR}/libwebsockets_static.pc"
+-		DESTINATION lib${LIB_SUFFIX}/pkgconfig)
++		DESTINATION libdata/pkgconfig)
+ 
+ endif(UNIX OR MINGW)
+ 
diff --git a/net/libwebsockets/pkg-plist b/net/libwebsockets/pkg-plist
index f3933d39f15c..cbe09a5b2282 100644
--- a/net/libwebsockets/pkg-plist
+++ b/net/libwebsockets/pkg-plist
@@ -11,11 +11,13 @@ include/libwebsockets/lws-async-dns.h
 include/libwebsockets/lws-bb-i2c.h
 include/libwebsockets/lws-bb-spi.h
 include/libwebsockets/lws-button.h
+include/libwebsockets/lws-cache-ttl.h
 include/libwebsockets/lws-callbacks.h
 include/libwebsockets/lws-cgi.h
 include/libwebsockets/lws-client.h
 include/libwebsockets/lws-conmon.h
 include/libwebsockets/lws-context-vhost.h
+include/libwebsockets/lws-cose.h
 include/libwebsockets/lws-dbus.h
 include/libwebsockets/lws-diskcache.h
 include/libwebsockets/lws-display.h
@@ -38,10 +40,12 @@ include/libwebsockets/lws-jose.h
 include/libwebsockets/lws-jwe.h
 include/libwebsockets/lws-jwk.h
 include/libwebsockets/lws-jws.h
+include/libwebsockets/lws-lecp.h
 include/libwebsockets/lws-led.h
 include/libwebsockets/lws-lejp.h
 include/libwebsockets/lws-logs.h
 include/libwebsockets/lws-lwsac.h
+include/libwebsockets/lws-map.h
 include/libwebsockets/lws-metrics.h
 include/libwebsockets/lws-misc.h
 include/libwebsockets/lws-mqtt.h
@@ -91,7 +95,7 @@ lib/cmake/libwebsockets/libwebsockets-config.cmake
 %%LIBUV%%lib/libwebsockets-evlib_uv.so
 lib/libwebsockets.a
 lib/libwebsockets.so
-lib/libwebsockets.so.18
+lib/libwebsockets.so.19
 libdata/pkgconfig/libwebsockets.pc
 libdata/pkgconfig/libwebsockets_static.pc
 %%PLUGINS%%%%DATADIR%%-test-server/deaddrop/deaddrop.css