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

                                               
                  

            

                                                                   
          

             
                     
                    
                      

             
                          
                 

                
                 
                  
                
                
                
                   


                         

                      


                     
                  
            











                        
                    



                                 
                                                   
                                                                        


                                                                     
                           
                                    


                                 
             

         
                                                                               

                    
                    
                        
                        

         
                                    
 
           




                                                    
                       

                            
                                                                                         

                    

                                     

 
         
                       
                                                             
 
                                                           

                                 
                               
                              

                                      
                                                          
                                         
                                           
                                               
                               
                                 
                                             
                                     
                                          
                           
 
                                                 
                                                                           
                                         
                                   
                                

          
                       

                                                                        
 



                                                         
                                                                 

 

           
                                              








                                                                            
                















                                                                            

 





                                                                 









                                                                         











                                              

                                                  
                     
                                      
                
                                            




                                                                              
                                                 
 
 
                                                                  
                                              
                                              
                                                  

                                                                                                     
                                                                              
                                                                              
                                                                                  

                                                                                                                                                                     
                                                                                                                                              
                                                                                                                                              
                                                                                                                                                  
                                                                                                                                                   
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
# Contributor: Michael Mason <ms13sp@gmail.com>
# Contributor: Cameron Banta <cbanta@gmail.com>
pkgname=freeswitch
pkgver=1.6.7
pkgrel=0
pkgdesc="A communications platform written in C from the ground up"
url="http://www.freeswitch.org"
arch="all"
license="GPL"
depends=""
pkgusers="freeswitch"
options="!configsub"
pkggroups="freeswitch"
makedepends="
	bash
	bsd-compat-headers
	coreutils
	curl-dev
	flac-dev
	flite-dev
	gnutls-dev
	ilbc-dev
	ldns-dev
	lame-dev
	libedit-dev
	libjpeg-turbo-dev
	libogg-dev
	libpri-dev
	libshout-dev
	libsndfile-dev
	libvorbis-dev
	linux-headers
	lua5.2-dev
	mpg123-dev
	nasm
	ncurses-dev
	net-snmp-dev
	openssl-dev
	pcre-dev
	portaudio-dev
	postgresql-dev
	sngtc_client-dev
	speex-dev
	speexdsp-dev
	sqlite-dev
	unixodbc-dev
	util-linux-dev
	xmlrpc-c-dev
	zlib-dev

	autoconf automake libtool
	"
install="$pkgname.pre-install $pkgname.pre-upgrade"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-flite $pkgname-timezones
	$pkgname-sample-config:conf $pkgname-freetdm $pkgname-sangoma
	$pkgname-snmp $pkgname-pgsql"

_json_c="json-c-0.9.tar.gz"
_flite="flite-2.0.0-release.tar.bz2"
_lame="lame-3.98.4.tar.gz"
_libshout="libshout-2.2.2.tar.gz"
_mpg123="mpg123-1.13.2.tar.gz"
_libsources="
	"

source="http://files.freeswitch.org/freeswitch-releases/$pkgname-$pkgver.tar.xz
	$_libsources
	getlib.patch
	modules.conf
	freeswitch.confd
	freeswitch.initd
	"

_builddir="$srcdir/$pkgname-$pkgver"

prepare() {
	cd "$_builddir"/libs
	for i in $_libsources; do
		local f=${i##*/}
		ln -s ../../${f%.tar*} . || return 1
	done
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; cd "$_builddir"; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
	cd "$srcdir"
	update_config_sub || return 1
}

build() {
	cd "$_builddir"
	cp -f "$srcdir/modules.conf" modules.conf || return 1

	CFLAGS="-Wno-unused-but-set-variable" ./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--enable-fhs \
		--localstatedir=/var \
		--sysconfdir=/etc \
		--with-scriptdir=/etc/freeswitch/scripts \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--with-devrandom=/dev/urandom \
		--with-libpri \
		--disable-debug \
		--enable-core-pgsql-support \
		--enable-system-lua \
		--enable-system-xmlrpc-c \
		|| return 1

	# first build libfreeswitch (in parallel)
	make src/include/switch_version.h src/include/switch_swigable_cpp.h
	make libfreeswitch.la || return 1
	# finally we build the rest
	make -j1 all || return 1
}
package(){
	cd "$_builddir"
	make -j1 DESTDIR="$pkgdir" install samples-conf samples-htdocs \
		|| return 1

	install -m755 -D "$srcdir"/$pkgname.initd \
		"$pkgdir"/etc/init.d/$pkgname || return 1
	install -m644 -D "$srcdir"/$pkgname.confd \
		"$pkgdir"/etc/conf.d/$pkgname || return 1
	chown -R freeswitch:freeswitch "$pkgdir"/var/*/freeswitch
}


_mv_mod() {
	local moddir=usr/lib/freeswitch/mod i=
	mkdir -p "$subpkgdir"/$moddir
	for i in $@; do
		mv "$pkgdir"/$moddir/$i.so "$subpkgdir"/$moddir/ || return 1
	done
}


flite() {
        pkgdesc="Freeswitch Text To Speech Module"
        install=
        _mv_mod mod_flite
##
## The mod_say_xx modules can be used with out flite (for numbers, etc using
## sound files). So they shouldn't be in the flite package -cB
##
#	_mv_mod mod_say_de mod_say_en mod_say_es mod_say_fr \
#		mod_say_it mod_say_nl mod_say_zh mod_say_hu mod_say_ru \
#		mod_say_th mod_say_he
}

freetdm() {
	pkgdesc="Freeswitch FreeTDM Module"
	install=
	_mv_mod mod_freetdm ftmod_analog ftmod_analog_em ftmod_libpri \
		ftmod_skel ftmod_zt
	mv "$pkgdir"/usr/lib/libfreetdm.so* "$subpkgdir"/usr/lib/
}

sangoma() {
	pkgdesc="Freeswitch Sangoma Media Transcode Codec Module"
	install=
	_mv_mod mod_sangoma_codec
}

timezones() {
	pkgdesc="Freeswitch timezone configuration"
	arch="noarch"
	install=
	replaces="freeswitch-sample-config"
	mkdir -p "$subpkgdir"/etc/freeswitch/autoload_configs
	mv "$pkgdir"/etc/freeswitch/autoload_configs/timezones.conf.xml \
		"$subpkgdir"/etc/freeswitch/autoload_configs
}

snmp() {
	pkgdesc="Freeswitch SNMP module"
	install=
	_mv_mod mod_snmp
}

pgsql() {
	pkgdesc="Freeswitch PostgreSQL Module"
	install=
	_mv_mod mod_cdr_pg_csv
}

conf() {
	pkgdesc="Freeswitch sample configureation"
	arch="noarch"
	depends="freeswitch-timezones"
	install=
	mkdir -p "$subpkgdir"/etc/freeswitch
	# move all configs except freeswitch.xml
	for i in "$pkgdir"/etc/freeswitch/*; do
		[ "$i" = "$pkgdir"/etc/freeswitch/freeswitch.xml ] && continue
		mv "$i" "$subpkgdir"/etc/freeswitch/ || return 1
	done
	mkdir -p "$pkgdir"/etc/freeswitch/scripts
}

md5sums="2723dd2e034872b76562000f8b407569  freeswitch-1.6.7.tar.xz
1e7f335ee00f589825ecc9affa779346  getlib.patch
f99cb4857c5b79fc6646855fe74527c7  modules.conf
c608cca8ad773acebf201f581438c7e7  freeswitch.confd
3b0bf4847a61afa28229b58763f4c400  freeswitch.initd"
sha256sums="9c7ca2d39985fdc39659054179465540e926880f032f855c0df74d6eec41a794  freeswitch-1.6.7.tar.xz
ab437c92149b6fc88bc2fc8a228d6a5f8af574e2c90469a6dc4c753d13972c34  getlib.patch
212f6b4e8463cf2e1266582479f965fd96416c45cda0b016d0becd6e71fec015  modules.conf
846a29a361ef6eecd77876963b5c0133699c40fa8b34c68df42d5f8a1a1915b1  freeswitch.confd
aa0d89221ffa47eba4a0e085f6041ee198476409dd15d1e90c5c357ba683f432  freeswitch.initd"
sha512sums="c808fcfed7bb48afcea06b21dae6bd5d24ab0cf71b5f39583ae2b3be2fad2d5bd1d9673c93118163de3b72a14442136860a6f1b66940b901cdbac9b8f308197b  freeswitch-1.6.7.tar.xz
4ceb48f64d2bc26a02cc0846276506241bfd30c156422b0a1d608fd172c099feb5c121a763652e9a45046dcdd0ba0eb71eab240e0c6ce2ad63ff781719e135a4  getlib.patch
e5027d504c63a2f51419c8b071f4a7d3499177cf2bfd8782e039137475e20910cf3f654848e2d86ecdbcba147592ebdc988ee9083272d7c88f60322bcefa7a6a  modules.conf
a585f6411185a26206137a1ad97a06fd6c73e80c5439e9be45eabfa70e7a83120169ba882971fcd328436c8e0242cbd664170b80754ea2846021689baf1f1595  freeswitch.confd
643d0a2e43f5d3bf3b99fcb6f6422302cb4b74a95eccf844eafb100b15aa9856b4ff41f112d6637255c2e9e2bec9fedc9a9215dfff214dfb83b52eae16b71dca  freeswitch.initd"