summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-voip')
-rw-r--r--net-voip/murmur/files/murmur.confd-r29
-rw-r--r--net-voip/murmur/murmur-9999.ebuild113
2 files changed, 58 insertions, 64 deletions
diff --git a/net-voip/murmur/files/murmur.confd-r2 b/net-voip/murmur/files/murmur.confd-r2
new file mode 100644
index 000000000000..c8d3230b9974
--- /dev/null
+++ b/net-voip/murmur/files/murmur.confd-r2
@@ -0,0 +1,9 @@
+# where to look for the config file
+MURMUR_CONF=/etc/murmur/mumble-server.ini
+
+# run as this user
+MURMUR_USER=murmur
+
+# HOME directory of MURMUR_USER
+MURMUR_HOME=/var/lib/murmur
+
diff --git a/net-voip/murmur/murmur-9999.ebuild b/net-voip/murmur/murmur-9999.ebuild
index 767d7a494eb3..b5d57c5bea38 100644
--- a/net-voip/murmur/murmur-9999.ebuild
+++ b/net-voip/murmur/murmur-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,20 @@ HOMEPAGE="https://wiki.mumble.info"
if [[ "${PV}" == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/mumble-voip/mumble.git"
- EGIT_SUBMODULES=( '-*' 3rdparty/FindPythonInterpreter 3rdparty/gsl 3rdparty/tracy )
+
+ # needed for the included 3rdparty license script,
+ # even if these components may not be compiled in
+ EGIT_SUBMODULES=(
+ '-*'
+ 3rdparty/cmake-compiler-flags
+ 3rdparty/FindPythonInterpreter
+ 3rdparty/gsl
+ 3rdparty/minhook
+ 3rdparty/opus
+ 3rdparty/rnnoise-src
+ 3rdparty/speexdsp
+ 3rdparty/tracy
+ )
else
MY_PN="mumble"
if [[ "${PV}" == *_pre* ]] ; then
@@ -29,7 +42,7 @@ fi
LICENSE="BSD"
SLOT="0"
-IUSE="+dbus grpc +ice test zeroconf"
+IUSE="+ice test zeroconf"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -38,6 +51,7 @@ RDEPEND="
>=dev-libs/openssl-1.0.0b:0=
>=dev-libs/protobuf-2.2.0:=
dev-qt/qtcore:5
+ dev-qt/qtdbus:5
dev-qt/qtnetwork:5[ssl]
|| (
dev-qt/qtsql:5[sqlite]
@@ -46,8 +60,6 @@ RDEPEND="
dev-qt/qtxml:5
sys-apps/lsb-release
>=sys-libs/libcap-2.15
- dbus? ( dev-qt/qtdbus:5 )
- grpc? ( net-libs/grpc )
ice? ( dev-libs/Ice:= )
zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
"
@@ -62,58 +74,43 @@ BDEPEND="
virtual/pkgconfig
"
-if [[ "${PV}" == *9999 ]] ; then
- # Required for the mkini.sh script which calls perl multiple times
- BDEPEND+="
- dev-lang/perl
- "
-fi
-
+DISABLE_AUTOFORMATTING="yes"
DOC_CONTENTS="
- Useful scripts are located in /usr/share/doc/${PF}/scripts.\n
- Please execute:\n
- murmurd -ini /etc/murmur/murmur.ini -supw <pw>\n
- chown murmur:murmur /var/lib/murmur/murmur.sqlite\n
- to set the build-in 'SuperUser' password before starting murmur.
- Please restart dbus before starting murmur, or else dbus
- registration will fail.
+The default 'SuperUser' password will be written into the log file
+when starting murmur for the first time.
+
+If you want to manually set a password yourself, please execute:
+su murmur -s /bin/bash -c 'mumble-server -ini /etc/murmur/mumble-server.ini -supw <pw>'
+
+This will set the built-in 'SuperUser' password to '<pw>' when starting murmur.
"
src_prepare() {
- if [[ "${PV}" == *9999 ]] ; then
- pushd scripts &>/dev/null || die
- ./mkini.sh || die
- popd &>/dev/null || die
- fi
-
+ # Adjust default server settings to be correct for our default setup
sed \
- -e 's:mumble-server:murmur:g' \
- -e 's:/var/run:/run:g' \
- -i "${S}"/scripts/murmur.{conf,ini} || die
+ -e 's:database=:database=/var/lib/murmur/database.sqlite:' \
+ -e 's:;logfile=mumble-server.log:logfile=/var/log/murmur/murmur.log:' \
+ -e 's:;pidfile=:pidfile=/run/murmur/murmur.pid:' \
+ -i auxiliary_files/mumble-server.ini || die
- # Adjust systemd service file to our config location #689208
- sed \
- -e "s@/etc/${PN}\.ini@/etc/${PN}/${PN}.ini@" \
- -e "s@murmurd@mumble-server@" \
- -i scripts/${PN}.service || die
+ # Replace the default group and user _mumble-server with murmur
+ grep -r -l _mumble-server auxiliary_files/ | xargs sed -i 's/_mumble-server/murmur/g' || die
cmake_src_prepare
}
src_configure() {
- myuse() {
- [[ -n "${1}" ]] || die "myconf: No use flag given."
- use ${1} || echo "no-${1}"
- }
local mycmakeargs=(
-DBUILD_TESTING="$(usex test)"
-Dclient="OFF"
- -Ddbus="$(usex dbus)"
-Dg15="OFF"
- -Dgrpc="$(usex grpc)"
-Dice="$(usex ice)"
+ -DMUMBLE_INSTALL_SYSCONFDIR="/etc/murmur"
-Doverlay="OFF"
-Dserver="ON"
+ -DMUMBLE_INSTALL_SERVICEFILEDIR=$(systemd_get_systemunitdir)
+ -DMUMBLE_INSTALL_SYSUSERSDIR=$(systemd_get_userunitdir)
+ -DMUMBLE_INSTALL_TMPFILESDIR="/usr/lib/tmpfiles.d"
-Dzeroconf="$(usex zeroconf)"
)
if [[ "${PV}" != 9999 ]] ; then
@@ -132,44 +129,32 @@ src_install() {
dodoc README.md
- docinto scripts
- dodoc -r scripts/server
- docompress -x /usr/share/doc/${PF}/scripts
-
- local etcdir="/etc/murmur"
- insinto ${etcdir}
- doins scripts/${PN}.ini
-
insinto /etc/logrotate.d/
newins "${FILESDIR}"/murmur.logrotate murmur
- insinto /etc/dbus-1/system.d/
- doins scripts/murmur.conf
+ # Copy over the initd file so we can modify it incase zeroconf support is on.
+ cp "${FILESDIR}"/murmur.initd-r2 "${T}"/murmur.initd || die
- insinto /usr/share/murmur/
- doins src/murmur/Murmur.ice
-
- newinitd "${FILESDIR}"/murmur.initd-r2 murmur
- newconfd "${FILESDIR}"/murmur.confd murmur
+ if use zeroconf; then
+ sed -e 's:need:need avahi-daemon:' -i "${T}"/murmur.initd || die
+ fi
- systemd_dounit scripts/${PN}.service
- newtmpfiles "${FILESDIR}"/murmurd-dbus.tmpfiles "${PN}".conf
+ newinitd "${T}"/murmur.initd murmur
+ newconfd "${FILESDIR}"/murmur.confd-r2 murmur
keepdir /var/lib/murmur /var/log/murmur
fowners -R murmur /var/lib/murmur /var/log/murmur
fperms 750 /var/lib/murmur /var/log/murmur
- # Fix permissions on config file as it might contain passwords.
- # (bug #559362)
- fowners root:murmur ${etcdir}/murmur.ini
- fperms 640 ${etcdir}/murmur.ini
-
- newman man/mumble-server.1 murmurd.1
-
readme.gentoo_create_doc
}
pkg_postinst() {
- tmpfiles_process ${PN}.conf
+ tmpfiles_process mumble-server.conf
readme.gentoo_print_elog
+
+ if use zeroconf; then
+ elog "To turn on the zeroconf functionality, you need to uncomment and"
+ elog "change the 'bonjour=false' setting in mumble-server.ini to 'true'"
+ fi
}