236 lines
7.0 KiB
Plaintext

# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
# Contributor: Michael Mason <ms13sp@gmail.com>
# Contributor: Cameron Banta <cbanta@gmail.com>
pkgname=freeswitch
pkgver=1.6.13
pkgrel=0
pkgdesc="A communications platform written in C from the ground up"
url="http://www.freeswitch.org"
arch="all"
license="GPL"
makedepends="
bash
bsd-compat-headers
coreutils
curl-dev
db-dev
flac-dev
flite-dev
gdbm-dev
gnutls-dev
ilbc-dev
lame-dev
ldns-dev
libedit-dev
libjpeg-turbo-dev
libogg-dev
libpri-dev
libressl-dev
libshout-dev
libsndfile-dev
libvorbis-dev
linux-headers
lua5.2-dev
mpg123-dev
ncurses-dev
net-snmp-dev
opus-dev
pcre-dev
perl-dev
portaudio-dev
postgresql-dev
sngtc_client-dev
speex-dev
speexdsp-dev
sqlite-dev
unixodbc-dev
util-linux-dev
xmlrpc-c-dev
yasm
zlib-dev
autoconf automake libtool
"
install="$pkgname.pre-install $pkgname.pre-upgrade"
FREESWITCH_USER=freeswitch
FREESWITCH_GROUP=freeswitch
pkgusers="$FREESWITCH_USER"
pkggroups="$FREESWITCH_GROUP"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-flite $pkgname-timezones::noarch
$pkgname-sample-config:conf:noarch $pkgname-freetdm $pkgname-sangoma
$pkgname-snmp $pkgname-pgsql $pkgname-perl $pkgname-perlesl"
source="http://files.freeswitch.org/freeswitch-releases/$pkgname-$pkgver.tar.xz
0001-mod_avmd-use-posix-isinf.patch
0001-sofia-sip-byte-order.patch
0002-FS-verto-bswap_64.patch
getlib.patch
modules.conf
freeswitch.confd
freeswitch.initd
"
builddir="$srcdir/$pkgname-$pkgver"
prepare() {
default_prepare || return 1
update_config_sub
}
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
# build perlesl module
cd "$builddir"/libs/esl
make -j1 perlmod || 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_USER:$FREESWITCH_GROUP "$pkgdir"/var/*/freeswitch
# install perlesl module
cd "$builddir"/libs/esl
make -j1 DESTDIR="$pkgdir" perlmod-install
}
_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"
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
}
perl() {
pkgdesc="Freeswitch Perl module"
install=
_mv_mod mod_perl
}
perlesl() {
pkgdesc="Freeswitch Perl ESL module"
install=
mkdir -p "$subpkgdir"/usr/lib/perl5
mv "$pkgdir"/usr/lib/perl5/* "$subpkgdir"/usr/lib/perl5
}
conf() {
pkgdesc="Freeswitch sample configureation"
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="c3fd287abda3c745215ed08c3be49823 freeswitch-1.6.13.tar.xz
ea60f2be81b480c555e9182a99b08308 0001-mod_avmd-use-posix-isinf.patch
3b5a8c48900130e89d4e57307b0f9c34 0001-sofia-sip-byte-order.patch
1c08df4cf4ef737e6cc6945f9462f08e 0002-FS-verto-bswap_64.patch
1e7f335ee00f589825ecc9affa779346 getlib.patch
8027ab932f00579c6d04cb5dde102cda modules.conf
c608cca8ad773acebf201f581438c7e7 freeswitch.confd
3b0bf4847a61afa28229b58763f4c400 freeswitch.initd"
sha256sums="64a8a14fc5df92893d956868f144042891cc3e2d096bbf56241fec706635a8b7 freeswitch-1.6.13.tar.xz
2dcd13894c8f601e59033fffc21942c41cdc10eef3c6ab15bd9d37d9be2ea9ae 0001-mod_avmd-use-posix-isinf.patch
7425b9fdc1e4ade9ea34e79e6aa69a61b4700a9562b347c2c157217a32570534 0001-sofia-sip-byte-order.patch
2685eb17fcd4510e46bb1d88be5550c3cb7b08f2acccfb41b2c680480c91b63e 0002-FS-verto-bswap_64.patch
ab437c92149b6fc88bc2fc8a228d6a5f8af574e2c90469a6dc4c753d13972c34 getlib.patch
4db8934a4b41f5c61d1fba8fbd68c91fd18bddcf07419301e3db91df7e911488 modules.conf
846a29a361ef6eecd77876963b5c0133699c40fa8b34c68df42d5f8a1a1915b1 freeswitch.confd
aa0d89221ffa47eba4a0e085f6041ee198476409dd15d1e90c5c357ba683f432 freeswitch.initd"
sha512sums="0520be6d0c8e6adfa5ad9016c377f8f058fef2300399b8c907cdc9ab20396cf201a8558a860705462f8e94ada164b50532058e194ea7780c11e19e0c726fdc62 freeswitch-1.6.13.tar.xz
4702d9e2f7eaa13bba87f9275ccc58d40c96bf0f966b6b31dfdd60c04ce8e8c544ebad30bec158568520bef7697bdf01b034a02a11c73440de43f9d2dfdd72f7 0001-mod_avmd-use-posix-isinf.patch
8572fcb10242d7064a1a8f7e62e2d6f9cf0eb1725233791592f9f0a5b39e7979e6804406a6fe7d653444d579d92e7696860fd766708c9906f6d604f28e0a0c63 0001-sofia-sip-byte-order.patch
5f93150e1acd632df98bc3bed5613fb1e45180ae4096dcfee5c060da213c8355339260eaf5758cd77c785f6d84cf0661650a872ec574b586ab19803d4f6955f8 0002-FS-verto-bswap_64.patch
4ceb48f64d2bc26a02cc0846276506241bfd30c156422b0a1d608fd172c099feb5c121a763652e9a45046dcdd0ba0eb71eab240e0c6ce2ad63ff781719e135a4 getlib.patch
6deecb303e765d44bdd970d5a7079c9dd9ce17d12056b68cd978a182a86b477b4a3c19d2f5a18f36199ca2e0594a3b84de521ab821e2f8c89f7449a3d7f21279 modules.conf
a585f6411185a26206137a1ad97a06fd6c73e80c5439e9be45eabfa70e7a83120169ba882971fcd328436c8e0242cbd664170b80754ea2846021689baf1f1595 freeswitch.confd
643d0a2e43f5d3bf3b99fcb6f6422302cb4b74a95eccf844eafb100b15aa9856b4ff41f112d6637255c2e9e2bec9fedc9a9215dfff214dfb83b52eae16b71dca freeswitch.initd"