On 11/25/20 3:03 PM, Stuart Henderson wrote:
[moved to ports@ and cc'ing mosquitto maintainer]

In gmane.os.openbsd.misc, Jeff Ross wrote:
Greetings,

I've been trying to build mosquitto with websockets enabled on 6.8
release.  The web says that all I should have to do is edit config.mk
and change WITH_WEBSOCKETS:=no to WITH_WEBSOCKETS:=yes.
I also added libwebsockets from ports.

I built a patch to do that and then built the port with that patch.

test68# cd /usr/ports/net/mosquitto/patches/
test68# cat patch-config_mk
--- config.mk.orig    Wed Nov 25 09:33:17 2020
+++ config.mk    Wed Nov 25 09:33:34 2020
@@ -65,7 +65,7 @@
   WITH_SRV:=no

   # Build with websockets support on the broker.
-WITH_WEBSOCKETS:=no
+WITH_WEBSOCKETS:=yes

   # Use elliptic keys in broker
   WITH_EC:=yes

However, I still get the following:

test68# /usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
1606323544: Error: Websockets support not available.
1606323544: Error found at /etc/mosquitto/mosquitto.conf:241.

ktracing the command above I don't even see a place where it actually
looks to see if websockets are enabled.

I'm hoping someone has gone down this path before and can share the
secret sauce to enable websockets.

Alternatively, a suggestion for a different implementation of MQTT with
websockets would be fine.

Thanks,

Jeff Ross


config.mk is for the autoconf-based build system, the mosquitto port
uses the CMake one instead so you need to set configure flags.

This works for me - Jasper, what do you think about adding to the
port? (either directly like this or as a flavour)?

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/mosquitto/Makefile,v
retrieving revision 1.33
diff -u -p -r1.33 Makefile
--- Makefile    22 Aug 2020 13:55:07 -0000      1.33
+++ Makefile    25 Nov 2020 21:42:00 -0000
@@ -3,6 +3,7 @@
  COMMENT =             opensource MQTT broker
DISTNAME = mosquitto-1.6.12
+REVISION =             0
SHARED_LIBS += mosquitto 1.0 # 1.5
  SHARED_LIBS +=  mosquittopp               1.0 # 1.5
@@ -15,7 +16,7 @@ MAINTAINER =          Jasper Lievisse Adriaanse
  # EPL/EDL
  PERMIT_PACKAGE =      Yes
-WANTLIB += c crypto m pthread ssl ${COMPILER_LIBCXX}
+WANTLIB +=             c crypto m pthread ssl websockets ${COMPILER_LIBCXX}
MASTER_SITES = https://mosquitto.org/files/source/ @@ -29,12 +30,15 @@ MODPY_RUNDEP= No
  MODPY_VERSION=                ${MODPY_DEFAULT_VERSION_3}
BUILD_DEPENDS = devel/uthash
+LIB_DEPENDS =          www/libwebsockets
DEBUG_PACKAGES = ${BUILD_PACKAGES} -CONFIGURE_ARGS= -DWITH_SRV=no
+CONFIGURE_ARGS=                -DWITH_SRV=no \
+                       -DWITH_WEBSOCKETS=yes
  # Pre-shared key support was intentionally removed from libressl
  CONFIGURE_ARGS +=     -DWITH_TLS_PSK=no
+CONFIGURE_ENV +=       LDFLAGS="-L${LOCALBASE}/lib"
CFLAGS += -I${LOCALBASE}/include

Thanks, Stuart!  I never would have hit upon the right combination of changes.

Jeff

Reply via email to