blob: 3e1e92044fc9ff8d56fd23020606fb54e840007d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# 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>
|