summaryrefslogtreecommitdiffstats
path: root/main/asterisk/APKBUILD
blob: 799a54e7b7c0ec16c94f9fc4d5f1e00720cf6ea6 (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
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=asterisk
pkgver=11.2.1
pkgrel=0
pkgdesc="Asterisk: A Module Open Source PBX System"
pkgusers="asterisk"
pkggroups="asterisk"
url="http://www.asterisk.org/"
arch="all"
license="GPL"
depends=
makedepends="autoconf automake libtool ncurses-dev popt-dev newt-dev zlib-dev
	postgresql-dev unixodbc-dev dahdi-tools-dev libpri-dev tar
	freetds-dev openssl-dev lua-dev alsa-lib-dev spandsp-dev tiff-dev
	libresample sqlite-dev wget speex-dev libogg-dev bluez-dev"
install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="$pkgname-dev $pkgname-doc $pkgname-pgsql $pkgname-odbc
	$pkgname-tds $pkgname-fax $pkgname-sample-config:sample
	$pkgname-sounds-moh:sound_moh $pkgname-sounds-en:sound_en
	$pkgname-mobile"

_download="http://downloads.asterisk.org/pub/telephony/asterisk/releases"
_z=${pkgver##*.}
_xy=${pkgver%.$_z}
_patches=""
while [ $_z -gt 0 ]; do
	_patches="$_download/asterisk-$_xy.$_z-patch.gz $_patches"
	_z=$((_z-1))
done

source="$_download/asterisk-$_xy.0.tar.gz
	$_patches
	100-uclibc-daemon.patch
	101-caps-uclibc.patch
	ASTERISK-18995.patch
	ASTERISK-19109.patch
	ASTERISK-20527.patch
	ASTERISK-20938.patch
	asterisk.initd
	asterisk.confd
	asterisk.logrotate"

_builddir="$srcdir/$pkgname-${pkgver/_/-}"

prepare() {
	cd "$srcdir"
	mv "$pkgname-$_xy.0" "$pkgname-${pkgver/_/-}"

	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg "$i"; patch -p1 -i "$srcdir"/$i || return 1;;
		*-patch.gz) msg "${i##*/}"; gunzip < "$srcdir"/${i##*/} | patch -p0 || return 1;;
		esac
	done

	sed -i -e 's:lua5.1/::' pbx/pbx_lua.c
	sed -i -e 's/PBX_ICONV=1/PBX_ICONV=0/g' configure.ac
	sed -i -e 's/int foo = res_ninit(NULL);/res_ninit_is_not_really_here();/g' configure.ac

	./bootstrap.sh
}

build() {
	cd "$_builddir"
	SHA1SUM="$PWD"/build_tools/sha1sum-sh ./configure --prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--libdir=/usr/lib \
		--localstatedir=/var \
		--disable-xmldoc --with-gsm=internal \
		--without-iconv --with-popt --with-z --with-newt \
		--with-unixodbc --with-postgres --with-tds \
		--with-dahdi --with-pri --with-tonezone \
		--with-resample \
		--with-sqlite3 \
		--with-speex \
		--with-asound \
		--without-x11 \
		--with-spandsp \
		--with-bluetooth \
		|| return 1

	# and figure out which modules to build
	rm menuselect.makeopts
	make menuselect.makeopts
	# enable chan_mobile
	sed -i -e '/^MENUSELECT_ADDONS=/s/chan_mobile//' menuselect.makeopts
	make ASTCFLAGS="$CFLAGS" ASTLDFLAGS="$LDFLAGS" || return 1
}

package() {
	cd "$_builddir"
	make -j1 DESTDIR="$pkgdir" install

	install -d "$pkgdir"/var/run/asterisk
	install -d "$pkgdir"/var/lib/asterisk

	install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
	install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
	install -m644 -D "$srcdir"/$pkgname.logrotate \
		"$pkgdir"/etc/logrotate.d/$pkgname

	chown -R asterisk:asterisk "$pkgdir"/var/*/asterisk
	chown -R asterisk:asterisk "$pkgdir"/etc/asterisk
	chmod -R u=rwX,g=rX,o= "$pkgdir"/etc/asterisk
}

_move_dir() {
	for DIR in "$@"; do
		local dest=`dirname "$subpkgdir/$DIR"`
		echo mkdir -p $dest
		mkdir -p "$dest"
		echo mv "$pkgdir"/$DIR $dest
		mv "$pkgdir"/"$DIR" "$dest"
	done
}

_find_and_move() {
	local pattern="$1"
	cd "$pkgdir" || return 1
	find -name "$pattern" -type f | while read f; do
		local dest="$subpkgdir/${f%/*}"
		mkdir -p "$dest"
		mv "$f" "$dest"
	done
}

doc() {
	default_doc
}

dev() {
	default_dev
	depends="asterisk"
}

pgsql() {
	depends=
	install=
	_find_and_move '*_pgsql*'
}

odbc() {
	depends=
	install=
	_find_and_move '*odbc*'
}

tds() {
	depends=
	install=
	_find_and_move '*_tds*'
}

fax() {
        depends=
        install=
        _find_and_move '*_fax*'
}

mobile() {
        depends=
        install=
        _find_and_move '*_mobile*'
}

sample() {
	arch="noarch"
	pkgdesc="Sample configuration files for asterisk"
	cd "$_builddir"
	mkdir -p "$subpkgdir"/var/lib/asterisk/phoneprov
	make -j1 samples DESTDIR="$subpkgdir"

	chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
	chown -R asterisk:asterisk "$subpkgdir"/etc/asterisk
	chmod -R u=rwX,g=rX,o= "$subpkgdir"/etc/asterisk
}

sound_moh() {
	arch="noarch"
	pkgdesc="Default on-hold music files for asterisk"
	depends=
	install=
	_move_dir var/lib/asterisk/moh
	chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
}

sound_en() {
	arch="noarch"
	pkgdesc="English sound files for asterisk"
	depends=
	install=
	_move_dir var/lib/asterisk/sounds/en
	chown -R asterisk:asterisk "$subpkgdir"/var/*/asterisk
}

md5sums="3d3da6016e3b238cd7ea3bf0df51403d  asterisk-11.2.0.tar.gz
ba86725f31af9e518ddafbb659a3a647  asterisk-11.2.1-patch.gz
837fc3bc835699462a8d2a7a16b9b6a3  100-uclibc-daemon.patch
6e1129e30c4fd2c25c86c81685a485a9  101-caps-uclibc.patch
bc6713f5434e07b79d3afdd155461d72  ASTERISK-18995.patch
146befabe95798a67c58d8ac00d397a6  ASTERISK-19109.patch
676ca42ee1859d8a7bae4345ede5eb89  ASTERISK-20527.patch
5b331be3746bb1ffd4c3f47df3ef6efa  ASTERISK-20938.patch
74cd25a5638a94ef51e9f4ede2fd28f2  asterisk.initd
ed31d7ba37bcf8b0346dcf8593c395f0  asterisk.confd
3e65172275684373e1a25c8a11224411  asterisk.logrotate"