# Contributor: Francesco Colista # Maintainer: Natanael Copa pkgname=sems pkgver=1.5.0 pkgrel=2 pkgdesc="SIP Express Media Server, an extensible SIP media server" url="http://iptel.org/sems/" arch="all" license="GPLv2+" pkgusers="sems" pkggroups="sems" install="$pkgname.pre-install" makedepends="python-dev cmake bash openssl-dev libsamplerate-dev spandsp-dev flite-dev gsm-dev speex-dev " subpackages="$pkgname-doc $pkgname-conf_auth $pkgname-conference $pkgname-diameter_client $pkgname-dsm $pkgname-early_announce $pkgname-g722 $pkgname-gsm $pkgname-ivr $pkgname-mailbox $pkgname-pin_collect $pkgname-speex $pkgname-xmlrpc2di" source="http://ftp.iptel.org/pub/sems/sems-$pkgver.tar.gz sems-0001-Force-to-use-system-wide-GSM-includes.patch sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch sems-0004-fix-PRACK-route.patch sems.initd " # sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch # sems-0006-last-minute-fix-proper-version.patch # sems-0008-Install-email-template.patch # sems-0009-Don-t-start-py_sems-by-default.patch # applied: # sems-0007-Fix-gateway-module-s-version-passing-in-CMake.patch # sems-0010-Move-CMake-defines.patch _builddir="$srcdir/$pkgname-$pkgver" prepare() { cd "$_builddir" rm -rf core/plug-in/gsm/gsm-1.0-pl10/ for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done } build() { cd "$_builddir" # force cmake to use relative paths. It helps us avoid having the # full file path in the logs cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_USE_RELATIVE_PATHS=yes \ -DSEMS_USE_SPANDSP=yes \ -DSEMS_USE_LIBSAMPLERATE=yes \ -DSEMS_USE_ZRTP=NO \ -DSEMS_USE_MP3=NO \ -DSEMS_USE_ILBC=NO \ -DSEMS_USE_TTS=yes \ -DSEMS_USE_OPENSSL=yes \ -DSEMS_USE_MONITORING=yes \ -DSEMS_USE_IPV6=NO \ -DSEMS_CFG_PREFIX= \ -DSEMS_AUDIO_PREFIX=/usr/share \ -DSEMS_EXEC_PREFIX=/usr \ -DSEMS_LIBDIR=lib \ || return 1 make } package() { cd "$_builddir" make install DESTDIR="$pkgdir" install -m755 -D "$srcdir"/$pkgname.initd \ "$pkgdir"/etc/init.d/$pkgname || return 1 # is empty rm -f "$pkgdir"/etc/sems/etc/conf_auth.conf install -o sems -g sems -d "$pkgdir"/var/spool/voicebox install -d -o sems "$pkgdir"/var/run/sems } _mv_sub() { local i for i in "$@"; do mkdir -p "$subpkgdir"/${i%/*} mv "$pkgdir"/$i "$subpkgdir"/$i done } conf_auth() { pkgdesc="Conference with authorization for SEMS" depends="sems sems-ivr" cd "$pkgdir" _mv_sub usr/lib/sems/ivr/conf_auth* } conference() { pkgdesc="Conferencing application for SEMS" depends="sems" cd "$pkgdir" _mv_sub etc/sems/etc/conference.conf \ usr/lib/sems/plug-in/conference.so \ usr/share/sems/audio/conference } diameter_client() { pkgdesc="A simple DIAMETER client implementation for SEMS" depends="sems" cd "$pkgdir" _mv_sub usr/lib/sems/plug-in/diameter_client.so } dsm() { pkgdesc="The state machine interpreter for SEMS" depends="sems" cd "$pkgdir" _mv_sub etc/sems/etc/dsm* \ usr/lib/sems/plug-in/dsm.so \ usr/lib/sems/dsm } early_announce() { pkgdesc="Early announce application for SEMS" depends="sems" cd "$pkgdir" _mv_sub etc/sems/etc/early_announce.conf \ usr/lib/sems/plug-in/early_announce.so } g722() { pkgdesc="G.722 support for SEMS" depends="sems" _mv_sub usr/lib/sems/plug-in/g722.so } #gateway() { # pkgdesc="ISDN gateway for SEMS" # depends="sems" #} gsm() { pkgdesc="GSM support for SEMS" depends="sems" _mv_sub usr/lib/sems/plug-in/gsm.so } ivr() { pkgdesc="IVR functionallity for SEMS" depends="sems python" cd "$pkgdir" _mv_sub etc/sems/etc/ivr.conf \ usr/lib/sems/plug-in/ivr.so \ usr/lib/sems/ivr/log.* } mailbox() { pkgdesc="Mailbox application for SEMS" depends="sems sems-ivr" cd "$pkgdir" _mv_sub etc/sems/etc/mailbox*.conf \ usr/share/sems/audio/mailbox \ usr/lib/sems/plug-in/ivr.so \ usr/lib/sems/ivr/*mailbox* } pin_collect() { pkgdesc="Collects a PIN for SEMS" depends="sems sems-ivr" cd "$pkgdir" _mv_sub etc/sems/etc/pin_collect.conf \ usr/share/sems/audio/pin_collect \ usr/lib/sems/plug-in/ivr.so \ usr/lib/sems/ivr/pin_collect* } _python() { pkgdesc="Python bindings for SEMS" depends="python sems" cd "$pkgdir" _mv_sub \ usr/lib/sems/plug-in/py_sems* } speex() { pkgdesc="Speex support for SEMS" depends="sems" _mv_sub usr/lib/sems/plug-in/speex.so } xmlrpc2di() { pkgdesc="XMLRPC interface for SEMS" depends="sems" _mv_sub \ etc/sems/etc/xmlrpc2di.conf \ usr/lib/sems/plug-in/xmlrpc2di.so } md5sums="ec0a88f9081679b3b4ab9d06e84ea759 sems-1.5.0.tar.gz 5b2fded836b44bda33f39adc37de4de7 sems-0001-Force-to-use-system-wide-GSM-includes.patch b8efd1a6415afa08f7c676f6976fca36 sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch 331e7529833c906b4738006f32a65fde sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch 62f03dac8e098b0333f3e8b06770b459 sems-0004-fix-PRACK-route.patch 36c2f993ba874781f5d3974b4f4c1503 sems.initd"