# Contributor: Timo Teras # Maintainer: Timo Teras pkgname=asterisk pkgver=11.7.0 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 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 curl-dev libedit-dev libsrtp-dev util-linux-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 $pkgname-curl:_curl $pkgname-srtp $pkgname-dahdi $pkgname-speex $pkgname-alsa" _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 musl-cdefs.patch musl-glob-compat.patch musl-pjsip-mutex.patch ASTERISK-18995.patch ASTERISK-19109.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 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 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 \ --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 \ --with-libcurl \ --with-libedit \ --with-srtp \ || 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" LDCONFIG_FLAGS="-n" || return 1 } package() { cd "$_builddir" make -j1 DESTDIR="$pkgdir" LDCONFIG_FLAGS="-n" 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*' } _curl() { depends= install= _find_and_move '*_curl*' } 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="f0c6b577f1efd8dc2de1f259b95a8d66 asterisk-11.7.0.tar.gz 837fc3bc835699462a8d2a7a16b9b6a3 100-uclibc-daemon.patch 6e1129e30c4fd2c25c86c81685a485a9 101-caps-uclibc.patch 735e5ae1e2121878a55eb2f5c6946ee2 musl-cdefs.patch 9b3e6cb75464a6ef4c40d191bdfdf7ea musl-glob-compat.patch dfbd596ac95f52e3e668ade2c38147b1 musl-pjsip-mutex.patch bc6713f5434e07b79d3afdd155461d72 ASTERISK-18995.patch 146befabe95798a67c58d8ac00d397a6 ASTERISK-19109.patch 676ca42ee1859d8a7bae4345ede5eb89 ASTERISK-20527.patch 74cd25a5638a94ef51e9f4ede2fd28f2 asterisk.initd ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd 3e65172275684373e1a25c8a11224411 asterisk.logrotate" sha256sums="4fb283b96447f5d871632a14069f35643c8c34d08d6ec5fedf0ae3df30e0c397 asterisk-11.7.0.tar.gz 6f56ea997513c10fa39835e8dd11fbfb4ec0bb23f4b771963e56691b15a5c003 100-uclibc-daemon.patch c2ef786e9a8082fe8ba7b4eb2f130925cb823d100ec567909ad465c279e335bf 101-caps-uclibc.patch ad2506945246a6c2010bf39c1b3a8b10a6a635f02b56cbfa3014dcb2257298ff musl-cdefs.patch c6a5c32646b767f09ebffccc49cac6a4ff9181498499e4453300775e75284b52 musl-glob-compat.patch 84e8d17572ee362c411bb641ae339eb42cb4542c32b0d1f41b7ac5f22b3328cb musl-pjsip-mutex.patch 7a7140156ae7fc7e833035db1e428db8d90159579cd2678c4b5cc829ded47485 ASTERISK-18995.patch d657634d4c96f42ac1a8b7103104185e8cd9d5a59e5214cc1658e01805975ce8 ASTERISK-19109.patch 1f822e618554e9962fe4599975bdcc24413e087dbd7ea4ce0305ecb7ea9bef94 ASTERISK-20527.patch 13bcc98f2a78d4dd41e810232979eb83044e9166302bfb5b971315f2a82af36f asterisk.initd d221148583b57f9c37d7160f2493f0d204ad11f7abb17e3a3534e108ad5452d7 asterisk.confd 77b253b6db71460acf9a51e87ad4c8582027a46db01a4c50fb048bada58c19d1 asterisk.logrotate" sha512sums="cd7ee59f9133fbd088b30c0495ac4d94cb0ca273015681340eeb4192ee1c510b59c8290255fc2df81f070369ff2ca56073fdee3f39e0b0186d95bb85f9ad1bd6 asterisk-11.7.0.tar.gz 24a0d3c0ae86117ead8d2e35fc9a5945e04b9f80f3baf122337c8361c015e5ad904c206579962aefe3eb35a1fbf269515228ae5f34a801d7725d73dc235cf831 100-uclibc-daemon.patch 601681b9a33e77b33a0393a494c4140aa6c1f174c514093242a4081661bb7f78b6af867100996c97f3bf12e8dd10873dd3e116b61e2a0e04832f4ee470664368 101-caps-uclibc.patch 29c74eee1df4826a8b63a049b57cc1a3d898b6e54bc32f4895e8e4e0ed88aece0061755ec1294fd6fb3d1cc4b2fd4de56ee5a8f036230609b0b08d2213c2d1cf musl-cdefs.patch edf65eba44e8f1f0e78671aba312bcff2090134cf94e89ebb4b6beef7b2d57b24381ae9511cbf9fffe6b555e695a3dbe2cedcd04f1d237df822fa742bd5092ac musl-glob-compat.patch 33f376cf37ff6a916a4ca67edc686b4afbfaecd74fdc7ef08ed19bf3fb01f4e6a604ff2de3b2a14b4313c91037e6587b85917111998b5166eeccab5317601f11 musl-pjsip-mutex.patch 42b2385d88e72473fe34c63e1be8cdf7f37688649fe5bf033b5ba17627008b771aec8f0a583e9ad483a20f9e1f7c33922cb42bf5b73adc68aa43fd46c5da1daa ASTERISK-18995.patch a9a0a4199291a6ef5ebdf07daee07293d96a16a38116f6afdea61d68b167235d63b5a54e3ae45b7e11be0b9dc82863fdced1ad45110dcac29b353ddcc1d6337a ASTERISK-19109.patch 6edd8e0a1dce326aadf659c8bf8ed34083e8247b6c0f032d097c77df25feb93107375ba505e9076c084fe80676336d6c863e04c3c6808a850e24257fd7a7702d ASTERISK-20527.patch e29477aa57d88fedc96d13751f68f302d3892c70b5ea5b5a8cc85d0439335fc1a6847648447b443a074c0877718f23295e3752056a108301d340d1e2919465b1 asterisk.initd ab6b6f08ff43268cbb1abb7ed7d678949991ba495682a644bbaeb017d6adbff0a43297905fd73ae8db1786a28d5b5904f1bc253209a0e388c8a27f26c6ce14ed asterisk.confd 7591d2faf539d05d9ee4e431c78a5e20686721fd79221ad94dffeeaff9282220b09cb9aec214bd7a8d12affaec0276c9c91e6e21af8b6712c0a9502b60b02f2b asterisk.logrotate"