# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit cmake flag-o-matic systemd readme.gentoo-r1 tmpfiles DESCRIPTION="Mumble is an open source, low-latency, high quality voice chat software" HOMEPAGE="https://wiki.mumble.info" if [[ "${PV}" == 9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/mumble-voip/mumble.git" # 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 MY_P="${MY_PN}-${PV}" SRC_URI="https://dev.gentoo.org/~concord/distfiles/${MY_P}.tar.xz" S="${WORKDIR}/${MY_P}" else MY_PV="${PV/_/-}" MY_P="${MY_PN}-${MY_PV}" SRC_URI="https://github.com/mumble-voip/mumble/releases/download/${MY_PV}/${MY_P}.tar.gz https://dl.mumble.info/${MY_P}.tar.gz" S="${WORKDIR}/${MY_PN}-${PV/_*}.src" fi KEYWORDS="~amd64 ~x86" fi LICENSE="BSD" SLOT="0" IUSE="+ice test zeroconf" RESTRICT="!test? ( test )" RDEPEND=" acct-group/murmur acct-user/murmur >=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] dev-qt/qtsql:5[mysql] ) dev-qt/qtxml:5 sys-apps/lsb-release >=sys-libs/libcap-2.15 ice? ( dev-libs/Ice:= ) zeroconf? ( net-dns/avahi[mdnsresponder-compat] ) " DEPEND="${RDEPEND} dev-libs/boost dev-qt/qttest:5 " BDEPEND=" acct-group/murmur acct-user/murmur virtual/pkgconfig " DISABLE_AUTOFORMATTING="yes" DOC_CONTENTS=" 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 ' This will set the built-in 'SuperUser' password to '' when starting murmur. " src_prepare() { # Adjust default server settings to be correct for our default setup sed \ -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 # 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() { local mycmakeargs=( -DBUILD_TESTING="$(usex test)" -Dclient="OFF" -Dg15="OFF" -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 mycmakeargs+=( -DBUILD_NUMBER="$(ver_cut 3)" ) fi # https://bugs.gentoo.org/832978 # fix tests (and possibly runtime issues) on arches with unsigned chars append-cxxflags -fsigned-char cmake_src_configure } src_install() { cmake_src_install dodoc README.md insinto /etc/logrotate.d/ newins "${FILESDIR}"/murmur.logrotate murmur # Copy over the initd file so we can modify it incase zeroconf support is on. cp "${FILESDIR}"/murmur.initd-r2 "${T}"/murmur.initd || die if use zeroconf; then sed -e 's:need:need avahi-daemon:' -i "${T}"/murmur.initd || die fi 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 readme.gentoo_create_doc } pkg_postinst() { 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 }