# Contributor: Michael Mason # Maintainer: Natanael Copa pkgname=freeswitch _snapshot=20120312 pkgver=1.0.7_p${_snapshot} _commit=5e4a514531de2a1d8040c3d306a9e8de426de566 pkgrel=4 pkgdesc="A communications platform written in C from the ground up" url="http://www.freeswitch.org" arch="all" license="GPL" depends="" pkgusers="freeswitch" pkggroups="freeswitch" makedepends="curl-dev unixodbc-dev zlib-dev openssl-dev ncurses-dev autoconf automake libtool libpri-dev bash net-snmp-dev postgresql-dev libiconv-dev subversion flac-dev libogg-dev libvorbis-dev jpeg-dev sngtc_client-dev gnutls-dev" install="$pkgname.pre-install $pkgname.pre-upgrade" subpackages="$pkgname-dev $pkgname-flite $pkgname-timezones $pkgname-sample-config:conf $pkgname-freetdm $pkgname-sangoma" #hmm, saveas doesn't work with https... source="http://git.freeswitch.org/git/freeswitch/snapshot/$pkgname-$_commit.tar.bz2 freeswitch-mod_shout-textrels.patch 0002-mod_lua-alpine-module-search-path.patch modules.conf freeswitch.confd freeswitch.initd " snapshot() { current_head=$(curl http://git.freeswitch.org/git/freeswitch/patch/ | head -n1 | cut -d" " -f2) current_snapshot=$(grep -e "^_snapshot=.*$" APKBUILD | cut -d"=" -f2) new_snapshot=$(date +"%Y%m%d") if [ "$current_snapshot" = "$new_snapshot" ]; then old_pkgrel=$(grep -e "^pkgrel=.*$" APKBUILD | cut -d"=" -f2) new_pkgrel=$(expr $old_pkgrel + 1 ) else new_pkgrel=0 fi sed -i "s/^_commit=.*$/_commit=$current_head/" APKBUILD sed -i "s/^pkgrel=.*$/pkgrel=$new_pkgrel/" APKBUILD sed -i "s/^_snapshot=.*$/_snapshot=$new_snapshot/" APKBUILD abuild fetch abuild checksum } _builddir="$srcdir/$pkgname-$_commit" prepare() { cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done sed -i 's,freetdm.h,../src/include/freetdm.h,' libs/freetdm/mod_freetdm/mod_freetdm.c } build() { cd "$_builddir" # i think our max cmd len is 32768 # by specifying it here we save our selves from some CPU cycles export lt_cv_sys_max_cmd_len=8192 sed -i -e 's#^dbdir="${prefix}/db"#dbdir="/var/lib/freeswitch"#' \ -e 's#^soundsdir=.*#soundsdir="${prefix}/share/freeswitch/sounds"#' \ configure.in || return 1 ./bootstrap.sh cp -f "$srcdir/modules.conf" modules.conf || return 1 # remove -Werror since gcc-4.5 is more strict sed -i -e 's/-Werror//g' configure || return 1 CFLAGS="-Wno-unused-but-set-variable" ./configure --prefix=/usr \ --sysconfdir=/etc/freeswitch \ --with-modinstdir=/usr/lib/freeswitch \ --with-rundir=/var/run/freeswitch \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --with-devrandom=/dev/urandom \ --with-libpri \ --disable-debug \ || 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 || return 1 find "$pkgdir" -name '*.la' -delete # we need to do some moving/cleanup to allow some... kind of FHS mkdir -p "$pkgdir"/var/run/freeswitch mkdir -p "$pkgdir"/var/lib/freeswitch mkdir -p "$pkgdir"/var/log mkdir -p "$pkgdir"/usr/share/freeswitch/sounds mv "$pkgdir"/usr/db "$pkgdir"/var/lib/freeswitch/ mv "$pkgdir"/usr/grammar "$pkgdir"/var/lib/freeswitch/ mv "$pkgdir"/usr/htdocs "$pkgdir"/usr/share/freeswitch/ mv "$pkgdir"/usr/recordings "$pkgdir"/var/lib/freeswitch/ mv "$pkgdir"/usr/scripts "$pkgdir"/etc/freeswitch/ mv "$pkgdir"/usr/log "$pkgdir"/var/log/freeswitch install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname chown -R freeswitch:freeswitch "$pkgdir"/var/*/freeswitch } _mv_mod() { local moddir=usr/lib/freeswitch 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 } 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="8c0609c00039513a1a81eda685845b37 freeswitch-5e4a514531de2a1d8040c3d306a9e8de426de566.tar.bz2 11883affe0839a8e15fe680aeb11b86e freeswitch-mod_shout-textrels.patch 769eaa127d4dbae687dc4aa961a8cc70 0002-mod_lua-alpine-module-search-path.patch 1e6f8a9f18c9c332872cdc40065b76e3 modules.conf c608cca8ad773acebf201f581438c7e7 freeswitch.confd 06d70089ce96abc47a01bf69511a978a freeswitch.initd"