aboutsummaryrefslogtreecommitdiffstats
path: root/main/freeswitch/APKBUILD
diff options
context:
space:
mode:
authorFabian Affolter <fabian@bernewireless.net>2011-07-05 19:40:43 +0200
committerFabian Affolter <fabian@bernewireless.net>2011-07-05 19:40:43 +0200
commit7f9851115264bca9bce3926ddb29e533a23929dd (patch)
treeb0426fc489e4dad582f34b25d6f93354a65f5c0f /main/freeswitch/APKBUILD
parent5dac3f219058736f6e19b7bec2b1cc2b1b300981 (diff)
parent269fc1049583d36e07153215fe535f88947ea98b (diff)
downloadaports-7f9851115264bca9bce3926ddb29e533a23929dd.tar.bz2
aports-7f9851115264bca9bce3926ddb29e533a23929dd.tar.xz
Merge branch 'master' of git://git.alpinelinux.org/aports
Diffstat (limited to 'main/freeswitch/APKBUILD')
-rw-r--r--main/freeswitch/APKBUILD143
1 files changed, 143 insertions, 0 deletions
diff --git a/main/freeswitch/APKBUILD b/main/freeswitch/APKBUILD
new file mode 100644
index 0000000000..6958119263
--- /dev/null
+++ b/main/freeswitch/APKBUILD
@@ -0,0 +1,143 @@
+# Contributor: Michael Mason <ms13sp@gmail.com>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=freeswitch
+pkgver=1.0.7_p20110602
+_ver=${pkgver%_p*}
+_snapshot=${pkgver#*_p}
+pkgrel=3
+pkgdesc="A communications platform written in C from the ground up"
+url="http://www.freeswitch.org"
+arch="all"
+license="GPL"
+depends=""
+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"
+install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-upgrade"
+subpackages="$pkgname-dev $pkgname-flite $pkgname-sample-config:conf $pkgname-freetdm"
+source="saveas-http://latest.freeswitch.org/freeswitch-$_ver.tar.gz/freeswitch-$pkgver.tar.gz
+ freeswitch-mod_shout-textrels.patch
+ 0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
+ 0002-mod_lua-alpine-module-search-path.patch
+ 0003-mod_conference_no_hangup.patch
+ modules.conf
+ freeswitch.confd
+ freeswitch.initd
+ "
+
+_builddir="$srcdir/$pkgname-$_ver"
+
+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"#' 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
+ 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
+}
+
+
+_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/
+}
+
+conf() {
+ pkgdesc="Freeswitch sample configureation"
+ arch="noarch"
+ 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="813edb2192d1cc0fe224d9ef0492de4f freeswitch-1.0.7_p20110602.tar.gz
+11883affe0839a8e15fe680aeb11b86e freeswitch-mod_shout-textrels.patch
+5aed9ec61d7ac1f3758a89db159328c4 0001-mod_sofia-update-mod_sofia_globals.guess_ip-on-addre.patch
+769eaa127d4dbae687dc4aa961a8cc70 0002-mod_lua-alpine-module-search-path.patch
+74c3cdd3ce8474e8d084f475fa4f92c1 0003-mod_conference_no_hangup.patch
+691fa3aca967203848bbb2a617545265 modules.conf
+c608cca8ad773acebf201f581438c7e7 freeswitch.confd
+aa358c9ca0d8b93fabb6a36a5ed4c469 freeswitch.initd"