diff --git a/GIDs b/GIDs --- a/GIDs +++ b/GIDs @@ -279,7 +279,7 @@ # free: 336 daapd:*:337: murmur:*:338: -# free: 339 +mumble-server:*:339: wildfire:*:340: stunnel:*:341: openfire:*:342: diff --git a/UIDs b/UIDs --- a/UIDs +++ b/UIDs @@ -284,7 +284,7 @@ _pma:*:336:80::0:0:phpMyAdmin Owner:/nonexistent:/usr/sbin/nologin daapd:*:337:337::0:0:daapd User:/nonexistent:/usr/sbin/nologin murmur:*:338:338::0:0:& User:/nonexistent:/usr/sbin/nologin -# free: 339 +mumble-server:*:339:339::0:0:& User:/nonexistent:/usr/sbin/nologin wildfire:*:340:340::0:0:Wildfire Daemon:/nonexistent:/usr/sbin/nologin stunnel:*:341:341::0:0:Stunnel Daemon:/nonexistent:/usr/sbin/nologin openfire:*:342:342::0:0:Openfire IM Daemon:/nonexistent:/usr/sbin/nologin diff --git a/audio/Makefile b/audio/Makefile --- a/audio/Makefile +++ b/audio/Makefile @@ -499,6 +499,7 @@ SUBDIR += mps SUBDIR += mpz SUBDIR += mumble + SUBDIR += mumble-server SUBDIR += murmur SUBDIR += murmur-cli SUBDIR += muse-sequencer diff --git a/audio/mumble-server/Makefile b/audio/mumble-server/Makefile new file mode 100644 --- /dev/null +++ b/audio/mumble-server/Makefile @@ -0,0 +1,80 @@ +PORTNAME= mumble-server +DISTVERSION= 1.5.517 +CATEGORIES= audio net +MASTER_SITES= https://github.com/${PORTNAME:S/-server//}-voip/${PORTNAME:S/-server//}/releases/download/v${DISTVERSION}/ +DISTNAME= ${PORTNAME:S/-server//}-${DISTVERSION} + +MAINTAINER= vvd@FreeBSD.org +COMMENT= Server component of Mumble +WWW= https://www.mumble.info/ + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= boost-libs>0:devel/boost-libs +LIB_DEPENDS= libabsl_base.so:devel/abseil \ + libprotobuf.so:devel/protobuf + +USES= cmake compiler:c++17-lang pkgconfig python:build qt:5 ssl +USE_CXXSTD= c++17 +USE_QT= buildtools:build core network qmake:build sql xml + +CMAKE_ON= server +CMAKE_OFF= client + +CXXFLAGS+= -Wno-deprecated-declarations + +USE_RC_SUBR= mumble_server +SUB_LIST+= USERS="${USERS}" GROUPS="${GROUPS}" + +EXTRA_PATCHES+= ${.CURDIR}/../mumble/files/patch-protobuf + +OPTIONS_DEFINE= AVAHI DBUS DOCS ICE LTO +OPTIONS_DEFAULT= AVAHI LTO MYSQL SQLITE +OPTIONS_MULTI= SQL +OPTIONS_MULTI_SQL= MYSQL PGSQL SQLITE + +AVAHI_CMAKE_BOOL= zeroconf +AVAHI_LIB_DEPENDS= libdns_sd.so:net/avahi-libdns + +DBUS_USE= QT=dbus +DBUS_CMAKE_BOOL= dbus + +ICE_DESC= Ice Support +ICE_CMAKE_BOOL= ice +ICE_LIB_DEPENDS= libIce.so:devel/ice + +LTO_CMAKE_BOOL= lto + +MYSQL_USE= QT=sql-mysql:run +PGSQL_USE= QT=sql-pgsql:run +SQLITE_USE= QT=sql-sqlite3:run + +USERS= mumble-server +GROUPS= mumble-server + +.include + +post-install: + ${SED} -i '' -e 's|database=.*|database=/var/db/mumble-server/mumble-server.sqlite| ; \ + s|;pidfile=.*|pidfile=/var/run/mumble-server/mumble-server.pid| ; \ + s|;logfile=.*|logfile=/var/log/mumble-server/mumble-server.log| ; \ + s|;host=.*|host=0.0.0.0|' \ + ${STAGEDIR}${PREFIX}/etc/mumble/mumble-server.ini + ${MV} ${STAGEDIR}${PREFIX}/etc/mumble/mumble-server.ini \ + ${STAGEDIR}${PREFIX}/etc/mumble/mumble-server.ini.sample +.for f in bin/mumble-server-user-wrapper share/man/man1/mumble-server-user-wrapper.1 \ + etc/sysconfig.d/mumble-server.conf etc/systemd/system/mumble-server.service + ${RM} ${STAGEDIR}${PREFIX}/${f} +.endfor +.for d in etc/sysconfig.d etc/systemd/system etc/systemd + ${RMDIR} ${STAGEDIR}${PREFIX}/${d} +.endfor + +do-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} +.for f in README.md SECURITY.md docs/additional-readmes/README.static.linux + ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR} +.endfor + +.include diff --git a/audio/mumble-server/distinfo b/audio/mumble-server/distinfo new file mode 100644 --- /dev/null +++ b/audio/mumble-server/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1692806872 +SHA256 (mumble-1.5.517.tar.gz) = 8efd06a0f47ebfe27735f7575ba0becfb21d0f400a5082202dbbd998ab8351de +SIZE (mumble-1.5.517.tar.gz) = 12091432 diff --git a/audio/mumble-server/files/mumble_server.in b/audio/mumble-server/files/mumble_server.in new file mode 100644 --- /dev/null +++ b/audio/mumble-server/files/mumble_server.in @@ -0,0 +1,41 @@ +#!/bin/sh + +# PROVIDE: mumble_server +# REQUIRE: DAEMON +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# mumble_server_enable (bool): Set to NO by default. +# Set it to YES to enable mumble_server. +# mumble_server_flags (str): Set to "" by default. +# Extra flags passed to start command. +# + +. /etc/rc.subr + +name=mumble_server +rcvar=mumble_server_enable +load_rc_config $name + +# Set some defaults +: ${mumble_server_enable:=NO} +: ${mumble_server_user=%%USERS%%} + +command="%%PREFIX%%/bin/mumble-server" +command_args="-ini %%PREFIX%%/etc/mumble/mumble-server.ini" +pidfile=/var/run/mumble-server/mumble-server.pid +start_precmd=mumble_server_prestart +extra_commands="reload" +sig_reload="USR1" + +mumble_server_prestart() { + for i in /var/log/mumble-server /var/run/mumble-server /var/db/mumble-server; do + if [ ! -d ${i} ]; then + install -d -o %%USERS%% -g %%GROUPS%% ${i} + fi + done +} + +run_rc_command "$1" diff --git a/audio/mumble-server/pkg-descr b/audio/mumble-server/pkg-descr new file mode 100644 --- /dev/null +++ b/audio/mumble-server/pkg-descr @@ -0,0 +1,2 @@ +Mumble-server is the server component of Mumble, a free, open source, +low-latency, high quality voice chat application. diff --git a/audio/mumble-server/pkg-plist b/audio/mumble-server/pkg-plist new file mode 100644 --- /dev/null +++ b/audio/mumble-server/pkg-plist @@ -0,0 +1,8 @@ +bin/mumble-server +etc/mumble/MumbleServer.ice +@sample etc/mumble/mumble-server.ini.sample +share/dbus-1/system.d/mumble-server.conf +share/man/man1/mumble-server.1.gz +%%PORTDOCS%%%%DOCSDIR%%/README.md +%%PORTDOCS%%%%DOCSDIR%%/SECURITY.md +%%PORTDOCS%%%%DOCSDIR%%/README.static.linux