# Contributor: Timo Teras # Maintainer: Timo Teras 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"