diff options
Diffstat (limited to 'net-voip/murmur')
-rw-r--r-- | net-voip/murmur/Manifest | 4 | ||||
-rw-r--r-- | net-voip/murmur/files/murmur.confd | 9 | ||||
-rw-r--r-- | net-voip/murmur/files/murmur.initd-r1 | 25 | ||||
-rw-r--r-- | net-voip/murmur/files/murmur.initd-r2 | 24 | ||||
-rw-r--r-- | net-voip/murmur/files/murmur.logrotate | 8 | ||||
-rw-r--r-- | net-voip/murmur/files/murmurd-dbus.tmpfiles | 1 | ||||
-rw-r--r-- | net-voip/murmur/metadata.xml | 15 | ||||
-rw-r--r-- | net-voip/murmur/murmur-1.3.3.ebuild | 162 | ||||
-rw-r--r-- | net-voip/murmur/murmur-1.3.4.ebuild | 162 | ||||
-rw-r--r-- | net-voip/murmur/murmur-1.4.230-r2.ebuild | 176 | ||||
-rw-r--r-- | net-voip/murmur/murmur-9999.ebuild | 170 |
11 files changed, 756 insertions, 0 deletions
diff --git a/net-voip/murmur/Manifest b/net-voip/murmur/Manifest new file mode 100644 index 000000000000..04a9a00d763c --- /dev/null +++ b/net-voip/murmur/Manifest @@ -0,0 +1,4 @@ +DIST mumble-1.3.3.tar.gz 8591354 BLAKE2B e5bf4d0a21f3c9af761b0892c4a5a7d86244d3283070976fe7a779a10567ffd857e0c19dad750cdbae40d851ce1dcf17b66c63a2cb5142a13358af6f272445dd SHA512 be4c6d4de82a1059bf30d4c7e3c44e41e4bb50dc4a811b7d0def808c52059ff7bcccf65140db940f18cc1bb66d58ea4dab23ba5dcfae3b8b904866751f32edb3 +DIST mumble-1.3.4.tar.gz 8592741 BLAKE2B bcde3fd859ec4faea06f996cd4c583af7c0b8409cca79cb05ef8ba7fcdeac9e49ed1d07a4131225dd582da7610190d4006abc731fd4276b2288e02e8c18effb6 SHA512 e2dde5aad30d1a931e7acd8d7db0b8c785d3a268d0b8cf5626fa03953a51bcadb719c6682c440d02524e83beee13d73d8f5bb3fdf98ab1c82d3ecf824cc25f68 +DIST mumble-1.4-openssl3.patch.xz 4172 BLAKE2B 5b68f023e218628a4d73b0991dcc7790ce5f92ce6a27c372c5e80b1f3a8beafa3ddd6416b884705b321aee31ea4f5e09dda6ceb240272dde64f420fbeb06845a SHA512 3a4e504f3365e93418cb85d0da4e6f2f54ab904283743907604bb39276560a4215d9bea1b225601789d1c3d84d270c04840ec57cd04e3df1204cc586ea42562a +DIST mumble-1.4.230.tar.gz 9441667 BLAKE2B da433f3c15d7e45dfac0c8a78c9dbe86ba8d5cd078d2d87fd4d90718968fc9e5928c3c5c5ba2e40a8a54d02a646c5fc6a7ee2fff4b71dfa411d74f395b097c26 SHA512 6cffc7a95d88b33876f4093b99266468210f5c14f190fbd2fbe4991bef91a567e55296e7c8c6cc99e19c054853211085cc3cc08109e367e6776afb70766b3a53 diff --git a/net-voip/murmur/files/murmur.confd b/net-voip/murmur/files/murmur.confd new file mode 100644 index 000000000000..36367c51136b --- /dev/null +++ b/net-voip/murmur/files/murmur.confd @@ -0,0 +1,9 @@ +# where to look for the config file +MURMUR_CONF=/etc/murmur/murmur.ini + +# run as this user +MURMUR_USER=murmur + +# HOME directory of MURMUR_USER +MURMUR_HOME=/var/lib/murmur + diff --git a/net-voip/murmur/files/murmur.initd-r1 b/net-voip/murmur/files/murmur.initd-r1 new file mode 100644 index 000000000000..fe49b32f1410 --- /dev/null +++ b/net-voip/murmur/files/murmur.initd-r1 @@ -0,0 +1,25 @@ +#!/sbin/openrc-run + +pidfile="/run/murmur/murmur.pid" +command="/usr/bin/murmurd" +command_args="-ini \"${MURMUR_CONF}\"" +start_stop_daemon_args="-u \"${MURMUR_USER}\" --env HOME=\"${MURMUR_HOME}\" --wait 20" +extra_started_commands="reload" + +depend() { + need localmount net + use dbus logger + after bootmisc mysql +} + +start_pre() { + checkpath -q -d -o ${MURMUR_USER} ${pidfile%/*} +} + +reload() { + ebegin "Reloading Murmur" + start-stop-daemon --signal HUP --pidfile "${pidfile}" \ + --exec ${command} + eend $? +} + diff --git a/net-voip/murmur/files/murmur.initd-r2 b/net-voip/murmur/files/murmur.initd-r2 new file mode 100644 index 000000000000..b754c242462b --- /dev/null +++ b/net-voip/murmur/files/murmur.initd-r2 @@ -0,0 +1,24 @@ +#!/sbin/openrc-run + +pidfile="/run/murmur/murmur.pid" +command="/usr/bin/mumble-server" +command_args="-ini \"${MURMUR_CONF}\"" +start_stop_daemon_args="-u \"${MURMUR_USER}\" --env HOME=\"${MURMUR_HOME}\" --wait 20" +extra_started_commands="reload" + +depend() { + need localmount net + use dbus logger + after bootmisc mysql +} + +start_pre() { + checkpath -q -d -o ${MURMUR_USER} ${pidfile%/*} +} + +reload() { + ebegin "Reloading Murmur" + start-stop-daemon --signal HUP --pidfile "${pidfile}" \ + --exec ${command} + eend $? +} diff --git a/net-voip/murmur/files/murmur.logrotate b/net-voip/murmur/files/murmur.logrotate new file mode 100644 index 000000000000..a82cb1a336c4 --- /dev/null +++ b/net-voip/murmur/files/murmur.logrotate @@ -0,0 +1,8 @@ +/var/log/murmur/*.log { + missingok + notifempty + sharedscripts + postrotate + test -r /run/murmur/murmur.pid && kill -HUP $(cat /run/murmur/murmur.pid) &>/dev/null + endscript +} diff --git a/net-voip/murmur/files/murmurd-dbus.tmpfiles b/net-voip/murmur/files/murmurd-dbus.tmpfiles new file mode 100644 index 000000000000..70963d0a575b --- /dev/null +++ b/net-voip/murmur/files/murmurd-dbus.tmpfiles @@ -0,0 +1 @@ +d /run/murmur 0755 murmur murmur diff --git a/net-voip/murmur/metadata.xml b/net-voip/murmur/metadata.xml new file mode 100644 index 000000000000..453aea68c4d9 --- /dev/null +++ b/net-voip/murmur/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>concord@gentoo.org</email> + <name>Kenton Groombridge</name> + </maintainer> + <use> + <flag name="grpc">Use <pkg>net-libs/grpc</pkg> to enable remote control capabilities.</flag> + <flag name="ice">Use <pkg>dev-libs/Ice</pkg> to enable remote control capabilities.</flag> + </use> + <upstream> + <remote-id type="sourceforge">mumble</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-voip/murmur/murmur-1.3.3.ebuild b/net-voip/murmur/murmur-1.3.3.ebuild new file mode 100644 index 000000000000..02674b111771 --- /dev/null +++ b/net-voip/murmur/murmur-1.3.3.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit qmake-utils 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" + EGIT_SUBMODULES=( '-*' ) +else + MY_PN="mumble" + if [[ "${PV}" == *_pre* ]] ; then + MY_P="${MY_PN}-${PV}" + SRC_URI="https://dev.gentoo.org/~polynomial-c/dist/${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/_*}" + fi + KEYWORDS="amd64 ~arm x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="+dbus debug +ice pch zeroconf" + +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/qtnetwork:5 + || ( + dev-qt/qtsql:5[sqlite] + dev-qt/qtsql:5[mysql] + ) + dev-qt/qtxml:5 + sys-apps/lsb-release + >=sys-libs/libcap-2.15 + dbus? ( dev-qt/qtdbus:5 ) + ice? ( dev-libs/Ice:= ) + zeroconf? ( net-dns/avahi[mdnsresponder-compat] ) +" + +DEPEND="${RDEPEND} + >=dev-libs/boost-1.41.0 +" +BDEPEND=" + acct-group/murmur + acct-user/murmur + virtual/pkgconfig +" + +if [[ "${PV}" == *9999 ]] ; then + # Required for the mkini.sh script which calls perl multiple times + BDEPEND+=" + dev-lang/perl + " +fi + +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. +" + +src_prepare() { + default + + if [[ "${PV}" == *9999 ]] ; then + pushd scripts &>/dev/null || die + ./mkini.sh || die + popd &>/dev/null || die + fi + + sed \ + -e 's:mumble-server:murmur:g' \ + -e 's:/var/run:/run:g' \ + -i "${S}"/scripts/murmur.{conf,ini.system} || die + + # Adjust systemd service file to our config location #689208 + sed "s@/etc/${PN}\.ini@/etc/${PN}/${PN}.ini@" \ + -i scripts/${PN}.service || die +} + +src_configure() { + myuse() { + [[ -n "${1}" ]] || die "myconf: No use flag given." + use ${1} || echo "no-${1}" + } + local conf_add=( + no-client + $(myuse dbus) + $(usex debug 'symbols debug' release) + $(myuse ice) + $(myuse pch) + $(usex zeroconf '' no-bonjour) + ) + + eqmake5 main.pro -recursive \ + CONFIG+="${conf_add[*]}" +} + +src_install() { + dodoc README CHANGES + + docinto scripts + dodoc -r scripts/server + docompress -x /usr/share/doc/${PF}/scripts + + local dir="$(usex debug debug release)" + dobin "${dir}"/murmurd + + local etcdir="/etc/murmur" + insinto ${etcdir} + newins scripts/${PN}.ini.system ${PN}.ini + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/murmur.logrotate murmur + + insinto /etc/dbus-1/system.d/ + doins scripts/murmur.conf + + insinto /usr/share/murmur/ + doins src/murmur/Murmur.ice + + newinitd "${FILESDIR}"/murmur.initd-r1 murmur + newconfd "${FILESDIR}"/murmur.confd murmur + + systemd_dounit scripts/${PN}.service + newtmpfiles "${FILESDIR}"/murmurd-dbus.tmpfiles "${PN}".conf + + 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 + + doman man/murmurd.1 + + readme.gentoo_create_doc +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + readme.gentoo_print_elog +} diff --git a/net-voip/murmur/murmur-1.3.4.ebuild b/net-voip/murmur/murmur-1.3.4.ebuild new file mode 100644 index 000000000000..a2034bc55449 --- /dev/null +++ b/net-voip/murmur/murmur-1.3.4.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit qmake-utils 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" + EGIT_SUBMODULES=( '-*' ) +else + MY_PN="mumble" + if [[ "${PV}" == *_pre* ]] ; then + MY_P="${MY_PN}-${PV}" + SRC_URI="https://dev.gentoo.org/~polynomial-c/dist/${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/_*}" + fi + KEYWORDS="~amd64 ~arm ~x86" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="+dbus debug +ice pch zeroconf" + +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/qtnetwork:5 + || ( + dev-qt/qtsql:5[sqlite] + dev-qt/qtsql:5[mysql] + ) + dev-qt/qtxml:5 + sys-apps/lsb-release + >=sys-libs/libcap-2.15 + dbus? ( dev-qt/qtdbus:5 ) + ice? ( dev-libs/Ice:= ) + zeroconf? ( net-dns/avahi[mdnsresponder-compat] ) +" + +DEPEND="${RDEPEND} + >=dev-libs/boost-1.41.0 +" +BDEPEND=" + acct-group/murmur + acct-user/murmur + virtual/pkgconfig +" + +if [[ "${PV}" == *9999 ]] ; then + # Required for the mkini.sh script which calls perl multiple times + BDEPEND+=" + dev-lang/perl + " +fi + +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. +" + +src_prepare() { + default + + if [[ "${PV}" == *9999 ]] ; then + pushd scripts &>/dev/null || die + ./mkini.sh || die + popd &>/dev/null || die + fi + + sed \ + -e 's:mumble-server:murmur:g' \ + -e 's:/var/run:/run:g' \ + -i "${S}"/scripts/murmur.{conf,ini.system} || die + + # Adjust systemd service file to our config location #689208 + sed "s@/etc/${PN}\.ini@/etc/${PN}/${PN}.ini@" \ + -i scripts/${PN}.service || die +} + +src_configure() { + myuse() { + [[ -n "${1}" ]] || die "myconf: No use flag given." + use ${1} || echo "no-${1}" + } + local conf_add=( + no-client + $(myuse dbus) + $(usex debug 'symbols debug' release) + $(myuse ice) + $(myuse pch) + $(usex zeroconf '' no-bonjour) + ) + + eqmake5 main.pro -recursive \ + CONFIG+="${conf_add[*]}" +} + +src_install() { + dodoc README CHANGES + + docinto scripts + dodoc -r scripts/server + docompress -x /usr/share/doc/${PF}/scripts + + local dir="$(usex debug debug release)" + dobin "${dir}"/murmurd + + local etcdir="/etc/murmur" + insinto ${etcdir} + newins scripts/${PN}.ini.system ${PN}.ini + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/murmur.logrotate murmur + + insinto /etc/dbus-1/system.d/ + doins scripts/murmur.conf + + insinto /usr/share/murmur/ + doins src/murmur/Murmur.ice + + newinitd "${FILESDIR}"/murmur.initd-r1 murmur + newconfd "${FILESDIR}"/murmur.confd murmur + + systemd_dounit scripts/${PN}.service + newtmpfiles "${FILESDIR}"/murmurd-dbus.tmpfiles "${PN}".conf + + 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 + + doman man/murmurd.1 + + readme.gentoo_create_doc +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + readme.gentoo_print_elog +} diff --git a/net-voip/murmur/murmur-1.4.230-r2.ebuild b/net-voip/murmur/murmur-1.4.230-r2.ebuild new file mode 100644 index 000000000000..d0e26545bd3d --- /dev/null +++ b/net-voip/murmur/murmur-1.4.230-r2.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake 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" + EGIT_SUBMODULES=( '-*' ) +else + MY_PN="mumble" + if [[ "${PV}" == *_pre* ]] ; then + MY_P="${MY_PN}-${PV}" + SRC_URI="https://dev.gentoo.org/~polynomial-c/dist/${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 + +SRC_URI+=" https://dev.gentoo.org/~polynomial-c/mumble-1.4-openssl3.patch.xz" + +LICENSE="BSD" +SLOT="0" +IUSE="+dbus grpc +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/qtnetwork:5 + || ( + dev-qt/qtsql:5[sqlite] + dev-qt/qtsql:5[mysql] + ) + 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] ) +" + +DEPEND="${RDEPEND} + >=dev-libs/boost-1.41.0 + dev-qt/qttest:5 +" +BDEPEND=" + acct-group/murmur + acct-user/murmur + virtual/pkgconfig +" + +if [[ "${PV}" == *9999 ]] ; then + # Required for the mkini.sh script which calls perl multiple times + BDEPEND+=" + dev-lang/perl + " +fi + +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. +" + +PATCHES=( + "${WORKDIR}/mumble-1.4-openssl3.patch" +) + +src_prepare() { + if [[ "${PV}" == *9999 ]] ; then + pushd scripts &>/dev/null || die + ./mkini.sh || die + popd &>/dev/null || die + fi + + sed \ + -e 's:mumble-server:murmur:g' \ + -e 's:/var/run:/run:g' \ + -i "${S}"/scripts/murmur.{conf,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 + + 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)" + -Doverlay="OFF" + -Dserver="ON" + -Dzeroconf="$(usex zeroconf)" + ) + if [[ "${PV}" != 9999 ]] ; then + mycmakeargs+=( -DBUILD_NUMBER="$(ver_cut 3)" ) + fi + cmake_src_configure +} + +src_install() { + cmake_src_install + + dodoc README.md CHANGES + + 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 + + insinto /usr/share/murmur/ + doins src/murmur/Murmur.ice + + newinitd "${FILESDIR}"/murmur.initd-r2 murmur + newconfd "${FILESDIR}"/murmur.confd murmur + + systemd_dounit scripts/${PN}.service + newtmpfiles "${FILESDIR}"/murmurd-dbus.tmpfiles "${PN}".conf + + 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 + + doman man/murmurd.1 + + readme.gentoo_create_doc +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + readme.gentoo_print_elog +} diff --git a/net-voip/murmur/murmur-9999.ebuild b/net-voip/murmur/murmur-9999.ebuild new file mode 100644 index 000000000000..d5c37496cf5d --- /dev/null +++ b/net-voip/murmur/murmur-9999.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake 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" + EGIT_SUBMODULES=( '-*' ) +else + MY_PN="mumble" + if [[ "${PV}" == *_pre* ]] ; then + MY_P="${MY_PN}-${PV}" + SRC_URI="https://dev.gentoo.org/~polynomial-c/dist/${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="+dbus grpc +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/qtnetwork:5 + || ( + dev-qt/qtsql:5[sqlite] + dev-qt/qtsql:5[mysql] + ) + 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] ) +" + +DEPEND="${RDEPEND} + >=dev-libs/boost-1.41.0 + dev-qt/qttest:5 +" +BDEPEND=" + acct-group/murmur + acct-user/murmur + virtual/pkgconfig +" + +if [[ "${PV}" == *9999 ]] ; then + # Required for the mkini.sh script which calls perl multiple times + BDEPEND+=" + dev-lang/perl + " +fi + +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. +" + +src_prepare() { + if [[ "${PV}" == *9999 ]] ; then + pushd scripts &>/dev/null || die + ./mkini.sh || die + popd &>/dev/null || die + fi + + sed \ + -e 's:mumble-server:murmur:g' \ + -e 's:/var/run:/run:g' \ + -i "${S}"/scripts/murmur.{conf,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 + + 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)" + -Doverlay="OFF" + -Dserver="ON" + -Dzeroconf="$(usex zeroconf)" + ) + if [[ "${PV}" != 9999 ]] ; then + mycmakeargs+=( -DBUILD_NUMBER="$(ver_cut 3)" ) + fi + cmake_src_configure +} + +src_install() { + cmake_src_install + + dodoc README.md CHANGES + + 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 + + insinto /usr/share/murmur/ + doins src/murmur/Murmur.ice + + newinitd "${FILESDIR}"/murmur.initd-r2 murmur + newconfd "${FILESDIR}"/murmur.confd murmur + + systemd_dounit scripts/${PN}.service + newtmpfiles "${FILESDIR}"/murmurd-dbus.tmpfiles "${PN}".conf + + 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 + + doman man/murmurd.1 + + readme.gentoo_create_doc +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + readme.gentoo_print_elog +} |