# Maintainer: Natanael Copa # Contributor: Michael Mason # Contributor: Cameron Banta setvar pkgname = 'freeswitch' setvar pkgver = '1.6.17' setvar pkgrel = '0' setvar pkgdesc = ""A communications platform written in C from the ground up"" setvar url = ""http://www.freeswitch.org"" setvar arch = ""all"" setvar license = ""GPL"" setvar 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 "" setvar install = ""$pkgname.pre-install $pkgname.pre-upgrade"" setvar FREESWITCH_USER = 'freeswitch' setvar FREESWITCH_GROUP = 'freeswitch' setvar pkgusers = "$FREESWITCH_USER" setvar pkggroups = "$FREESWITCH_GROUP" setvar 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"" setvar 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 sofia-sip-libressl.patch getlib.patch modules.conf freeswitch.confd freeswitch.initd "" setvar builddir = ""$srcdir/$pkgname-$pkgver"" proc prepare { default_prepare || return 1 update_config_sub } proc 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 } proc 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 } proc _mv_mod { local moddir=usr/lib/freeswitch/mod i= mkdir -p "$subpkgdir"/$moddir for i in $@ { mv "$pkgdir"/$moddir/$i.so "$subpkgdir"/$moddir/ || return 1 } } proc flite { setvar pkgdesc = ""Freeswitch Text To Speech Module"" setvar 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 } proc freetdm { setvar pkgdesc = ""Freeswitch FreeTDM Module"" setvar 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/ } proc sangoma { setvar pkgdesc = ""Freeswitch Sangoma Media Transcode Codec Module"" setvar install = '' _mv_mod mod_sangoma_codec } proc timezones { setvar pkgdesc = ""Freeswitch timezone configuration"" setvar install = '' setvar 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 } proc snmp { setvar pkgdesc = ""Freeswitch SNMP module"" setvar install = '' _mv_mod mod_snmp } proc pgsql { setvar pkgdesc = ""Freeswitch PostgreSQL Module"" setvar install = '' _mv_mod mod_cdr_pg_csv } proc perl { setvar pkgdesc = ""Freeswitch Perl module"" setvar install = '' _mv_mod mod_perl } proc perlesl { setvar pkgdesc = ""Freeswitch Perl ESL module"" setvar install = '' mkdir -p "$subpkgdir"/usr/lib/perl5 mv "$pkgdir"/usr/lib/perl5/* "$subpkgdir"/usr/lib/perl5 } proc conf { setvar pkgdesc = ""Freeswitch sample configureation"" setvar depends = ""freeswitch-timezones"" setvar install = '' mkdir -p "$subpkgdir"/etc/freeswitch # move all configs except freeswitch.xml for i in "$pkgdir"/etc/freeswitch/* { test $i = "$pkgdir"/etc/freeswitch/freeswitch.xml && continue mv $i "$subpkgdir"/etc/freeswitch/ || return 1 } mkdir -p "$pkgdir"/etc/freeswitch/scripts } setvar sha512sums = ""09859c16fee07d6b7f8a54f7149bc56b49ef82d4fdf6df97df2611d117f3a6256f68bfaf19e4a307c9da0b7c80b942f02e5be4a85df3cc3f0f0a5f75ad731fa8 freeswitch-1.6.17.tar.xz 482f9804b1c6e4120b4085885650c1b15006de629e475ca16d03feb314ce8816523b349217d10e80ba5a1aeead1090d8398bb05102bd9f2ebe673869286815ad 0001-mod_avmd-use-posix-isinf.patch 8a7ca31cc80524b02edc83af891a32af64dd7834ac14b1389112f2ce7fe06fe602d24509a299898f25e807dd0b88544aecb990bf4bd37ee1c7023ae58dacd28a 0001-sofia-sip-byte-order.patch 5f93150e1acd632df98bc3bed5613fb1e45180ae4096dcfee5c060da213c8355339260eaf5758cd77c785f6d84cf0661650a872ec574b586ab19803d4f6955f8 0002-FS-verto-bswap_64.patch 5bb95dff04714bb94a8973a78cf46beb335e026e3b5e9bf6f6a5b60d94387dbe431a72c3bf37e553dc34a9773a3ea63e05b0b28d243a3ef97ad833c28c904f85 sofia-sip-libressl.patch 4ceb48f64d2bc26a02cc0846276506241bfd30c156422b0a1d608fd172c099feb5c121a763652e9a45046dcdd0ba0eb71eab240e0c6ce2ad63ff781719e135a4 getlib.patch 6deecb303e765d44bdd970d5a7079c9dd9ce17d12056b68cd978a182a86b477b4a3c19d2f5a18f36199ca2e0594a3b84de521ab821e2f8c89f7449a3d7f21279 modules.conf a585f6411185a26206137a1ad97a06fd6c73e80c5439e9be45eabfa70e7a83120169ba882971fcd328436c8e0242cbd664170b80754ea2846021689baf1f1595 freeswitch.confd 643d0a2e43f5d3bf3b99fcb6f6422302cb4b74a95eccf844eafb100b15aa9856b4ff41f112d6637255c2e9e2bec9fedc9a9215dfff214dfb83b52eae16b71dca freeswitch.initd""