On 2020/01/04 19:10, Jan-Piet Mens wrote:
> Hello!
>
> This is a new port for msoak(1), a utility with which to simultaneously
> subscribe to an arbitrary number of topics on any number of MQTT brokers and
> optionally modify or normalize received payloads with Lua functions before
> printing them out.
>
> I am the author of said utility, too.
>
> Tested on 6.6-CURRENT
>
> I'm hoping somebody can test this and give me feedback on my first package
> for OpenBSD!
>
> Under the assumption that MQTT is not in everybody's repertoire (why not
> actually, it's great! :-), I have a short writeup about it at [1].
>
> Thank you and best regards,
>
> -JP
>
> [1]
> https://jpmens.net/2013/02/25/lots-of-messages-mqtt-pub-sub-and-the-mosquitto-broker/
Works for me, and a good first submission :) I've attached a tweaked
version, and will add commentary inline on a diff from your version:
: diff 986cac26887f6f0aacfba950d103b81aa829a56f /usr/ports/mystuff
: blob - 2c4b80e099a70cfb148c14beb35a29f0b7c13064
: file + net/msoak/Makefile
: --- net/msoak/Makefile
: +++ net/msoak/Makefile
: @@ -1,38 +1,37 @@
: # $OpenBSD$
:
: COMMENT =subscribe to multiple MQTT brokers and topics simultaneously
: -V = 0.5
: -DISTNAME = msoak-${V}
: +
: +GH_ACCOUNT = jpmens
: +GH_PROJECT = msoak
: +GH_TAGNAME = 0.5
: +
: CATEGORIES = net
:
: -HOMEPAGE = https://github.com/jpmens/msoak
Use standard location for GH_* variables in Makefile, no need to set
DISTNAME/HOMEPAGE which are set by default when GH_* are set
: MAINTAINER = Jan-Piet Mens
:
: -# License GPLv2+
: +# GPLv2+
: PERMIT_PACKAGE= Yes
:
: -GH_ACCOUNT = jpmens
: -GH_PROJECT = msoak
: -GH_TAGNAME = ${V}
: +WANTLIB += ${MODLUA_WANTLIB} c config mosquitto
Standard location for WANTLIB, use lua lib name coming from MODULES=lang/lua
:
: -BUILD_DEPENDS = devel/libconfig \
: - net/mosquitto \
: - devel/lua-compat53
: +MODULES =lang/lua
: +MODLUA_SA = Yes
: +NO_TEST =Yes
use MODULES=lang/lua to provide standard variables for lua ports,
set MODLUA_SA because it's a standalone port rather than lua library
(the module has some setup for multiple flavours for multiple lua
versions). set NO_TEST.
: -RUN_DEPENDS =devel/libconfig \
: - net/mosquitto \
: - devel/lua-compat53
: +LIB_DEPENDS =devel/libconfig \
: + net/mosquitto
library dependencies should use LIB_DEPENDS (+WANTLIB) rather
than BUILD+RUN_DEPENDS.
:
: -WANTLIB += c config lua5.1 mosquitto
: +BUILD_DEPENDS = devel/lua-compat53
: +RUN_DEPENDS =devel/lua-compat53
I've left this in for now, but I don't see where lua-compat53 is used,
and it seems to work OK without, if it's not really needed then let's
skip the dependency.
:
: -CFLAGS = -I/usr/local/include -I/usr/local/include/lua-5.1/
: -LDFLAGS =-L /usr/local/lib -llua5.1 -lmosquitto -lconfig
: +CFLAGS +=-I${LOCALBASE}/include -I${MODLUA_INCL_DIR}
: +LDFLAGS =-L${LOCALBASE}/lib ${MODLUA_LIB} -lmosquitto -lconfig
change = to += for CFLAGS - don't override standard flags,
avoid hardcoding paths that are normally set by ports infrastructure.
:
: -
: MAKE_FLAGS= CFLAGS="${CFLAGS}"
: MAKE_FLAGS+= LDFLAGS="${LDFLAGS}"
: -MAKE_FLAGS+= BINDIR=/usr/local/bin
: -MAKE_FLAGS+= MANDIR=/usr/local/man
: +MAKE_FLAGS+= BINDIR=${TRUEPREFIX}/bin
: +MAKE_FLAGS+= MANDIR=${TRUEPREFIX}/man
(LOCALBASE is "from some other port", TRUEPREFIX is "this port")
:
: post-install:
: ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/msoak
I see the Makefile in msoak distribution normally uses lua 5.3,
if you want to do that in the port too then you can just add
MODLUA_VERSION =5.3
- with the change I made to use the lua "MODULES" (the actual file
is found in lang/lua/lua.port.mk) then setting this will change the
paths/libs/dependencies automatically.
msoak,2.tgz
Description: application/tar-gz