summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-voip/murmur/murmur-9999.ebuild')
-rw-r--r--net-voip/murmur/murmur-9999.ebuild170
1 files changed, 170 insertions, 0 deletions
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
+}