On Sat, 11 Apr 2020 12:34:20 +0200 Klemens Nanni <k...@openbsd.org> wrote: > Out of curiosity, have you tried audio/umurmur as server?
No, I have a murmur server already, which I intend to move to a OpenBSD maschine soon. Patch with suggested improvements below. I left the REVISION-client, since I noted that pkg_add considers the old package with REVISION newer otherwise (come to think of it pkg_add doesn't know whether we go package->multipackage or reverse, so probably needs REVISION). diff --git audio/mumble/Makefile audio/mumble/Makefile index 963c8976ad2..d522de12225 100644 --- audio/mumble/Makefile +++ audio/mumble/Makefile @@ -1,11 +1,15 @@ # $OpenBSD: Makefile,v 1.45 2020/04/09 18:18:06 tb Exp $ -COMMENT = low-latency voice chat client +COMMENT-client = low-latency voice chat client +COMMENT-server = low-latency voice chat server -DISTNAME = mumble-1.3.0 -REVISION = 5 +VERSION = 1.3.0 +DISTNAME = mumble-${VERSION} +PKGNAME-client = mumble-${VERSION} +PKGNAME-server = murmur-${VERSION} +REVISION-client = 6 -CATEGORIES = audio +CATEGORIES = audio net HOMEPAGE = https://www.mumble.info/ @@ -14,9 +18,13 @@ MASTER_SITES = https://github.com/mumble-voip/mumble/releases/download/1.3.0/ # BSD3 PERMIT_PACKAGE = Yes -WANTLIB += ${COMPILER_LIBCXX} GL Qt5Core Qt5DBus Qt5Gui Qt5Network -WANTLIB += Qt5Sql Qt5Svg Qt5Widgets Qt5Xml X11 Xi c crypto -WANTLIB += m opus portaudio protobuf sndfile speex speexdsp ssl +WANTLIB-client += ${COMPILER_LIBCXX} GL Qt5Core Qt5DBus Qt5Gui Qt5Network +WANTLIB-client += Qt5Sql Qt5Svg Qt5Widgets Qt5Xml X11 Xi c crypto +WANTLIB-client += m opus portaudio protobuf sndfile speex speexdsp ssl +WANTLIB-server += ${COMPILER_LIBCXX} Qt5Core Qt5DBus Qt5Network Qt5Sql +WANTLIB-server += Qt5Xml c crypto m protobuf ssl + +MULTI_PACKAGES = -client -server DEBUG_PACKAGES = ${BUILD_PACKAGES} @@ -24,14 +32,16 @@ MODULES = devel/qmake x11/qt5 BUILD_DEPENDS = devel/boost -LIB_DEPENDS = audio/libsndfile>=1.0.25p0 \ +LIB_DEPENDS-client = audio/libsndfile>=1.0.25p0 \ audio/opus \ audio/portaudio-svn \ audio/speex \ devel/protobuf \ x11/qt5/qtsvg +LIB_DEPENDS-server = devel/protobuf \ + x11/qt5/qtbase -RUN_DEPENDS = devel/desktop-file-utils \ +RUN_DEPENDS-client = devel/desktop-file-utils \ x11/gtk+3,-guic # CONFIG+=c++11 because of protobuf @@ -40,6 +50,7 @@ MODQMAKE_ARGS = MUMBLE_PREFIX=${PREFIX} \ CONFIG+=c++11 \ CONFIG+=no-11x \ CONFIG+=no-alsa \ + CONFIG+=no-ice \ CONFIG+=no-bonjour \ CONFIG+=no-bundled-opus \ CONFIG+=no-bundled-speex \ @@ -50,7 +61,6 @@ MODQMAKE_ARGS = MUMBLE_PREFIX=${PREFIX} \ CONFIG+=no-oss \ CONFIG+=no-overlay \ CONFIG+=no-pulseaudio \ - CONFIG+=no-server \ CONFIG+=no-speechd \ CONFIG+=no-update \ CONFIG+=bundled-celt \ @@ -77,13 +87,16 @@ pre-configure: do-install: ${INSTALL_PROGRAM} ${WRKBUILD}/mumble \ ${PREFIX}/bin/mumble + ${INSTALL_PROGRAM} ${WRKBUILD}/murmurd \ + ${PREFIX}/sbin/murmurd ${INSTALL_DATA_DIR} ${PREFIX}/lib/mumble ${INSTALL_DATA} ${WRKBUILD}/plugins/lib*.so \ ${PREFIX}/lib/mumble/ ${INSTALL_DATA_DIR} ${PREFIX}/share/mumble/locale ${INSTALL_DATA} ${WRKSRC}/src/mumble/*.qm \ ${PREFIX}/share/mumble/locale/ - ${INSTALL_MAN} ${WRKSRC}/man/mumble.1 ${PREFIX}/man/man1/ + ${INSTALL_MAN} ${WRKSRC}/man/{mumble,murmurd}.1 \ + ${PREFIX}/man/man1/ ${INSTALL_DATA_DIR} \ ${PREFIX}/share/icons/hicolor/scalable/apps ${INSTALL_DATA} ${WRKSRC}/icons/mumble.svg \ @@ -91,5 +104,8 @@ do-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/applications ${INSTALL_DATA} ${WRKSRC}/scripts/mumble.desktop \ ${PREFIX}/share/applications/ + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/murmur + ${INSTALL_DATA} ${WRKSRC}/scripts/murmur.ini \ + ${PREFIX}/share/examples/murmur/ .include <bsd.port.mk> diff --git audio/mumble/patches/patch-scripts_murmur_ini audio/mumble/patches/patch-scripts_murmur_ini new file mode 100644 index 00000000000..0b6de01236e --- /dev/null +++ audio/mumble/patches/patch-scripts_murmur_ini @@ -0,0 +1,62 @@ +$OpenBSD$ + +Comment unavailable options and set default database and log locations. + +Index: scripts/murmur.ini +--- scripts/murmur.ini.orig ++++ scripts/murmur.ini +@@ -13,7 +13,7 @@ + + ; Path to database. If blank, will search for + ; murmur.sqlite in default locations or create it if not found. +-database= ++database=${LOCALSTATEDIR}/murmur/murmur.sqlite + + ; Murmur defaults to using SQLite with its default rollback journal. + ; In some situations, using SQLite's write-ahead log (WAL) can be +@@ -51,7 +51,7 @@ database= + ; Murmur defaults to not using D-Bus. If you wish to use dbus, which is one of the + ; RPC methods available in Murmur, please specify so here. + ; +-;dbus=session ++;dbus=system + + ; Alternate D-Bus service name. Only use if you are running distinct + ; murmurd processes connected to the same D-Bus daemon. +@@ -62,7 +62,7 @@ database= + ; with ICE, you should only use it if you trust all the users who have + ; shell access to your machine. + ; Please see the ICE documentation on how to specify endpoints. +-ice="tcp -h 127.0.0.1 -p 6502" ++;ice="tcp -h 127.0.0.1 -p 6502" + + ; Ice primarily uses local sockets. This means anyone who has a + ; user account on your machine can connect to the Ice services. +@@ -77,7 +77,7 @@ ice="tcp -h 127.0.0.1 -p 6502" + ; access will be denied. + + ;icesecretread= +-icesecretwrite= ++;icesecretwrite= + + ; If you want to expose Murmur's experimental gRPC API, you + ; need to specify an address to bind on. +@@ -102,7 +102,7 @@ icesecretwrite= + ; logs to the file 'murmur.log'. If you leave this field blank + ; on Unix-like systems, Murmur will force itself into foreground + ; mode which logs to the console. +-;logfile=murmur.log ++logfile=${LOCALSTATEDIR}/murmur/murmur.log + + ; If set, Murmur will write its process ID to this file + ; when running in daemon mode (when the -fg flag is not +@@ -272,6 +272,6 @@ allowping=true + ; leave the defaults as they are. + ; Please note that this section has to be last in the configuration file. + ; +-[Ice] +-Ice.Warn.UnknownProperties=1 +-Ice.MessageSizeMax=65536 ++;[Ice] ++;Ice.Warn.UnknownProperties=1 ++;Ice.MessageSizeMax=65536 diff --git audio/mumble/pkg/DESCR audio/mumble/pkg/DESCR deleted file mode 100644 index 67870452343..00000000000 --- audio/mumble/pkg/DESCR +++ /dev/null @@ -1,4 +0,0 @@ -Mumble is an open source, low-latency, high quality voice chat -application for groups. - -Mumble is the client for the (u)Murmur VoIP communication server. diff --git audio/mumble/pkg/DESCR-client audio/mumble/pkg/DESCR-client new file mode 100644 index 00000000000..67870452343 --- /dev/null +++ audio/mumble/pkg/DESCR-client @@ -0,0 +1,4 @@ +Mumble is an open source, low-latency, high quality voice chat +application for groups. + +Mumble is the client for the (u)Murmur VoIP communication server. diff --git audio/mumble/pkg/DESCR-server audio/mumble/pkg/DESCR-server new file mode 100644 index 00000000000..a9b0e073fe7 --- /dev/null +++ audio/mumble/pkg/DESCR-server @@ -0,0 +1,2 @@ +Murmur is the server component of Mumble, a low-latency, high quality +VoIP application. diff --git audio/mumble/pkg/PLIST audio/mumble/pkg/PLIST deleted file mode 100644 index 262cacfbfd1..00000000000 --- audio/mumble/pkg/PLIST +++ /dev/null @@ -1,56 +0,0 @@ -@comment $OpenBSD: PLIST,v 1.6 2020/02/25 05:14:52 rsadowski Exp $ -@bin bin/mumble -lib/mumble/ -@so lib/mumble/liblink.so -@man man/man1/mumble.1 -share/applications/mumble.desktop -share/icons/hicolor/scalable/apps/mumble.svg -share/mumble/ -share/mumble/locale/ -share/mumble/locale/mumble_ar.qm -share/mumble/locale/mumble_be.qm -share/mumble/locale/mumble_bg.qm -share/mumble/locale/mumble_br.qm -share/mumble/locale/mumble_cs.qm -share/mumble/locale/mumble_cy.qm -share/mumble/locale/mumble_da.qm -share/mumble/locale/mumble_de.qm -share/mumble/locale/mumble_el.qm -share/mumble/locale/mumble_el_GR.qm -share/mumble/locale/mumble_en.qm -share/mumble/locale/mumble_en_GB.qm -share/mumble/locale/mumble_eo.qm -share/mumble/locale/mumble_es.qm -share/mumble/locale/mumble_eu.qm -share/mumble/locale/mumble_fa_IR.qm -share/mumble/locale/mumble_fi.qm -share/mumble/locale/mumble_fr.qm -share/mumble/locale/mumble_gl.qm -share/mumble/locale/mumble_he.qm -share/mumble/locale/mumble_hi.qm -share/mumble/locale/mumble_hu.qm -share/mumble/locale/mumble_it.qm -share/mumble/locale/mumble_ja.qm -share/mumble/locale/mumble_ko.qm -share/mumble/locale/mumble_lt.qm -share/mumble/locale/mumble_nb_NO.qm -share/mumble/locale/mumble_nl.qm -share/mumble/locale/mumble_nl_BE.qm -share/mumble/locale/mumble_no.qm -share/mumble/locale/mumble_pl.qm -share/mumble/locale/mumble_pt_BR.qm -share/mumble/locale/mumble_pt_PT.qm -share/mumble/locale/mumble_ro.qm -share/mumble/locale/mumble_ru.qm -share/mumble/locale/mumble_sk.qm -share/mumble/locale/mumble_sv.qm -share/mumble/locale/mumble_te.qm -share/mumble/locale/mumble_th.qm -share/mumble/locale/mumble_tr.qm -share/mumble/locale/mumble_uk.qm -share/mumble/locale/mumble_vi.qm -share/mumble/locale/mumble_zh_CN.qm -share/mumble/locale/mumble_zh_HK.qm -share/mumble/locale/mumble_zh_TW.qm -@tag gtk-update-icon-cache %D/share/icons/hicolor -@tag update-desktop-database diff --git audio/mumble/pkg/PLIST-client audio/mumble/pkg/PLIST-client new file mode 100644 index 00000000000..4941f45329c --- /dev/null +++ audio/mumble/pkg/PLIST-client @@ -0,0 +1,57 @@ +@comment $OpenBSD: PLIST,v 1.6 2020/02/25 05:14:52 rsadowski Exp $ +@pkgpath audio/mumble +@bin bin/mumble +lib/mumble/ +@so lib/mumble/liblink.so +@man man/man1/mumble.1 +share/applications/mumble.desktop +share/icons/hicolor/scalable/apps/mumble.svg +share/mumble/ +share/mumble/locale/ +share/mumble/locale/mumble_ar.qm +share/mumble/locale/mumble_be.qm +share/mumble/locale/mumble_bg.qm +share/mumble/locale/mumble_br.qm +share/mumble/locale/mumble_cs.qm +share/mumble/locale/mumble_cy.qm +share/mumble/locale/mumble_da.qm +share/mumble/locale/mumble_de.qm +share/mumble/locale/mumble_el.qm +share/mumble/locale/mumble_el_GR.qm +share/mumble/locale/mumble_en.qm +share/mumble/locale/mumble_en_GB.qm +share/mumble/locale/mumble_eo.qm +share/mumble/locale/mumble_es.qm +share/mumble/locale/mumble_eu.qm +share/mumble/locale/mumble_fa_IR.qm +share/mumble/locale/mumble_fi.qm +share/mumble/locale/mumble_fr.qm +share/mumble/locale/mumble_gl.qm +share/mumble/locale/mumble_he.qm +share/mumble/locale/mumble_hi.qm +share/mumble/locale/mumble_hu.qm +share/mumble/locale/mumble_it.qm +share/mumble/locale/mumble_ja.qm +share/mumble/locale/mumble_ko.qm +share/mumble/locale/mumble_lt.qm +share/mumble/locale/mumble_nb_NO.qm +share/mumble/locale/mumble_nl.qm +share/mumble/locale/mumble_nl_BE.qm +share/mumble/locale/mumble_no.qm +share/mumble/locale/mumble_pl.qm +share/mumble/locale/mumble_pt_BR.qm +share/mumble/locale/mumble_pt_PT.qm +share/mumble/locale/mumble_ro.qm +share/mumble/locale/mumble_ru.qm +share/mumble/locale/mumble_sk.qm +share/mumble/locale/mumble_sv.qm +share/mumble/locale/mumble_te.qm +share/mumble/locale/mumble_th.qm +share/mumble/locale/mumble_tr.qm +share/mumble/locale/mumble_uk.qm +share/mumble/locale/mumble_vi.qm +share/mumble/locale/mumble_zh_CN.qm +share/mumble/locale/mumble_zh_HK.qm +share/mumble/locale/mumble_zh_TW.qm +@tag gtk-update-icon-cache %D/share/icons/hicolor +@tag update-desktop-database diff --git audio/mumble/pkg/PLIST-server audio/mumble/pkg/PLIST-server new file mode 100644 index 00000000000..7d78b3d713e --- /dev/null +++ audio/mumble/pkg/PLIST-server @@ -0,0 +1,15 @@ +@comment $OpenBSD: PLIST,v$ +@newgroup _murmurd:854 +@newuser _murmurd:854:_murmurd:daemon:murmurd user:/nonexistent:/sbin/nologin +@rcscript ${RCDIR}/murmurd +@man man/man1/murmurd.1 +@bin sbin/murmurd +share/examples/murmur/ +share/examples/murmur/murmur.ini +@mode 640 +@group _murmurd +@sample ${SYSCONFDIR}/murmur.ini +@mode +@owner _murmurd +@sample ${LOCALSTATEDIR}/murmur/ +@extraunexec rm -rf ${LOCALSTATEDIR}/murmur/* diff --git audio/mumble/pkg/murmurd.rc audio/mumble/pkg/murmurd.rc new file mode 100644 index 00000000000..8dbc7cfd617 --- /dev/null +++ audio/mumble/pkg/murmurd.rc @@ -0,0 +1,16 @@ +#!/bin/ksh +# +# $OpenBSD: murmurd.rc,v$ + +daemon="${TRUEPREFIX}/sbin/murmurd" +daemon_flags="-ini ${SYSCONFDIR}/murmur.ini" +daemon_user="_murmurd" + +. /etc/rc.d/rc.subr + +# only reloads TLS settings +rc_reload() { + pkill -USR1 -T "${daemon_rtable}" -xf "${pexp}" +} + +rc_cmd $1 diff --git infrastructure/db/user.list infrastructure/db/user.list index 49a1301289c..40081188496 100644 --- infrastructure/db/user.list +++ infrastructure/db/user.list @@ -362,3 +362,4 @@ id user group port 851 _whatsapp _whatsapp net/mautrix-whatsapp 852 _inetsim _inetsim net/inetsim 853 _sniproxy _sniproxy net/sniproxy +854 _murmurd _murmurd audio/mumble,-server