blob: cd1311e3361861b361ab5c502418bc80e8443e64 (
plain) (
tree)
|
|
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Timo Teras <timo.teras@iki.fi>
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=asterisk
pkgver=13.17.2
pkgrel=0
pkgdesc="Asterisk: A Module Open Source PBX System"
pkgusers="asterisk"
pkggroups="asterisk"
url="http://www.asterisk.org/"
arch="all"
license="GPL2"
depends=
makedepends="autoconf automake libtool tar wget bsd-compat-headers
ncurses-dev popt-dev newt-dev zlib-dev libedit-dev tiff-dev curl-dev
openssl-dev lua-dev libcap-dev jansson-dev util-linux-dev
sqlite-dev postgresql-dev unixodbc-dev freetds-dev mariadb-dev
alsa-lib-dev pjproject-dev dahdi-tools-dev libpri-dev libsrtp-dev
spandsp-dev libresample speex-dev speexdsp-dev libogg-dev
bluez-dev libxml2-dev imap-dev"
install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="$pkgname-dbg $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 $pkgname-curl:_curl $pkgname-srtp $pkgname-dahdi
$pkgname-speex $pkgname-alsa $pkgname-cdr-mysql:cdr_mysql"
_download="http://downloads.asterisk.org/pub/telephony/asterisk/releases"
source="$_download/asterisk-$pkgver.tar.gz
http://dev.alpinelinux.org/~tteras/asterisk-addon-mp3-r201.patch.gz
musl-libcap.patch
musl-glob-compat.patch
musl-mutex-init.patch
ASTERISK-18995.patch
ASTERISK-20527.patch
asterisk.initd
asterisk.confd
asterisk.logrotate"
_builddir="$srcdir/$pkgname-${pkgver/_/-}"
prepare() {
cd "$srcdir"
if [ -n "$_patches" ]; then
mv "$pkgname-$_xy.0" "$pkgname-${pkgver/_/-}"
fi
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
# asteriskssl does not have direct references to libssl, but looks up
# symbols from it using dlsym(RTLD_NEXT), so use --no-as-needed for it.
sed -i -e 's/ASTSSL_LIBS:=$(OPENSSL_LIB)/ASTSSL_LIBS:=-Wl,--no-as-needed $(OPENSSL_LIB) -Wl,--as-needed/g' main/Makefile
sed -i -e 's:lua5.1/::' pbx/pbx_lua.c
sed -i -e 's/int foo = res_ninit(NULL);/res_ninit_is_not_really_here();/g' configure.ac
update_config_sub || return 1
./bootstrap.sh
}
build() {
cd "$_builddir"
SHA1SUM="$PWD"/build_tools/sha1sum-sh ./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--localstatedir=/var \
--disable-xmldoc \
--with-gsm=internal \
--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 \
--with-libcurl \
--with-libedit \
--with-srtp \
--with-imap \
|| return 1
# get default modules to build
rm menuselect.makeopts
make menuselect.makeopts
# and add the non-default modules we need
./menuselect/menuselect \
--enable chan_mobile \
--enable app_meetme \
--enable cdr_mysql \
menuselect.makeopts
# build
make ASTCFLAGS="$CFLAGS" ASTLDFLAGS="$LDFLAGS" LDCONFIG= || return 1
}
package() {
cd "$_builddir"
make -j1 DESTDIR="$pkgdir" LDCONFIG_FLAGS="-n" install || return 1
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*'
}
_curl() {
depends=
install=
_find_and_move '*_curl*'
}
cdr_mysql() {
depends=
install=
_find_and_move '*cdr_mysql*'
}
srtp() { _find_and_move '*_srtp*'; }
dahdi() { _find_and_move '*_dahdi*'; }
speex() { _find_and_move '*_speex*'; }
alsa() { _find_and_move '*_alsa*'; }
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="a63d9ff1a393031065c90aa3ac447cff asterisk-13.17.2.tar.gz
126dd4fba66f4cf9aa94dfd7034e0ec4 asterisk-addon-mp3-r201.patch.gz
cf2fa7b4229c9bb1ca0dc35640938f95 musl-libcap.patch
9b3e6cb75464a6ef4c40d191bdfdf7ea musl-glob-compat.patch
1ca5e8326dc03c963a7ce5455d0f21ba musl-mutex-init.patch
5535ecf893134fd341cfbd9f8e1249d2 ASTERISK-18995.patch
018f2fb1ebd31dc28bfb49919b2a0a81 ASTERISK-20527.patch
4bdc82ba3d6bdfdedc71e5da2fde5ec2 asterisk.initd
ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd
3e65172275684373e1a25c8a11224411 asterisk.logrotate"
sha256sums="19ae0565687b85bde382b2cc274dd5a27ac33dc57a4eb3b663cb5ad9b238f1ac asterisk-13.17.2.tar.gz
d32a5a695cee1699011d0e9ad02eb43af612def06f92017627194099edf98e3f asterisk-addon-mp3-r201.patch.gz
d7a0d84426be6ade34dc9017c288a7d9439423f098e936907b3d3a49f057ba80 musl-libcap.patch
c6a5c32646b767f09ebffccc49cac6a4ff9181498499e4453300775e75284b52 musl-glob-compat.patch
a5205ed44b57a72934baf8cde543ddb179f277494181818905110bfdcccfe7d9 musl-mutex-init.patch
d3f1304ddcce48f2c09cb81e924052f7eb2d36829aa1a0bf6a2e0be476333ee7 ASTERISK-18995.patch
84d21c9ef2d3a21d8cdef12034c5dcf57eb08a6a7fb76367bc839b60f7d24713 ASTERISK-20527.patch
10454553733e6cc52c6e9db508768a638655d99c095c5b39fb043858c088f21f asterisk.initd
d221148583b57f9c37d7160f2493f0d204ad11f7abb17e3a3534e108ad5452d7 asterisk.confd
77b253b6db71460acf9a51e87ad4c8582027a46db01a4c50fb048bada58c19d1 asterisk.logrotate"
sha512sums="008354cb0cba679444bfbfd4be34d919ea0a0a0cbd60541b7528d254ab0fa92efee118d5b006e8dc7b709f9c44fd391026df9b8705d17515494a23ad36dedd4b asterisk-13.17.2.tar.gz
aacef3f4796fb1abd33266998b53909cb4b36e7cc5ad2f7bac68bdc43e9a9072d9a4e2e7e681bddfa31f3d04575eb248afe6ea95da780c67e4829c1e22adfe1b asterisk-addon-mp3-r201.patch.gz
eda4a2f6f23ed24aa0e11f0556571763abc0bae397f212bf538cad10ac316aab22dd1f067c7b4c195ccd994a57cfac7a9a4bea34818ece46ff3b6d13aee24867 musl-libcap.patch
edf65eba44e8f1f0e78671aba312bcff2090134cf94e89ebb4b6beef7b2d57b24381ae9511cbf9fffe6b555e695a3dbe2cedcd04f1d237df822fa742bd5092ac musl-glob-compat.patch
f72c2e04de80d3ed9ce841308101383a1655e6da7a3c888ad31fffe63d1280993e08aefcf8e638316d439c68b38ee05362c87503fca1f36343976a01af9d6eb1 musl-mutex-init.patch
f6c1b0030225638a20e374a6f14dca23fce88e1953bec0e399e8ee2e18241f6fdebc6be0404d7ae46359f66cdb7aa9240f2a4be17d5046aedf5aa72235e9da5d ASTERISK-18995.patch
cdc41b50827f79194bf641782f82e5e0f15866788824002fe456e9e32bc37921ee2525baa476219c357ec35891a194ed00515a17b0ccab3a6bc4479ec52bc175 ASTERISK-20527.patch
cd5bd1c1d7db0a44b14eb10e6d098af0c6474c8fe1a57395090d6795ac00e9243d004b7d24eba2cfd5bd6d6407c271913e794551a8dfcf3cf93e89fc91349e12 asterisk.initd
ab6b6f08ff43268cbb1abb7ed7d678949991ba495682a644bbaeb017d6adbff0a43297905fd73ae8db1786a28d5b5904f1bc253209a0e388c8a27f26c6ce14ed asterisk.confd
7591d2faf539d05d9ee4e431c78a5e20686721fd79221ad94dffeeaff9282220b09cb9aec214bd7a8d12affaec0276c9c91e6e21af8b6712c0a9502b60b02f2b asterisk.logrotate"
|