commit:     5321ea9752e70e9f151b927d4bffefad49d878cf
Author:     Sebastian Parborg <darkdefende <AT> gmail <DOT> com>
AuthorDate: Fri Apr 28 12:11:18 2023 +0000
Commit:     Kenton Groombridge <concord <AT> gentoo <DOT> org>
CommitDate: Fri Feb  9 14:40:46 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5321ea97

net-voip/murmur: add 1.4.287-r2

The default install would not run out of the box and one needed to
change the following to get it up and running:

- Set the pidfile option to /run/murmur/murmur.pid in .ini config file

- Change logfile setting to /var/log/murmur/murmur.log in ini file

- Specify the data base location to /var/lib/murmur/database.sqlite in
  the ini file. Otherwise it would complain that the database was read
  only and wouldn't start.

- Needed to add avahi-daemon to "use" in the depend section in the init.d
  script to get zeroconf functionality to work.

- Fix avahi command in initd file

Clarified and simplified the post install message as well.

Signed-off-by: Sebastian Parborg <darkdefende <AT> gmail.com>
Signed-off-by: Kenton Groombridge <concord <AT> gentoo.org>

 net-voip/murmur/murmur-1.4.287-r2.ebuild | 200 +++++++++++++++++++++++++++++++
 1 file changed, 200 insertions(+)

diff --git a/net-voip/murmur/murmur-1.4.287-r2.ebuild 
b/net-voip/murmur/murmur-1.4.287-r2.ebuild
new file mode 100644
index 000000000000..f439f3c88309
--- /dev/null
+++ b/net-voip/murmur/murmur-1.4.287-r2.ebuild
@@ -0,0 +1,200 @@
+# 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";
+       EGIT_SUBMODULES=( '-*' )
+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/v${MY_PV}/${MY_P}.tar.gz
+                       https://dl.mumble.info/${MY_P}.tar.gz";
+               S="${WORKDIR}/${MY_P}.src"
+       fi
+       KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+
+SRC_URI+=" 
https://dev.gentoo.org/~concord/distfiles/mumble-1.4-openssl3.patch.xz";
+SRC_URI+=" 
https://dev.gentoo.org/~concord/distfiles/mumble-1.4-crypto-threads.patch.xz";
+SRC_URI+=" https://dev.gentoo.org/~concord/distfiles/mumble-1.4-odr.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[ssl]
+       || (
+               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
+       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.
+       The defualt 'SuperUser' password will be written into the log file
+       when starting murmur for the first time.
+       If you want to set it yourself, please execute:
+       su murmur -s /bin/bash -c 'mumble-server -ini /etc/murmur/murmur.ini 
-supw <pw>'
+       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"
+       "${WORKDIR}/mumble-1.4-crypto-threads.patch"
+       "${WORKDIR}/mumble-1.4-odr.patch"
+)
+
+src_prepare() {
+       if [[ "${PV}" == *9999 ]] ; then
+               pushd scripts &>/dev/null || die
+               ./mkini.sh || die
+               popd &>/dev/null || die
+       fi
+
+       # Change dbus user from mumble-server to murmur
+       sed \
+               -e 's:mumble-server:murmur:g' \
+               -i "${S}"/scripts/murmur.conf || die
+
+       # Adjust default server settings to be correct for our default setup
+       sed \
+               -e 's:database=:database=/var/lib/murmur/database.sqlite:' \
+               -e 's:;logfile=murmur.log:logfile=/var/log/murmur/murmur.log:' \
+               -e 's:;pidfile=:pidfile=/run/murmur/murmur.pid:' \
+               -i "${S}"/scripts/murmur.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
+
+       # 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 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
+
+       # Copy over the initd file so we can modify it incase zeroconf support 
is on.
+       cp "${FILESDIR}"/murmur.initd-r2 "${T}"/murmur.initd
+
+       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 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/mumble-server.1
+
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       tmpfiles_process ${PN}.conf
+       readme.gentoo_print_elog
+}

Reply via email to