pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/net net: Add mosquitto 1.6.3nb4
details: https://anonhg.NetBSD.org/pkgsrc/rev/29dc1b370761
branches: trunk
changeset: 336696:29dc1b370761
user: gdt <gdt%pkgsrc.org@localhost>
date: Sat Jul 20 23:09:27 2019 +0000
description:
net: Add mosquitto 1.6.3nb4
(nb4 because wip is nb4)
Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that
implements the MQTT protocol versions 3.1 and 3.1.1 MQTT provides a
lightweight method of carrying out messaging using a publish/subscribe model.
This makes it suitable for "Internet of Things" messaging such as with low power
sensors or mobile devices such as phones, embedded computers or
microcontrollers like the Arduino.
diffstat:
net/Makefile | 3 +-
net/mosquitto/DESCR | 6 ++
net/mosquitto/Makefile | 61 ++++++++++++++++++++++++++
net/mosquitto/PLIST | 31 +++++++++++++
net/mosquitto/distinfo | 11 ++++
net/mosquitto/files/mosquitto.sh | 30 ++++++++++++
net/mosquitto/patches/patch-CMakeLists.txt | 20 ++++++++
net/mosquitto/patches/patch-lib_CMakeLists.txt | 23 +++++++++
net/mosquitto/patches/patch-lib_net__mosq.c | 22 +++++++++
net/mosquitto/patches/patch-mosquitto.conf | 25 ++++++++++
net/mosquitto/patches/patch-src_CMakeLists.txt | 17 +++++++
11 files changed, 248 insertions(+), 1 deletions(-)
diffs (truncated from 303 to 300 lines):
diff -r 31181b91adc5 -r 29dc1b370761 net/Makefile
--- a/net/Makefile Sat Jul 20 22:57:11 2019 +0000
+++ b/net/Makefile Sat Jul 20 23:09:27 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.1258 2019/07/02 03:58:14 adam Exp $
+# $NetBSD: Makefile,v 1.1259 2019/07/20 23:09:27 gdt Exp $
#
COMMENT= Networking tools
@@ -361,6 +361,7 @@
SUBDIR+= monotorrent
SUBDIR+= monsoon
SUBDIR+= mosh
+SUBDIR+= mosquitto
SUBDIR+= mouse-pppoe
SUBDIR+= mping
SUBDIR+= mrstat
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/DESCR
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/DESCR Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,6 @@
+Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that
+implements the MQTT protocol versions 3.1 and 3.1.1 MQTT provides a
+lightweight method of carrying out messaging using a publish/subscribe model.
+This makes it suitable for "Internet of Things" messaging such as with low power
+sensors or mobile devices such as phones, embedded computers or
+microcontrollers like the Arduino.
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/Makefile
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/Makefile Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,61 @@
+# $NetBSD: Makefile,v 1.1 2019/07/20 23:09:27 gdt Exp $
+
+VERSION= 1.6.3
+PKGREVISION= 4
+DISTNAME= mosquitto-${VERSION}
+CATEGORIES= net
+MASTER_SITES= https://mosquitto.org/files/source/
+
+#MAINTAINER= amoibos%gmail.com@localhost
+MAINTAINER= gdt%NetBSD.org@localhost
+HOMEPAGE= https://mosquitto.org/
+COMMENT= Open Source MQTT broker
+LICENSE= epl-v1.0
+
+USE_LANGUAGES+= c c++
+# Upstream documents that "unix" should use make, but Mac cmake.
+# After asking and receiving no guidance, choose to always use cmake.
+# https://github.com/eclipse/mosquitto/issues/1041
+USE_CMAKE= yes
+USE_TOOLS+= gmake
+
+CMAKE_ARGS+= -DCMAKE_INSTALL_SYSCONFDIR=${PREFIX}/share/examples
+
+MOSQUITTO_USER= mosquitto
+MOSQUITTO_GROUP= mosquitto
+
+PKG_USERS= ${MOSQUITTO_USER}:${MOSQUITTO_GROUP}
+PKG_GROUPS= ${MOSQUITTO_GROUP}
+
+# \todo The example file is vast and arguably should not be installed.
+# However, we need to set a few things to make automatic startup work.
+CONF_FILES= ${PREFIX}/share/examples/mosquitto/mosquitto.conf \
+ ${PKG_SYSCONFDIR}/mosquitto.conf
+
+SUBST_CLASSES+= paths
+SUBST_STAGE.paths= post-patch
+SUBST_MESSAGE.paths= Substituting paths
+SUBST_FILES.paths= mosquitto.conf
+SUBST_SED.paths= -e "s,@SSLCERTS@,${SSLCERTS},g"
+
+RCD_SCRIPTS= mosquitto
+FILES_SUBST+= MOSQUITTO_USER=${MOSQUITTO_USER}
+FILES_SUBST+= MOSQUITTO_GROUP=${MOSQUITTO_GROUP}
+FILES_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
+
+# mosquitto's build system is very troubled, and the tests do not
+# currently work.
+# https://github.com/eclipse/mosquitto/issues/1242
+# https://github.com/eclipse/mosquitto/issues/1330
+#
+# \todo invoke "gmake test" in tests/ subdir instead of at top level
+# \todo pass in CPPFLAGS/LDFLAGS to test invocation
+TEST_TARGET= test
+.include "../../devel/cunit/buildlink3.mk"
+
+.include "../../devel/libuuid/buildlink3.mk"
+.include "../../devel/uthash/buildlink3.mk"
+# ?needed
+.include "../../net/libcares/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/PLIST
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/PLIST Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,31 @@
+@comment $NetBSD: PLIST,v 1.1 2019/07/20 23:09:27 gdt Exp $
+bin/mosquitto_passwd
+bin/mosquitto_pub
+bin/mosquitto_rr
+bin/mosquitto_sub
+include/mosquitto.h
+include/mosquitto_broker.h
+include/mosquitto_plugin.h
+include/mosquittopp.h
+lib/libmosquitto.so
+lib/libmosquitto.so.1
+lib/libmosquitto.so.${PKGVERSION}
+lib/libmosquittopp.so
+lib/libmosquittopp.so.1
+lib/libmosquittopp.so.${PKGVERSION}
+lib/pkgconfig/libmosquitto.pc
+lib/pkgconfig/libmosquittopp.pc
+man/man1/mosquitto_passwd.1
+man/man1/mosquitto_pub.1
+man/man1/mosquitto_rr.1
+man/man1/mosquitto_sub.1
+man/man3/libmosquitto.3
+man/man5/mosquitto.conf.5
+man/man7/mosquitto-tls.7
+man/man7/mqtt.7
+man/man8/mosquitto.8
+sbin/mosquitto
+share/examples/mosquitto/aclfile.example
+share/examples/mosquitto/mosquitto.conf
+share/examples/mosquitto/pskfile.example
+share/examples/mosquitto/pwfile.example
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/distinfo
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/distinfo Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.1 2019/07/20 23:09:27 gdt Exp $
+
+SHA1 (mosquitto-1.6.3.tar.gz) = afd7115ac826f2bf296b870a12b5c288028daeb5
+RMD160 (mosquitto-1.6.3.tar.gz) = 7eb4f725d07d98f4f95a790676a0e73e5aebdd50
+SHA512 (mosquitto-1.6.3.tar.gz) = d78d95789cfadaa8c989becb799e6eace1a82cfed9d79582cf7278dd2f9f31060b0b6492c5e3461c687629445efbdda0db68cba65962eb6a305ada46611f6d94
+Size (mosquitto-1.6.3.tar.gz) = 578952 bytes
+SHA1 (patch-CMakeLists.txt) = fb04da93970ccca17657021597b8311875473242
+SHA1 (patch-lib_CMakeLists.txt) = cddb8803a759820c8059028f924b56c22689ee54
+SHA1 (patch-lib_net__mosq.c) = a38294cdfea98f2da0879ea93373c5f04aebdb20
+SHA1 (patch-mosquitto.conf) = 0ea671cfe3a332e9f0027b2410b212797fc1db17
+SHA1 (patch-src_CMakeLists.txt) = 2346ee3f13ab7f7e2c34492a4271e0b1adcae4fb
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/files/mosquitto.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/files/mosquitto.sh Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,30 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: mosquitto.sh,v 1.1 2019/07/20 23:09:27 gdt Exp $
+#
+# PROVIDE: mosquitto
+# REQUIRE: DAEMON
+
+. /etc/rc.subr
+
+name="mosquitto"
+rcvar=$name
+command="@PREFIX@/sbin/${name}"
+piddir="/var/run/${name}"
+pidfile="${piddir}/${name}.pid"
+config="@PKG_SYSCONFDIR@/${name}.conf"
+
+command_args="-d -c $config"
+
+start_precmd="mosquitto_precmd"
+test_cmd="mosquitto_test"
+extra_commands=""
+
+mosquitto_precmd()
+{
+ mkdir -p ${piddir}
+ chown @MOSQUITTO_USER@ ${piddir}
+}
+
+load_rc_config $name
+run_rc_command "$1"
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/patches/patch-CMakeLists.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/patches/patch-CMakeLists.txt Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,20 @@
+$NetBSD: patch-CMakeLists.txt,v 1.1 2019/07/20 23:09:27 gdt Exp $
+
+Adjust pkgconfig installation location to lib, not share.
+
+Sent upstream via email 20190427.
+
+--- CMakeLists.txt.orig 2019-06-18 11:45:59.000000000 +0000
++++ CMakeLists.txt
+@@ -108,9 +108,9 @@ install(FILES mosquitto.conf aclfile.exa
+ # ========================================
+
+ configure_file(libmosquitto.pc.in libmosquitto.pc @ONLY)
+-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquitto.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pkgconfig")
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquitto.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+ configure_file(libmosquittopp.pc.in libmosquittopp.pc @ONLY)
+-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquittopp.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/pkgconfig")
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libmosquittopp.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+
+ # ========================================
+ # Testing
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/patches/patch-lib_CMakeLists.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/patches/patch-lib_CMakeLists.txt Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,23 @@
+$NetBSD: patch-lib_CMakeLists.txt,v 1.1 2019/07/20 23:09:27 gdt Exp $
+
+On NetBSD, do not include librt.
+\todo Why? All other "UNIX" does, except Mac.
+\todo Consider filing upstream.
+
+--- lib/CMakeLists.txt.orig 2018-09-04 16:57:17.000000000 +0000
++++ lib/CMakeLists.txt
+@@ -73,12 +73,12 @@ set(C_SRC
+
+ set (LIBRARIES ${OPENSSL_LIBRARIES} ${PTHREAD_LIBRARIES})
+
+-if (UNIX AND NOT APPLE)
++if (UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
+ find_library(LIBRT rt)
+ if (LIBRT)
+ set (LIBRARIES ${LIBRARIES} rt)
+ endif (LIBRT)
+-endif (UNIX AND NOT APPLE)
++endif (UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
+
+ if (WIN32)
+ set (LIBRARIES ${LIBRARIES} ws2_32)
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/patches/patch-lib_net__mosq.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/patches/patch-lib_net__mosq.c Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,22 @@
+$NetBSD: patch-lib_net__mosq.c,v 1.1 2019/07/20 23:09:27 gdt Exp $
+
+Work around lack of strnlen on older NetBSD.
+
+Not sent upstream becaus POSIX requires strnlen.
+
+--- lib/net_mosq.c.orig 2019-04-26 16:07:59.000000000 +0000
++++ lib/net_mosq.c
+@@ -69,6 +69,13 @@ Contributors:
+ #include "time_mosq.h"
+ #include "util_mosq.h"
+
++#if defined(__NetBSD__)
++#include <sys/param.h>
++#if ! __NetBSD_Prereq__(6,0,0)
++#define strnlen(s,l) strlen(s)
++#endif /* __NetBSD_Prereq__ */
++#endif /* __NetBSD__ */
++
+ #ifdef WITH_TLS
+ int tls_ex_index_mosq = -1;
+ UI_METHOD *_ui_method = NULL;
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/patches/patch-mosquitto.conf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/patches/patch-mosquitto.conf Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,25 @@
+$NetBSD: patch-mosquitto.conf,v 1.1 2019/07/20 23:09:27 gdt Exp $
+
+Log to syslog, instead of (perhaps) not logging.
+
+\todo Figure out what happens if port is not defined, and why we set it.
+
+\todo Think about pidfile; because this can be run in various modes
+that seems like it should perhaps be command-line, not config.
+
+--- mosquitto.conf.orig 2019-06-18 11:45:59.000000000 +0000
++++ mosquitto.conf
+@@ -986,3 +986,13 @@
+ # given multiple times, all of the files from the first instance will be
+ # processed before the next instance. See the man page for examples.
+ #include_dir
++
++### PKGSRC ADJUSTMENTS FOR TRADITIONAL UNIX NORMS
++
++pid_file /var/run/mosquitto/mosquitto.pid
++
++log_dest syslog
++
++capath @SSLCERTS@
++
++### LOCAL CONFIGURATION
diff -r 31181b91adc5 -r 29dc1b370761 net/mosquitto/patches/patch-src_CMakeLists.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/net/mosquitto/patches/patch-src_CMakeLists.txt Sat Jul 20 23:09:27 2019 +0000
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_CMakeLists.txt,v 1.1 2019/07/20 23:09:27 gdt Exp $
+
+On NetBSD, don't use -ldl (why?).
+
+Sent upstream via email 20190427.
+
+--- src/CMakeLists.txt.orig 2019-04-17 19:54:00.000000000 +0000
++++ src/CMakeLists.txt
+@@ -146,6 +146,8 @@ endif (HAVE_GETADDRINFO_A)
+ if (UNIX)
+ if (APPLE)
+ set (MOSQ_LIBS ${MOSQ_LIBS} dl m)
++ elseif (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
++ set (MOSQ_LIBS ${MOSQ_LIBS} m)
Home |
Main Index |
Thread Index |
Old Index