aboutsummaryrefslogtreecommitdiffstats
path: root/community/mumble/APKBUILD
blob: cd24090508b40d7b6e09aaf3abebe245efb43808 (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
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
pkgname=mumble
pkgver=1.4.287
_libver=1.4.0
pkgrel=1
pkgdesc="Low-latency, high quality voice chat software"
url="https://wiki.mumble.info/"
arch="all !x86" # since v1.4.274 fail to build on 32bit x86
license="BSD-3-Clause"
options="!check"
depends="qt5-qtbase-sqlite"
makedepends="
	alsa-lib-dev
	avahi-dev
	boost-dev
	cmake
	libcap-dev
	libsndfile-dev
	libxi-dev
	openssl-dev>3
	opus-dev
	poco-dev
	protobuf-dev
	qt5-qtbase-dev
	qt5-qtsvg-dev
	qt5-qttools-dev
	samurai
	speex-dev
	speexdsp-dev
	rnnoise-dev
	"
install="murmur.pre-install"
pkgusers="murmur"
pkggroups="murmur"
subpackages="
	$pkgname-doc
	murmur
	murmur-openrc:murmur_openrc:noarch
	murmur-doc:murmur_doc:noarch
	"
source="https://github.com/mumble-voip/mumble/releases/download/v$pkgver/mumble-$pkgver.tar.gz
	murmur.initd

	poll.patch
	libgen.patch
	musl-1.2.3.patch
	openssl3.patch
	"
builddir="$srcdir/$pkgname-$pkgver.src"

# secfixes:
#   1.3.4-r0:
#     - CVE-2021-27229
#   1.2.19-r9:
#     - CVE-2018-20743

build() {
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=MinSizeRel \
		-Doverlay-xcompile=OFF \
		-Dspeechd=OFF \
		-Dice=OFF \
		-Drnnoise=OFF \
		-Dbundled-celt=ON \
		-Dbundle-qt-translations=OFF \
		-Dbundled-speex=OFF \
		-Dbundled-opus=OFF \
		-Dbundled-rnnoise=OFF \
		.
	cmake --build build
}

package() {
	DESTDIR="$pkgdir" cmake --install build

	# license
	install -Dm644 ./LICENSE \
		"$pkgdir"/usr/share/licenses/$pkgname/LICENSE
	# openrc service
	install -Dm755 "$srcdir"/murmur.initd "$pkgdir"/etc/init.d/murmur
	# server binary is in the murmur package
	rm "$pkgdir"/usr/bin/mumble-server
	rm "$pkgdir"/usr/share/man/man1/mumble-server*
}

murmur() {
	pkgdesc="Murmur is the server component of Mumble"
	cd "$builddir"

	# Regarding the murmurd <-> mumble-server naming
	# See: https://github.com/mumble-voip/mumble
	# Currently, we continue using murmurd everywhere
	# but provide a mumble-server -> murmurd symlink.
	install -o murmur -g murmur -dm755 \
		"$subpkgdir"/var/lib/murmur
	install -Dm755 ./build/mumble-server \
		"$subpkgdir"/usr/bin/murmurd
	ln -s /usr/bin/murmurd "$subpkgdir"/usr/bin/mumble-server
	install -Dm644 ./scripts/murmur.ini \
		"$subpkgdir"/etc/murmur.ini
	install -Dm755 ./scripts/mumble-server-user-wrapper \
		"$subpkgdir"/usr/bin/mumble-server-user-wrapper

	sed 's/^database=$/database=\/var\/lib\/murmur\/murmur.sqlite/;\
		s/^;uname=$/uname=murmur/;\
		s/^;logfile=murmur.log$/logfile=\/var\/log\/murmur.log/;\
		s/^;pidfile=$/pidfile=\/var\/run\/murmur\/murmur.pid/'\
		-i "$subpkgdir"/etc/murmur.ini

	install -Dm644 ./scripts/murmur.conf \
		"$subpkgdir"/usr/share/dbus-1/system.d/murmurd.conf
	sed "s/mumble-server/murmur/" \
		-i "$subpkgdir"/usr/share/dbus-1/system.d/murmurd.conf
}

murmur_doc() {
	pkgdesc="Documentation for the server component of Mumble"

	cd "$builddir"
	install -Dm644 ./man/mumble-server.1 \
		"$subpkgdir"/usr/share/man/man1/murmurd.1
	ln -s /usr/share/man/man1/murmurd.1 \
		"$subpkgdir"/usr/share/man/man1/mumble-server.1
	install -Dm644 ./man/mumble-server-user-wrapper.1 \
		"$subpkgdir"/usr/share/man/man1/mumble-server-user-wrapper.1
	install -Dm644 ./LICENSE \
		"$subpkgdir"/usr/share/licenses/murmur/LICENSE
	default_doc
}

murmur_openrc() {
	default_openrc
	install_if="murmur=$pkgver-r$pkgrel openrc"
}

sha512sums="
34ed30c18257ba8deae6938009a90147c8bc3a0aca28e69bea7ec0262e8d2cdacb9a840fac7d3dd623a52ef8d5903ed5424b62b483af21d6df6aa9632eae9d82  mumble-1.4.287.tar.gz
1edccadd87446a6b9f5b87f19405f92e3450c48334c79fba4bc2c31224be767be084488c4352f14e64b7506b5963d1d6f3d8d4c7ea8e8276104d19a4a03892c6  murmur.initd
2d35b71ce9b537fc3c1d9ec1a280a20209aa0e751b4a4bc8b3ea0d97418787ec19c708d88b51b3acab69f51a601dfa3ae49956afd78bbbe1122f879a58284f5e  poll.patch
2dac9e8e321c7a9837a0e4e2b368c39ffa525012316063e02ae5286c215967e88007a4d89590c251e11020e3d50f8f08eb050a3a02526f758d128b7b061580d2  libgen.patch
2cc0a17a31bf9a436ea97447f958b7a93e96b0fcd020e5389ccfc413b6498b5176294d2b9c788a68cdfac47dabca8e6e28699f5ad184dcde4d30feb88d2e99b3  musl-1.2.3.patch
47560d4f2710b0286b6e9c08cb9d0271636987194e982b9e63690cd9a4bb8a6d4390d3651c2f48f307cf11b96b0cf5213f71c05fb00b07f655f13339bec53ecf  openssl3.patch
"