# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 PortGroup cmake 1.1 name mosquitto version 2.0.9 revision 1 categories net devel platforms darwin license {EPL-1 EDL-1} maintainers {gmail.com:slewsys @slewsys} openmaintainer description Mosquitto is an open-source MQTT 3.1/3.1.1 broker long_description \ MQTT is a machine-to-machine / "Internet of Things" connectivity protocol. \ Mosquito provides an open-source MQTT v3.1.1 broker (i.e., server) and \ both C and C++ client libraries. homepage https://mosquitto.org master_sites http://mosquitto.org/files/source/ checksums rmd160 6925455f51b6c79ebd160aba2f3709864aa5c05d \ sha256 1b8553ef64a1cf5e4f4cfbe098330ae612adccd3d37f35b2db6f6fab501b01d4 \ size 757878 depends_build-append \ path:bin/xsltproc:libxslt depends_lib port:c-ares \ port:libwebsockets \ port:tcp_wrappers \ path:lib/libssl.dylib:openssl depends_test-append \ port:python27 configure.args-append \ -DUSE_LIBWRAP:BOOL=ON \ -DWITH_SRV:BOOL=ON \ -DWITH_WEBSOCKETS:BOOL=ON test.run yes test.target -C ${build.dir}/test test pre-build { reinplace -E "s|\\.so\\.\[^\[:space:\]\]+|.dylib |g" ${worksrcpath}/config.mk } pre-test { if {![file exist ${build.dir}/test]} { foreach path [list config.mk test lib/mosquitto.h lib/cpp/mosquittopp.h src/mosquitto_broker.h src/mosquitto_plugin.h] { copy -force ${worksrcpath}/${path} ${build.dir}/${path} } } fs-traverse path ${build.dir}/test { if {[file tail ${path}] eq "Makefile"} { reinplace -E "s|\\.so\\.\[^\[:space:\]\]+|.dylib|g" $path reinplace -E "s|\\.so\[\[:space:\]\]+|.dylib |g" $path } elseif {[string match "*.py" ${path}]} { reinplace "s|^#!/usr/bin/env python$|#!${prefix}/bin/python2.7|" $path reinplace {s|[[:<:]]LD_LIBRARY_PATH|DY&|} $path } } # `auth_plugin.c' and `auth_plugin_acl.c' have missing dependencies reinplace "s|^all :.*|all : auth_plugin_pwd.dylib auth_plugin_v2.dylib auth_plugin_msg_params.dylib 08|" \ ${build.dir}/test/broker/c/Makefile # Test target 08 fails due to expired certificate. # Test target 09 fails due to I/O error when launching broker. reinplace "s|^test :.*|test : test-compile 01 02 03 04 05 06 07 10 11|" \ ${build.dir}/test/broker/Makefile # Test target 02-subpub-qos.*-bad.* fails due to socket error reinplace "s|\\./02-subpub-qos.*-bad.*|#&|" \ ${build.dir}/test/broker/Makefile # `09-util-utf8-validate.c' fails to compile due to invalid encoding. reinplace "s|^09 :.*|09 : 09-util-topic-matching.test 09-util-topic-tokenise.test|" \ ${build.dir}/test/lib/c/Makefile \ ${build.dir}/test/lib/cpp/Makefile # Test target 08 fails due to expired certificate. reinplace "s|^all :.*|all : 01 02 03 04 09|" \ ${build.dir}/test/lib/cpp/Makefile # Test targets ./08.* fail due to expired certificate. reinplace "s|\\./08|#./08|" \ ${build.dir}/test/lib/Makefile # Test target 09-util-utf8-validate fails due to invalid encoding. reinplace "s|\\./09-util-utf8|#./09-util-utf8|" \ ${build.dir}/test/lib/Makefile } set mosquitto_user mosquitto set mosquitto_group mosquitto add_users ${mosquitto_user} group=${mosquitto_group} shell=/bin/sh \ home=${prefix}/var/lib/${name} realname=Mosquitto\ MQTT\ Server startupitem.create yes startupitem.init \ "MOSQUITTO=${prefix}/sbin/mosquitto" startupitem.start \ "su ${mosquitto_user} -c \"\${MOSQUITTO}\"" startupitem.stop \ "su ${mosquitto_user} -c \"\pkill -U ${mosquitto_user} mosquitto\"" livecheck.type regex livecheck.url ${master_sites} livecheck.regex ${name}-(\\d+\\.\\d+\\.\\d+)\\.tar