# Created by: Iblis Lin 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 # 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