aboutsummaryrefslogtreecommitdiffstats
path: root/testing/sems/APKBUILD
blob: dc3a3ba73cfd247b40e0cd17f08f61af2d2fadee (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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# Contributor: Francesco Colista <francesco.colista@gmail.com>
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=sems
pkgver=1.6.0
pkgrel=11
pkgdesc="SIP Express Media Server, an extensible SIP media server"
url="https://github.com/sems-server/sems/"
arch="all"
license="GPL-2.0-or-later"
# upstream does not provide test
options="!check"
pkgusers="sems"
pkggroups="sems"
install="$pkgname.pre-install"
makedepends="cmake bash openssl-dev linux-headers
	libsamplerate-dev spandsp-dev flite-dev gsm-dev speex-dev
	libevent-dev libev-dev lame-dev tiff-dev"
subpackages="$pkgname-doc $pkgname-conference
	$pkgname-diameter_client $pkgname-early_announce
	$pkgname-g722 $pkgname-gsm $pkgname-mp3 $pkgname-speex $pkgname-xmlrpc2di
	$pkgname-webconference $pkgname-voicebox $pkgname-voicemail
	$pkgname-annrecorder $pkgname-jsonrpc $pkgname-registrar $pkgname-openrc"

source="$pkgname-$pkgver.tar.gz::https://github.com/sems-server/sems/archive/$pkgver.tar.gz
	sems-0001-Force-to-use-system-wide-GSM-includes.patch
	sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
	sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
	sems-0004-musl-fixes.patch
	sems-0005-stats-needs-version.patch
	sems-0011-Add-SBC-dependencies.patch
	std-types.patch
	sems-0013-Fix-for-C-11.patch
	Fix-find-openssl.patch
	Fix-openssl-1.1.patch
	remove-dsm.patch

	sems.initd
	"
#	sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch
#	sems-0006-last-minute-fix-proper-version.patch
#	sems-0008-Install-email-template.patch
#	sems-0009-Don-t-start-py_sems-by-default.patch

# applied:
#	sems-0004-fix-PRACK-route.patch
#	sems-0007-Fix-gateway-module-s-version-passing-in-CMake.patch
#	sems-0010-Move-CMake-defines.patch

replaces="
	$pkgname-ivr
	$pkgname-mailbox
	$pkgname-conf_auth
	$pkgname-pin_collect
	$pkgname-dsm
	" # Removed in 1.6.0-r10 (due to depending on EOL python)

prepare() {
	default_prepare
	rm -rf core/plug-in/gsm/gsm-1.0-pl10/
}

build() {
	# force cmake to use relative paths. It helps us avoid having the
	# full file path in the logs
	cmake \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_USE_RELATIVE_PATHS=yes \
		-DSEMS_USE_SPANDSP=yes \
		-DSEMS_USE_LIBSAMPLERATE=yes \
		-DSEMS_USE_ZRTP=NO \
		-DSEMS_USE_MP3=yes \
		-DSEMS_USE_ILBC=NO \
		-DSEMS_USE_TTS=yes \
		-DSEMS_USE_OPENSSL=yes \
		-DSEMS_USE_MONITORING=yes \
		-DSEMS_USE_IPV6=NO \
		-DSEMS_CFG_PREFIX= \
		-DSEMS_AUDIO_PREFIX=/usr/share \
		-DSEMS_EXEC_PREFIX=/usr \
		-DSEMS_LIBDIR=lib
	make
}

package() {
	make install DESTDIR="$pkgdir"
	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname
	# is empty
	rm -f "$pkgdir"/etc/sems/etc/conf_auth.conf

	install -o sems -g sems -d "$pkgdir"/var/spool/voicebox
	install -d -o sems  "$pkgdir"/var/run/sems
}

_mv_sub() {
	local i
	for i in "$@"; do
		mkdir -p "$subpkgdir"/${i%/*}
		mv "$pkgdir"/$i "$subpkgdir"/$i
	done
}

conference() {
	pkgdesc="Conferencing application for SEMS"
	depends="sems"
	cd "$pkgdir"
	_mv_sub etc/sems/etc/conference.conf \
		usr/lib/sems/plug-in/conference.so \
		usr/share/sems/audio/conference
}

diameter_client() {
	pkgdesc="A simple DIAMETER client implementation for SEMS"
	depends="sems"
	cd "$pkgdir"
	_mv_sub usr/lib/sems/plug-in/diameter_client.so
}

early_announce() {
	pkgdesc="Early announce application for SEMS"
	depends="sems"
	cd "$pkgdir"
	_mv_sub etc/sems/etc/early_announce.conf \
		usr/lib/sems/plug-in/early_announce.so
}

g722() {
	pkgdesc="G.722 support for SEMS"
	depends="sems"
	_mv_sub usr/lib/sems/plug-in/g722.so
}

#gateway() {
#	pkgdesc="ISDN gateway for SEMS"
#	depends="sems"
#}

gsm() {
	pkgdesc="GSM support for SEMS"
	depends="sems"
	_mv_sub usr/lib/sems/plug-in/gsm.so
}

mp3() {
	pkgdesc="MP3 support for SEMS"
	depends="sems"
	_mv_sub usr/lib/sems/plug-in/mp3.so
}

webconference() {
	pkgdesc="Conference bridge via DI (xmlrpc) for SEMS"
	depends="sems sems-xmlrpc2di"
	cd "$pkgdir"
	_mv_sub etc/sems/etc/webconference.conf \
		usr/share/sems/audio/webconference \
		usr/lib/sems/plug-in/webconference.so
}

annrecorder() {
	pkgdesc="Allow user to record personal greeting for SEMS"
	depends="sems"
	cd "$pkgdir"
	_mv_sub etc/sems/etc/annrecorder.conf \
		usr/share/sems/audio/annrecorder \
		usr/lib/sems/plug-in/annrecorder.so
}

voicebox() {
	pkgdesc="Voicebox (call in for messsages) for SEMS"
	depends="sems"
	cd "$pkgdir"
	_mv_sub etc/sems/etc/voicebox.conf \
		usr/share/sems/audio/voicebox \
		usr/lib/sems/plug-in/voicebox.so \
		var/spool/voicebox
}

voicemail() {
	pkgdesc="Play greeting and record voicemail for SEMS"
	depends="sems"
	cd "$pkgdir"
	_mv_sub etc/sems/etc/voicemail.conf \
		usr/share/sems/audio/voicemail \
		usr/lib/sems/plug-in/voicemail.so
}

speex() {
	pkgdesc="Speex support for SEMS"
	depends="sems"
	_mv_sub usr/lib/sems/plug-in/speex.so
}

xmlrpc2di() {
	pkgdesc="XMLRPC interface for SEMS"
	depends="sems"
	_mv_sub \
		etc/sems/etc/xmlrpc2di.conf \
		usr/lib/sems/plug-in/xmlrpc2di.so
}

jsonrpc() {
	pkgdesc="Jsonrpc support for SEMS"
	depends="sems"
	_mv_sub \
		etc/sems/etc/jsonrpc.conf \
		usr/lib/sems/plug-in/jsonrpc.so
}

registrar() {
	pkgdesc="Support for SEMS to register to a SIP server"
	depends="sems"
	_mv_sub \
		etc/sems/etc/reg_agent.conf \
		usr/lib/sems/plug-in/reg_agent.so \
		usr/lib/sems/plug-in/registrar_client.so
}

sha512sums="80190dbdc1d68dc7aa377b2af6a962f08c058a42cd618cb422d6d4e0f9138059fad71b7f284c6420de462ad4dcd65ea5e65b3c5b82dc1850dbd5b5a45644d3d4  sems-1.6.0.tar.gz
87c6f878c3ad5e947a9a80431ddf28f08c04ce1415b7c42878f66b423c78d909efda836c7c2d3ed97e075c08d7a07c4707a49c14ce42c1a3aa350de1878c8d09  sems-0001-Force-to-use-system-wide-GSM-includes.patch
4c09033d6acd1bbef2aa2d02571f74da29532decca67b9ce861872d8d9522ca31808d6e26c3b536913ef7a988f90d374e217187b9cadb6a79d5c830571e94b67  sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
ba6f0d917464729c63628255bee3d864a954af4a510b802f0de1d51f35ff5d7c1c33cbe14db31818133a3c94f84da0f4bea4184ce1e8eae6aa9a1ba79f2e5347  sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
0d3deeb8617a96f81a05fc27b94bca70f4f6dfbdb3c75f0cd4abc5df002ff16f70ec2836717f317b0d03a8178415c2c09ca2d7099bf10c7ac3c58b273ee98776  sems-0004-musl-fixes.patch
28f07142a0b8b6698948d41bfb198e59637d5a921960adc496111b5cad4685a0b1cade821ac9cd9dbbf3f25ed6195f29485a12d077abf81428b9b6f8bfced79e  sems-0005-stats-needs-version.patch
d616448e70d1cdfc7016f7ff3cab3615063a65f551b4b03cd004ced60b7a24681e85a871788ef2bf13d37c6cb3c84a6d76ba44fd9b9d1a921ad4b8469f3c6ed1  sems-0011-Add-SBC-dependencies.patch
79e3ac2b202b3f6c710b3d2bc8ac459e3622f2bf5945eaaa81778f53bcbddc7951266f88c2fd9862fbed44f10a160368af7d19b5e81929a3b1e8ee150111f74b  std-types.patch
d21eb55ebcbf3d20703dcb3843415b9f7e8d4fa029396738b843d8ece80abf87475e7d06794f86c75e8c3205273c013e99da4772d169bf127d7985522230265a  sems-0013-Fix-for-C-11.patch
5d8493a7323af5e48a862e6f54e606a0eb0c778115922822a450e226b6f55051797b645595de068307b3d624c1aa9958fee16c838b49508352b336138783e210  Fix-find-openssl.patch
b9b00accd7b69cf531f22df43e3334ef099d24aa0bb164c860a8a87ec2cc12520a1c83217ec10357d101b5394d00559a669cd6fa12e1d9cbe05c6cde2afc5cc6  Fix-openssl-1.1.patch
f354d2ddc8bc96792faef75417e10cc86b56de115114688a438b6019345406a5454ac71f50a424613bbdaea3a79e5d8299ca95c511c1791f25e0f7ced766cdb5  remove-dsm.patch
5be93b6444a9592daa6c883c78e5906e9e662891e1daa850d872bdaa657eb756f1bc0879732033479b279b75c2fd42ef79aa530ebf3b1692e7fb222d484f804b  sems.initd"