aboutsummaryrefslogblamecommitdiffstats
path: root/main/asterisk/APKBUILD
blob: cd1311e3361861b361ab5c502418bc80e8443e64 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                   


                                             
              
        
                                                   

                    
                              
          
              
        





                                                                            
                                       
                                                   
                                                                                
                                                               
                                                                 
                                                                        
                                                                  

                                                                         
                                          
                                                                           

                         
                              
                             
                            
                            
                      

                           
 
                                          

           
                    


                                                             
 
                       


                                                                          
                                                                                                
                    

            



                                                                                                                                
                                             
                                                                                               
                                     

                      



                       



                                                           




                                           

                                     








                                 

                                 
                              
                               
                               
                                
                                  
                                
                                
                             
                             

                           
                                      

                                




                                                 
                                    


                                   
                                                                            



                       
                                                                          
 

                                             
 

                                                                               

                                                       
 
                                                           

                                                         

 









                                                      


                                
                                                          





                                               

                   






                          
         
                




                                 
                




                               
                



                               





                               





                                  
         




                                





                                    



                                      
 
          
                     

                                                         

                                                        



                                                              


             
                     



                                                          
                                                              


            
                     



                                                  
                                                              

 
                                                                  
                                                                  
                                                   
                                                        
                                                       
                                                      
                                                      
                                                

                                                     
                                                                                                     
                                                                                                  
                                                                                   
                                                                                        
                                                                                       
                                                                                      
                                                                                      
                                                                                

                                                                                     
                                                                                                                                                                     
                                                                                                                                                                  
                                                                                                                                                   
                                                                                                                                                        
                                                                                                                                                       
                                                                                                                                                      
                                                                                                                                                      
                                                                                                                                                

                                                                                                                                                     
# 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"