mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-07 09:41:39 +01:00
164 lines
5.2 KiB
Plaintext
164 lines
5.2 KiB
Plaintext
# 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=6
|
|
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 sngtc_client-dev"
|
|
install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-upgrade"
|
|
subpackages="$pkgname-dev $pkgname-flite $pkgname-timezones
|
|
$pkgname-sample-config:conf $pkgname-freetdm $pkgname-sangoma"
|
|
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"#' \
|
|
-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
|
|
}
|
|
|
|
|
|
_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="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
|
|
94516a9473e2283ab201f38cb2756741 modules.conf
|
|
c608cca8ad773acebf201f581438c7e7 freeswitch.confd
|
|
aa358c9ca0d8b93fabb6a36a5ed4c469 freeswitch.initd"
|