blob: 61f7d8175087a86f41aff1864bb4c8df9402f0e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
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
}
|