freebsd-ports/net/libwebsockets/Makefile
Tijl Coosemans b93e64d3c3 security/mbedtls: Update to 2.28.0 and fix make test
Also bump dependent ports for library version change.

PR:		255084
2022-01-28 13:14:09 +01:00

90 lines
3 KiB
Makefile

# Created by: Iblis Lin <iblis@hs.ntnu.edu.tw>
PORTNAME= libwebsockets
DISTVERSIONPREFIX= v
DISTVERSION= 4.2.2
PORTREVISION= 1
CATEGORIES= net devel
MASTER_SITES= https://libwebsockets.org/git/libwebsockets/snapshot/
MAINTAINER= ports@FreeBSD.org
COMMENT= C library for lightweight websocket clients and servers
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cmake localbase pkgconfig tar:xz
USE_LDCONFIG= yes
CMAKE_ARGS= -DLWS_BUILD_HASH:STRING="${BUILDINFO}"
CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_Git \
LWS_IPV6 LWS_WITH_SSL LWS_WITH_ZLIB \
LWS_WITHOUT_TESTAPPS LWS_WITHOUT_TEST_SERVER \
LWS_WITHOUT_TEST_SERVER_EXTPOLL \
LWS_WITHOUT_TEST_PING LWS_WITHOUT_TEST_CLIENT
OPTIONS_DEFINE= HTTP_PROXY HTTP2 MQTT PEERLIMITS PLUGINS \
SECURE_STREAMS SOCKS SQLITE WEBSERVER
OPTIONS_DEFAULT= HTTP2 MQTT OPENSSL LIBUV
OPTIONS_SUB= yes
OPTIONS_SINGLE= SSL
OPTIONS_SINGLE_SSL= MBEDTLS OPENSSL
OPTIONS_GROUP= EVLOOP
OPTIONS_GROUP_EVLOOP= GLIB LIBEV LIBEVENT LIBUV
HTTP_PROXY_DESC= HTTP proxy support
MQTT_DESC= MQTT client support
PEERLIMITS_DESC= Tracking and limiting of resources of peer(s)
PLUGINS_DESC= Plugins support
SECURE_STREAMS_DESC= Secure streams protocol API support
SOCKS_DESC= Allow use of SOCKS5 proxy on client connections
EVLOOP_DESC= Event loop support
GLIB_DESC= Events support via Glib
LIBEVENT_DESC= Asynchronous event notification via libevent
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
PEERLIMITS_CMAKE_BOOL= LWS_WITH_PEER_LIMITS
PLUGINS_CMAKE_BOOL= LWS_WITH_PLUGINS \
LWS_WITH_PLUGINS_API
SECURE_STREAMS_CMAKE_BOOL= LWS_WITH_SECURE_STREAMS \
LWS_WITH_SECURE_STREAMS_PROXY_API
SOCKS_CMAKE_BOOL= LWS_WITH_SOCKS5
SQLITE_LIB_DEPENDS= libsqlite3.so:databases/sqlite3
SQLITE_CMAKE_BOOL= LWS_WITH_SQLITE3
WEBSERVER_CMAKE_BOOL= LWS_WITH_LWSWS
WEBSERVER_IMPLIES= PEERLIMITS PLUGINS LIBUV
MBEDTLS_LIB_DEPENDS= libmbedtls.so:security/mbedtls
MBEDTLS_CMAKE_BOOL= LWS_WITH_MBEDTLS
OPENSSL_USES= ssl
OPENSSL_CMAKE_BOOL= LWS_WITHOUT_BUILTIN_SHA1
# WolfSSL needs to be compiled with --enable-libwebsockets to work
# WOLFSSL_LIB_DEPENDS= libwolfssl.so:security/wolfssl
# WOLFSSL_CMAKE_BOOL= LWS_WITH_SSL LWS_WITH_WOLFSSL
# WOLFSSL_CMAKE_ON= -DLWS_WOLFSSL_INCLUDE_DIRS=${LOCALBASE}/include \
# -DLWS_WOLFSSL_LIBRARIES=${LOCALBASE}/lib/libwolfssl.so
GLIB_USES= gnome
GLIB_USE= GNOME=glib20
GLIB_CMAKE_BOOL= LWS_WITH_GLIB
LIBEV_LIB_DEPENDS= libev.so:devel/libev
LIBEV_CMAKE_BOOL= LWS_WITH_LIBEV
LIBEVENT_LIB_DEPENDS= libevent.so:devel/libevent
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
.endif
.include <bsd.port.mk>