diff --git a/metadata/accounts/groups/umurmur.conf b/metadata/accounts/groups/umurmur.conf new file mode 100644 index 00000000..e69de29b diff --git a/metadata/accounts/users/umurmur.conf b/metadata/accounts/users/umurmur.conf new file mode 100644 index 00000000..f3087296 --- /dev/null +++ b/metadata/accounts/users/umurmur.conf @@ -0,0 +1,4 @@ +gecos = User for umurmur +home = /dev/null +shell = /sbin/nologin +primary_group = umurmur diff --git a/metadata/categories.conf b/metadata/categories.conf index f996d4ab..9a66a90d 100644 --- a/metadata/categories.conf +++ b/metadata/categories.conf @@ -13,6 +13,7 @@ net-www sci-mathematics sci-physics sys-apps +voip x11-apps x11-themes x11-wm diff --git a/packages/voip/umurmur/files/systemd/umurmurd.service b/packages/voip/umurmur/files/systemd/umurmurd.service new file mode 100644 index 00000000..12ad2aec --- /dev/null +++ b/packages/voip/umurmur/files/systemd/umurmurd.service @@ -0,0 +1,15 @@ +[Unit] +Description=A minimalistic Mumble server +After=network.target + +[Service] +Type=simple +User=murmur +Group=murmur +PIDFile=/run/umurmurd.pid +ExecStartPre=/usr/bin/umurmurd -t -c /etc/umurmur/umurmur.conf +ExecStart=/usr/bin/umurmurd -d -r -p /run/umurmurd.pid -c /etc/umurmur/umurmur.conf +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/packages/voip/umurmur/files/umurmur.conf b/packages/voip/umurmur/files/umurmur.conf new file mode 100644 index 00000000..cebcca28 --- /dev/null +++ b/packages/voip/umurmur/files/umurmur.conf @@ -0,0 +1,58 @@ +# This configuration is based on the official example configuration. More information can be found +# at http://code.google.com/p/umurmur/wiki/Configuring02x + +max_bandwidth = 48000; +welcometext = "Welcome to uMurmur!"; +certificate = "/etc/umurmur/cert.crt"; +private_key = "/etc/umurmur/key.key"; +password = ""; +max_users = 10; + +# Specify port and/or address to bind to. Typically not needed. +# Default is '*' for address and 64738 for port. +# Can also be specified on the command line, which takes precedence if +# both are specified. +# bindport = 64738; +# bindaddr = "192.168.1.1"; + +# Specify this for privilege dropping. If username is specified but not +# the groupname, the user's login group is used. +username = "murmur"; +groupname = "murmur"; + +# Root channel must always be defined first. +# If a channel has a parent, the parent must be defined before the child channel(s). +channels = ( { + name = "Root"; + parent = ""; + description = "The Root of all channels"; + noenter = true; + }, + { + name = "Lobby"; + parent = "Root"; + description = "Lobby channel"; + }, + { + name = "Red team"; + parent = "Lobby"; + description = "The Red team channel"; + }, + { + name = "Blue team"; + parent = "Lobby"; + description = "The Blue team channel"; + } +); +# Channel links configuration. +channel_links = ( { + source = "Lobby"; + destination = "Red team"; + }, + { + source = "Lobby"; + destination = "Blue team"; + } +); + +default_channel = "Lobby"; diff --git a/packages/voip/umurmur/files/umurmurd.confd b/packages/voip/umurmur/files/umurmurd.confd new file mode 100644 index 00000000..d83461ce --- /dev/null +++ b/packages/voip/umurmur/files/umurmurd.confd @@ -0,0 +1,3 @@ +# Additional flags to be passed to umurmurd +UMURMURD_OPTS="-r" + diff --git a/packages/voip/umurmur/files/umurmurd.initd b/packages/voip/umurmur/files/umurmurd.initd new file mode 100644 index 00000000..151f49e4 --- /dev/null +++ b/packages/voip/umurmur/files/umurmurd.initd @@ -0,0 +1,19 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/umurmur/files/umurmurd.initd,v 1.1 2013/06/20 09:10:29 polynomial-c Exp $ + +description="umurmurd - A minimalistic mumble server" +pidfile="/run/umurmurd/umurmurd.pid" +command="/usr/bin/umurmurd" +command_args="-c /etc/umurmur/umurmur.conf -p ${pidfile} ${UMURMURD_OPTS}" +start_stop_daemon_args="-p ${pidfile} -w 100" + +depend() { + need net + use logger +} + +start_pre() { + checkpath -d -o murmur ${pidfile%/*} +} diff --git a/packages/voip/umurmur/umurmur-0.2.16.exheres-0 b/packages/voip/umurmur/umurmur-0.2.16.exheres-0 new file mode 100644 index 00000000..07614849 --- /dev/null +++ b/packages/voip/umurmur/umurmur-0.2.16.exheres-0 @@ -0,0 +1,58 @@ +# Copyright 2016 Julian Ospald +# Distributed under the terms of the GNU General Public License v2 + + +require systemd-service +require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 ] ] + +DESCRIPTION="Minimalistic Murmur (Mumble server)" +HOMEPAGE="https://github.com/fatbob313/umurmur" +DOWNLOADS="https://github.com/fatbob313/${PN}/archive/${PV}.tar.gz -> ${PNV}.tar.gz" + +LICENCES="BSD" +SLOT="0" +PLATFORMS="~amd64 ~x86" + +MYOPTIONS=" + ( providers: libressl openssl ) [[ + number-selected = exactly-one + ]] +" + +DEPENDENCIES=" + build+run: + dev-libs/protobuf-c + dev-libs/libconfig + providers:libressl? ( dev-libs/libressl:= ) + providers:openssl? ( dev-libs/openssl ) + run: + group/umurmur + user/umurmur +" + + +DEFAULT_SRC_CONFIGURE_PARAMS=( + --with-ssl=openssl +) + +src_install() { + default + + insinto /etc/init.d + newins "${FILES}"/umurmurd.initd umurmurd + insinto /etc/conf.d + newins "${FILES}"/umurmurd.confd umurmurd + install_systemd_files + + local confdir="/etc/umurmur" + insinto "${confdir}" + doins "${FILES}"/umurmur.conf + + # Some permissions are adjusted as the config may contain a server + # password, and /etc/umurmur will typically contain the cert and the + # key used to sign it, which are read after priveleges are dropped. + chmod 0750 "${IMAGE%/}/${confdir}" + chown -R root:umurmur "${IMAGE%/}/${confdir}" + chmod 0640 "${IMAGE%/}/${confdir}"/umurmur.conf +} +