summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Furrer <elcaio@gmail.com>2011-09-21 09:58:09 -0300
committerClaudio Furrer <elcaio@gmail.com>2011-09-21 09:58:09 -0300
commit5170cb5b8a1f3d6d3d67a8598427073bf55db668 (patch)
tree0dd7100dec7b6dd3103940f7268fb468bc7cbdf8
parentAdded sip-router profile. (diff)
downloadcaio-5170cb5b8a1f3d6d3d67a8598427073bf55db668.tar.gz
caio-5170cb5b8a1f3d6d3d67a8598427073bf55db668.tar.bz2
caio-5170cb5b8a1f3d6d3d67a8598427073bf55db668.zip
Added sip-router (kamailio/ser) ebuild.
-rw-r--r--sip-router/ChangeLog31
-rw-r--r--sip-router/Manifest10
-rw-r--r--sip-router/files/ser.confd16
-rw-r--r--sip-router/files/ser.initd34
-rw-r--r--sip-router/metadata.xml9
-rw-r--r--sip-router/sip-router-3.1.2.ebuild250
-rw-r--r--sip-router/sip-router-3.1.3.ebuild250
-rw-r--r--sip-router/sip-router-3.1.4.ebuild250
8 files changed, 850 insertions, 0 deletions
diff --git a/sip-router/ChangeLog b/sip-router/ChangeLog
new file mode 100644
index 0000000..cfc9f7e
--- /dev/null
+++ b/sip-router/ChangeLog
@@ -0,0 +1,31 @@
+# ChangeLog for net-misc/sip-router
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*sip-router-3.1.4 (13 Sep 2011)
+
+ 13 Sep 2011; Claudio G. Furrer <elcaio@gmail.com> sip-router-3.1.4-r2.ebuild:
+ Fix installation paths and names based on flavour specified in the USE flag
+ (ser or kamailio). Backported also to 3.1.3 and 3.1.2.
+
+ 24 Aug 2011; Claudio G. Furrer <elcaio@gmail.com> sip-router-3.1.4-r1.ebuild:
+ Added kamailio-specific groups (group_k*) in USE flags.
+
+ 31 May 2011; Claudio G. Furrer <elcaio@gmail.com> sip-router-3.1.4.ebuild:
+ Version bump.
+
+*sip-router-3.1.3 (03 May 2011)
+
+ 03 May 2011; Claudio G. Furrer <elcaio@gmail.com> sip-router-3.1.3.ebuild:
+ Version bump.
+
+*sip-router-3.1.2 (21 Mar 2011)
+
+ 23 Mar 2011; Claudio G. Furrer <elcaio@gmail.com> sip-router-3.1.2.ebuild,
+ +metadata.xml:
+ Added flavours USE setup for kamailio/ser/sip-router options.
+ Also was added metadata file.
+
+ 22 Mar 2011; Claudio G. Furrer <elcaio@gmail.com> sip-router-3.1.2.ebuild:
+ Added initial ChangeLog which should be updated whenever the package is
+ updated in any way.
diff --git a/sip-router/Manifest b/sip-router/Manifest
new file mode 100644
index 0000000..8763c30
--- /dev/null
+++ b/sip-router/Manifest
@@ -0,0 +1,10 @@
+AUX ser.confd 514 RMD160 3bed2bc682d4c4ac05d52f1d0bc9c76c09983ec8 SHA1 c7d1b38d778d1913f3099511db72479a6cc346f6 SHA256 5f06b166e3ed5a0627e5f5919511ec610b4ac1fa6906b49c52fcabef6a0cfb66
+AUX ser.initd 800 RMD160 7ccea24a25ff0bbbf799f18febe8ec3470850091 SHA1 b79975c2bf5ef43b52195b0a0f967eb968b05148 SHA256 46d9c47ac66d73fddf1cce743a2155b1b332af5b1a5a423fe5b7e86781aa9df0
+DIST kamailio-3.1.2_src.tar.gz 6936249 RMD160 8811bc7b1310e4ca550b40d108002f6a36cd6ab8 SHA1 76b417f9b54575d8ec179558c16953a8e6510809 SHA256 03396f7a202507075d8c81fd1bbc689cedc8bf96941faaa570e007164f2f9550
+DIST kamailio-3.1.3_src.tar.gz 6994333 RMD160 4aac64a217d2344236d5749d103579b0fff1504f SHA1 6675786e3b717f62e4eaa9ff33b4c78ae3a19fdb SHA256 f7e108ac6ee8d8a79cb0b6b37c660597807db2a933991bd982d26405a3ed4f7c
+DIST kamailio-3.1.4_src.tar.gz 6959507 RMD160 d0f8746be3bda86c650486ac3a31186778e79dc4 SHA1 d663936e542969b63671dd514e7b368448fbe404 SHA256 669564fe3be9c8439749f6d435d39b5851c7fff61392924e2e6aeb60a8793956
+EBUILD sip-router-3.1.2.ebuild 8024 RMD160 604e7f73449afcd0659ad0b7628a41f95aca16bf SHA1 012566e917c412e90e2addec3d5f83f895e337c1 SHA256 1adb67682eaa5a9dfee306473023bf7403068199a0e8916db521e230452b1e78
+EBUILD sip-router-3.1.3.ebuild 8024 RMD160 604e7f73449afcd0659ad0b7628a41f95aca16bf SHA1 012566e917c412e90e2addec3d5f83f895e337c1 SHA256 1adb67682eaa5a9dfee306473023bf7403068199a0e8916db521e230452b1e78
+EBUILD sip-router-3.1.4.ebuild 8024 RMD160 604e7f73449afcd0659ad0b7628a41f95aca16bf SHA1 012566e917c412e90e2addec3d5f83f895e337c1 SHA256 1adb67682eaa5a9dfee306473023bf7403068199a0e8916db521e230452b1e78
+MISC ChangeLog 1132 RMD160 0995d9d41b18403b6f8f619c36590b63dc946735 SHA1 b7caa0573ef696d1d821856e0eb28c2c1851ae77 SHA256 d6cf8d917e3e1de5a8edf2f8dbad13f443f86232cd354357b8df389bdd75b128
+MISC metadata.xml 234 RMD160 7e65eb5a9a08368288fc1e3608ddb9a4677defdd SHA1 93c38407f533f522647683eb7b7c2121bc6f3707 SHA256 4009ad9d312db0ece6fd53e9dfabda98e2c1037ec540eb64d6ab43fe318c1a25
diff --git a/sip-router/files/ser.confd b/sip-router/files/ser.confd
new file mode 100644
index 0000000..1d76370
--- /dev/null
+++ b/sip-router/files/ser.confd
@@ -0,0 +1,16 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+# Additional options to start Sip-Router with.
+#
+# see "sip-router -h" for a list of options
+#
+# default: run SER as user:group = ser:ser
+#
+MAIN_NAME="sip-router"
+SR_USER="sip-router"
+SR_GROUP="sip-router"
+CONFIGFILE="${CONFIGFILE:-/etc/${MAIN_NAME}/sip-router.cfg}"
+CONFIGDEFS="" # eg: "-A WITH_DEBUG -A WITH_NAT -A WITH_TLS"
+SR_OPTS="-u $SR_USER -g $SR_GROUP -f ${CONFIGFILE} ${CONFIGDEFS}"
diff --git a/sip-router/files/ser.initd b/sip-router/files/ser.initd
new file mode 100644
index 0000000..f692395
--- /dev/null
+++ b/sip-router/files/ser.initd
@@ -0,0 +1,34 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+depend() {
+ need net
+}
+
+check_config() {
+ out=`(/usr/sbin/sip-router -f ${CONFIGFILE} -c > /dev/null || true) 2>&1`
+ echo "$out" | grep -q 'config file ok, exiting...'
+ if [ "$?" == 1 ]; then
+ echo -e "There are errors in the configuration. Please fix them first"
+ echo -e "\n$out\n"
+ return 1
+ fi
+}
+
+start() {
+ check_config || return 1
+ ebegin "Starting sip-router"
+ start-stop-daemon --start --quiet --pidfile /var/run/sip-router.pid \
+ --exec /usr/sbin/sip-router -- -P /var/run/sip-router.pid \
+ ${SR_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping sip-router"
+ start-stop-daemon --stop --quiet --pidfile /var/run/sip-router.pid
+ eend $?
+}
+
diff --git a/sip-router/metadata.xml b/sip-router/metadata.xml
new file mode 100644
index 0000000..d48077a
--- /dev/null
+++ b/sip-router/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>voip</herd>
+ <maintainer>
+ <email>maintainer-needed@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/sip-router/sip-router-3.1.2.ebuild b/sip-router/sip-router-3.1.2.ebuild
new file mode 100644
index 0000000..cd0f9a8
--- /dev/null
+++ b/sip-router/sip-router-3.1.2.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+DESCRIPTION="Sip-Router (Kamailio/SER) is an Open Source SIP Server"
+HOMEPAGE="http://sip-router.org/"
+MY_P="${P/sip-router/kamailio}"
+SRC_URI="http://www.kamailio.org/pub/kamailio/${PV}/src/${MY_P}_src.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+
+#Documentation can be found here: http://www.kamailio.org/docs/modules/3.1.x/
+IUSE="flavour_kamailio flavour_ser debug ipv6 sctp
+group_standard group_standard_dep group_mysql group_radius group_postgres group_presence group_stable group_experimental
+group_kstandard group_kmysql group_kradius group_kpostgres group_kpresence group_kxml group_kperl group_kldap
+acc acc_radius alias_db app_lua app_python auth auth_identity auth_db auth_diameter auth_radius avpops
+benchmark blst
+call_control carrierroute cfg_db cfg_rpc cfgutils counters cpl-c ctl
+db_berkeley db_flatstore db_mysql db_oracle db_postgres db_text db_unixodbc
+debugger dialog dialplan dispatcher diversion domain domainpolicy drouting
+enum exec
+geoip group
+h350 htable imc iptrtpproxy jabber kex
+lcr ldap
+matrix maxfwd mediaproxy memcached misc_radius mi_datagram mi_fifo mi_rpc mi_xmlrpc mqueue msilo mtree
+nathelper nat_traversal
+osp
+path pdb pdt peering perl perlvdb permissions pike pipelimit prefix_route
+presence presence_conference presence_dialoginfo presence_mwi presence_xml
+pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp purple pv
+qos
+ratelimit regex registrar rls rtimer rr rtpproxy
+sanity seas siptrace siputils sl sms snmpstats speeddial sqlops statistics sst
+textops textopsx tls tm tmx topoh
+uac uac_redirect uri_db userblacklist usrloc utils
+xcap_client xcap_server xhttp xlog xmlops xmlrpc xmpp"
+
+#osp? ( net-libs/osptoolkit )
+#pdb? ( pdb-server )
+#seas? ( www.wesip.eu )
+
+RDEPEND="
+ >=sys-libs/ncurses-5.7
+ >=sys-libs/readline-6.1_p2
+ group_mysql? ( >=dev-db/mysql-5.1.50 sys-libs/zlib )
+ group_radius? ( >=net-dialup/radiusclient-ng-0.5.0 )
+ group_presence? ( dev-libs/libxml2 net-misc/curl )
+ group_postgres? ( dev-db/postgresql-base )
+ group_standard? ( dev-libs/libxml2 dev-libs/openssl net-misc/curl )
+ group_kmysql? ( >=dev-db/mysql-5.1.50 sys-libs/zlib )
+ group_kradius? ( >=net-dialup/radiusclient-ng-0.5.0 )
+ group_kpresence? ( dev-libs/libxml2 net-misc/curl )
+ group_kpostgres? ( dev-db/postgresql-base )
+ group_kstandard? ( dev-libs/libxml2 dev-libs/openssl net-misc/curl )
+ group_kxml? ( dev-libs/libxml2 dev-libs/xmlrpc-c )
+ group_kperl? ( dev-lang/perl dev-perl/perl-ldap )
+ group_kldap? ( net-nds/openldap )
+ acc_radius? ( net-dialup/radiusclient-ng )
+ app_lua? ( dev-lang/lua )
+ app_python? ( dev-lang/python )
+ auth_identity? ( dev-libs/openssl net-misc/curl )
+ carrierroute? ( dev-libs/confuse )
+ cpl-c? ( dev-libs/libxml2 )
+ db_berkeley? ( >=sys-libs/db-4.6 )
+ db_mysql? ( >=dev-db/mysql-5.1.50 )
+ db_oracle? ( dev-db/oracle-instantclient-basic )
+ db_postgres? ( dev-db/postgresql-base )
+ db_unixodbc? ( dev-db/unixODBC )
+ dialplan? ( dev-libs/libpcre )
+ geoip? ( dev-libs/geoip )
+ h350? ( net-nds/openldap )
+ jabber? ( dev-libs/expat )
+ lcr? ( dev-libs/libpcre )
+ ldap? ( net-nds/openldap )
+ memcached? ( dev-libs/libmemcache net-misc/memcached )
+ mi_xmlrpc? ( dev-libs/libxml2 dev-libs/xmlrpc-c )
+ peering? ( net-dialup/radiusclient-ng )
+ perl? ( dev-lang/perl dev-perl/perl-ldap )
+ presence? ( dev-libs/libxml2 )
+ presence_conference? ( dev-libs/libxml2 )
+ presence_xml? ( dev-libs/libxml2 )
+ pua? ( dev-libs/libxml2 )
+ pua_bla? ( dev-libs/libxml2 )
+ pua_dialoginfo? ( dev-libs/libxml2 )
+ pua_usrloc? ( dev-libs/libxml2 )
+ pua_xmpp? ( dev-libs/libxml2 )
+ purple? ( net-im/pidgin )
+ regex? ( dev-libs/libpcre )
+ rls? ( dev-libs/libxml2 )
+ snmpstats? ( net-analyzer/net-snmp sys-apps/lm_sensors )
+ tls? (
+ sys-libs/zlib
+ >=dev-libs/openssl-1.0.0a-r1
+ )
+ utils? ( net-misc/curl )
+ xcap_client? ( dev-libs/libxml2 net-misc/curl )
+ xcap_server? ( dev-libs/libxml2 )
+ xmlops? ( dev-libs/libxml2 )
+ xmpp? ( dev-libs/expat )
+"
+DEPEND="${RDEPEND}
+ >=sys-devel/bison-1.35
+ >=sys-devel/flex-2.5.4a
+ app-text/docbook2X"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ use ipv6 || \
+ sed -i -e "s/-DUSE_IPV6//g" Makefile.defs || die
+}
+
+src_compile() {
+ # iptrtpproxy broken as the needed netfilter module is not supported
+ local mod_exc="iptrtpproxy"
+ local group_inc=""
+ local k=""
+ if use flavour_kamailio; then
+ k="k"
+ use group_kxml && group_inc="${group_inc} kxml"
+ use group_kperl && group_inc="${group_inc} kperl"
+ use group_kldap && group_inc="${group_inc} kldap"
+ fi
+ # you can USE flavour=kamailio but also group_standard. It will be converted to group_kstandard
+ # same as mysql/kmysql, postgres/kpostgres, radius/kradius, presence/kpresence
+ (use group_standard || use group_kstandard) && group_inc="${group_inc} ${k}standard"
+ use group_standard_dep && group_inc="${group_inc} standard_dep"
+ (use group_mysql || use group_kmysql) && group_inc="${group_inc} ${k}mysql"
+ (use group_radius || use group_kradius) && group_inc="${group_inc} ${k}radius"
+ (use group_postgres || use group_kpostgres) && group_inc="${group_inc} ${k}postgres"
+ (use group_presence || use group_kpresence) && group_inc="${group_inc} ${k}presence"
+ use group_stable && group_inc="${group_inc} stable"
+ use group_experimental && group_inc="${group_inc} experimental"
+ # TODO: skip_modules?
+
+ local mod_inc=""
+ # some IUSE flags must not be included here in mod_inc
+ # e.g.: flavour_kamailio, flavour_ser, debug, sctp, ipv6
+ for i in ${IUSE[@]}; do
+ for j in ${i[@]}; do
+ [[ ! "${i}" =~ "flavour_" ]] && \
+ [ ! "${i}" == "debug" ] && \
+ [ ! "${i}" == "ipv6" ] && \
+ [ ! "${i}" == "sctp" ] && \
+ [[ ! "${i}" =~ "group_" ]] && \
+ use "${i}" && mod_inc="${mod_inc} ${i}"
+ done
+ done
+
+ if use tls; then
+ tls_hooks=1
+ else
+ tls_hooks=0
+ fi
+
+ if use debug; then
+ mode=debug
+ else
+ mode=release
+ fi
+
+ if use flavour_kamailio; then
+ flavour=kamailio
+ else
+ flavour=ser # defaults to SER compatibility names
+ fi
+
+ if use sctp; then
+ sctp=1
+ else
+ sctp=0
+ fi
+
+ emake \
+ CC="$(tc-getCC)" \
+ CPU_TYPE="$(get-flag march)" \
+ SCTP="${sctp}" \
+ CC_EXTRA_OPTS=-I/usr/gnu/include \
+ mode="${mode}" \
+ TLS_HOOKS="${tls_hooks}" \
+ FLAVOUR="${flavour}" \
+ group_include="${group_inc}" \
+ include_modules="${mod_inc}" \
+ exclude_modules="${mod_exc}" \
+ prefix="/" \
+ all || die "emake all failed"
+}
+
+src_install() {
+ emake -j1 \
+ BASEDIR="${D}" \
+ FLAVOUR="${flavour}" \
+ prefix="/" \
+ bin_dir=/usr/sbin/ \
+ cfg_dir=/etc/${flavour}/ \
+ lib_dir=/usr/$(get_libdir)/${flavour}/ \
+ modules_dir="/usr/$(get_libdir)/${flavour}/" \
+ man_dir="/usr/share/man/" \
+ doc_dir="/usr/share/doc/${flavour}/" \
+ install || die "emake install failed"
+
+ sed -e "s/sip-router/${flavour}/g" \
+ ${FILESDIR}/ser.initd > ${flavour}.initd || die
+ sed -e "s/sip-router/${flavour}/g" \
+ ${FILESDIR}/ser.confd > ${flavour}.confd || die
+
+ newinitd "${flavour}".initd "${flavour}"
+ newconfd "${flavour}".confd "${flavour}"
+}
+
+pkg_preinst() {
+ if [[ -z "$(egetent passwd ${flavour})" ]]; then
+ einfo "Adding ${flavour} user and group"
+ enewgroup "${flavour}"
+ enewuser "${flavour}" -1 -1 /dev/null "${flavour}"
+ fi
+
+ chown -R root:"${flavour}" "${D}/etc/${flavour}"
+ chmod -R u=rwX,g=rX,o= "${D}/etc/${flavour}"
+
+ has_version <="${CATEGORY}/ser-0.9.8"
+ previous_installed_version=$?
+ if [[ $previous_installed_version = 1 ]] ; then
+ elog "You have a previous version of SER on ${ROOT}etc/ser"
+ elog "Consider or verify to remove it (emerge -C ser)."
+ elog
+ elog "Sip-Router may not could be installed/merged. See your elog."
+ fi
+}
+
+pkg_postinst() {
+ if [ use mediaproxy ]; then
+ einfo "You have enabled mediaproxy support. In order to use it, you have
+ to run it somewhere."
+ fi
+ if [ use rtpproxy ]; then
+ einfo "You have enabled rtpproxy support. In order to use it, you have
+ to run it somewhere."
+ fi
+}
+
+pkg_prerm () {
+ /etc/init.d/"${flavour}" stop >/dev/null
+}
diff --git a/sip-router/sip-router-3.1.3.ebuild b/sip-router/sip-router-3.1.3.ebuild
new file mode 100644
index 0000000..cd0f9a8
--- /dev/null
+++ b/sip-router/sip-router-3.1.3.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+DESCRIPTION="Sip-Router (Kamailio/SER) is an Open Source SIP Server"
+HOMEPAGE="http://sip-router.org/"
+MY_P="${P/sip-router/kamailio}"
+SRC_URI="http://www.kamailio.org/pub/kamailio/${PV}/src/${MY_P}_src.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+
+#Documentation can be found here: http://www.kamailio.org/docs/modules/3.1.x/
+IUSE="flavour_kamailio flavour_ser debug ipv6 sctp
+group_standard group_standard_dep group_mysql group_radius group_postgres group_presence group_stable group_experimental
+group_kstandard group_kmysql group_kradius group_kpostgres group_kpresence group_kxml group_kperl group_kldap
+acc acc_radius alias_db app_lua app_python auth auth_identity auth_db auth_diameter auth_radius avpops
+benchmark blst
+call_control carrierroute cfg_db cfg_rpc cfgutils counters cpl-c ctl
+db_berkeley db_flatstore db_mysql db_oracle db_postgres db_text db_unixodbc
+debugger dialog dialplan dispatcher diversion domain domainpolicy drouting
+enum exec
+geoip group
+h350 htable imc iptrtpproxy jabber kex
+lcr ldap
+matrix maxfwd mediaproxy memcached misc_radius mi_datagram mi_fifo mi_rpc mi_xmlrpc mqueue msilo mtree
+nathelper nat_traversal
+osp
+path pdb pdt peering perl perlvdb permissions pike pipelimit prefix_route
+presence presence_conference presence_dialoginfo presence_mwi presence_xml
+pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp purple pv
+qos
+ratelimit regex registrar rls rtimer rr rtpproxy
+sanity seas siptrace siputils sl sms snmpstats speeddial sqlops statistics sst
+textops textopsx tls tm tmx topoh
+uac uac_redirect uri_db userblacklist usrloc utils
+xcap_client xcap_server xhttp xlog xmlops xmlrpc xmpp"
+
+#osp? ( net-libs/osptoolkit )
+#pdb? ( pdb-server )
+#seas? ( www.wesip.eu )
+
+RDEPEND="
+ >=sys-libs/ncurses-5.7
+ >=sys-libs/readline-6.1_p2
+ group_mysql? ( >=dev-db/mysql-5.1.50 sys-libs/zlib )
+ group_radius? ( >=net-dialup/radiusclient-ng-0.5.0 )
+ group_presence? ( dev-libs/libxml2 net-misc/curl )
+ group_postgres? ( dev-db/postgresql-base )
+ group_standard? ( dev-libs/libxml2 dev-libs/openssl net-misc/curl )
+ group_kmysql? ( >=dev-db/mysql-5.1.50 sys-libs/zlib )
+ group_kradius? ( >=net-dialup/radiusclient-ng-0.5.0 )
+ group_kpresence? ( dev-libs/libxml2 net-misc/curl )
+ group_kpostgres? ( dev-db/postgresql-base )
+ group_kstandard? ( dev-libs/libxml2 dev-libs/openssl net-misc/curl )
+ group_kxml? ( dev-libs/libxml2 dev-libs/xmlrpc-c )
+ group_kperl? ( dev-lang/perl dev-perl/perl-ldap )
+ group_kldap? ( net-nds/openldap )
+ acc_radius? ( net-dialup/radiusclient-ng )
+ app_lua? ( dev-lang/lua )
+ app_python? ( dev-lang/python )
+ auth_identity? ( dev-libs/openssl net-misc/curl )
+ carrierroute? ( dev-libs/confuse )
+ cpl-c? ( dev-libs/libxml2 )
+ db_berkeley? ( >=sys-libs/db-4.6 )
+ db_mysql? ( >=dev-db/mysql-5.1.50 )
+ db_oracle? ( dev-db/oracle-instantclient-basic )
+ db_postgres? ( dev-db/postgresql-base )
+ db_unixodbc? ( dev-db/unixODBC )
+ dialplan? ( dev-libs/libpcre )
+ geoip? ( dev-libs/geoip )
+ h350? ( net-nds/openldap )
+ jabber? ( dev-libs/expat )
+ lcr? ( dev-libs/libpcre )
+ ldap? ( net-nds/openldap )
+ memcached? ( dev-libs/libmemcache net-misc/memcached )
+ mi_xmlrpc? ( dev-libs/libxml2 dev-libs/xmlrpc-c )
+ peering? ( net-dialup/radiusclient-ng )
+ perl? ( dev-lang/perl dev-perl/perl-ldap )
+ presence? ( dev-libs/libxml2 )
+ presence_conference? ( dev-libs/libxml2 )
+ presence_xml? ( dev-libs/libxml2 )
+ pua? ( dev-libs/libxml2 )
+ pua_bla? ( dev-libs/libxml2 )
+ pua_dialoginfo? ( dev-libs/libxml2 )
+ pua_usrloc? ( dev-libs/libxml2 )
+ pua_xmpp? ( dev-libs/libxml2 )
+ purple? ( net-im/pidgin )
+ regex? ( dev-libs/libpcre )
+ rls? ( dev-libs/libxml2 )
+ snmpstats? ( net-analyzer/net-snmp sys-apps/lm_sensors )
+ tls? (
+ sys-libs/zlib
+ >=dev-libs/openssl-1.0.0a-r1
+ )
+ utils? ( net-misc/curl )
+ xcap_client? ( dev-libs/libxml2 net-misc/curl )
+ xcap_server? ( dev-libs/libxml2 )
+ xmlops? ( dev-libs/libxml2 )
+ xmpp? ( dev-libs/expat )
+"
+DEPEND="${RDEPEND}
+ >=sys-devel/bison-1.35
+ >=sys-devel/flex-2.5.4a
+ app-text/docbook2X"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ use ipv6 || \
+ sed -i -e "s/-DUSE_IPV6//g" Makefile.defs || die
+}
+
+src_compile() {
+ # iptrtpproxy broken as the needed netfilter module is not supported
+ local mod_exc="iptrtpproxy"
+ local group_inc=""
+ local k=""
+ if use flavour_kamailio; then
+ k="k"
+ use group_kxml && group_inc="${group_inc} kxml"
+ use group_kperl && group_inc="${group_inc} kperl"
+ use group_kldap && group_inc="${group_inc} kldap"
+ fi
+ # you can USE flavour=kamailio but also group_standard. It will be converted to group_kstandard
+ # same as mysql/kmysql, postgres/kpostgres, radius/kradius, presence/kpresence
+ (use group_standard || use group_kstandard) && group_inc="${group_inc} ${k}standard"
+ use group_standard_dep && group_inc="${group_inc} standard_dep"
+ (use group_mysql || use group_kmysql) && group_inc="${group_inc} ${k}mysql"
+ (use group_radius || use group_kradius) && group_inc="${group_inc} ${k}radius"
+ (use group_postgres || use group_kpostgres) && group_inc="${group_inc} ${k}postgres"
+ (use group_presence || use group_kpresence) && group_inc="${group_inc} ${k}presence"
+ use group_stable && group_inc="${group_inc} stable"
+ use group_experimental && group_inc="${group_inc} experimental"
+ # TODO: skip_modules?
+
+ local mod_inc=""
+ # some IUSE flags must not be included here in mod_inc
+ # e.g.: flavour_kamailio, flavour_ser, debug, sctp, ipv6
+ for i in ${IUSE[@]}; do
+ for j in ${i[@]}; do
+ [[ ! "${i}" =~ "flavour_" ]] && \
+ [ ! "${i}" == "debug" ] && \
+ [ ! "${i}" == "ipv6" ] && \
+ [ ! "${i}" == "sctp" ] && \
+ [[ ! "${i}" =~ "group_" ]] && \
+ use "${i}" && mod_inc="${mod_inc} ${i}"
+ done
+ done
+
+ if use tls; then
+ tls_hooks=1
+ else
+ tls_hooks=0
+ fi
+
+ if use debug; then
+ mode=debug
+ else
+ mode=release
+ fi
+
+ if use flavour_kamailio; then
+ flavour=kamailio
+ else
+ flavour=ser # defaults to SER compatibility names
+ fi
+
+ if use sctp; then
+ sctp=1
+ else
+ sctp=0
+ fi
+
+ emake \
+ CC="$(tc-getCC)" \
+ CPU_TYPE="$(get-flag march)" \
+ SCTP="${sctp}" \
+ CC_EXTRA_OPTS=-I/usr/gnu/include \
+ mode="${mode}" \
+ TLS_HOOKS="${tls_hooks}" \
+ FLAVOUR="${flavour}" \
+ group_include="${group_inc}" \
+ include_modules="${mod_inc}" \
+ exclude_modules="${mod_exc}" \
+ prefix="/" \
+ all || die "emake all failed"
+}
+
+src_install() {
+ emake -j1 \
+ BASEDIR="${D}" \
+ FLAVOUR="${flavour}" \
+ prefix="/" \
+ bin_dir=/usr/sbin/ \
+ cfg_dir=/etc/${flavour}/ \
+ lib_dir=/usr/$(get_libdir)/${flavour}/ \
+ modules_dir="/usr/$(get_libdir)/${flavour}/" \
+ man_dir="/usr/share/man/" \
+ doc_dir="/usr/share/doc/${flavour}/" \
+ install || die "emake install failed"
+
+ sed -e "s/sip-router/${flavour}/g" \
+ ${FILESDIR}/ser.initd > ${flavour}.initd || die
+ sed -e "s/sip-router/${flavour}/g" \
+ ${FILESDIR}/ser.confd > ${flavour}.confd || die
+
+ newinitd "${flavour}".initd "${flavour}"
+ newconfd "${flavour}".confd "${flavour}"
+}
+
+pkg_preinst() {
+ if [[ -z "$(egetent passwd ${flavour})" ]]; then
+ einfo "Adding ${flavour} user and group"
+ enewgroup "${flavour}"
+ enewuser "${flavour}" -1 -1 /dev/null "${flavour}"
+ fi
+
+ chown -R root:"${flavour}" "${D}/etc/${flavour}"
+ chmod -R u=rwX,g=rX,o= "${D}/etc/${flavour}"
+
+ has_version <="${CATEGORY}/ser-0.9.8"
+ previous_installed_version=$?
+ if [[ $previous_installed_version = 1 ]] ; then
+ elog "You have a previous version of SER on ${ROOT}etc/ser"
+ elog "Consider or verify to remove it (emerge -C ser)."
+ elog
+ elog "Sip-Router may not could be installed/merged. See your elog."
+ fi
+}
+
+pkg_postinst() {
+ if [ use mediaproxy ]; then
+ einfo "You have enabled mediaproxy support. In order to use it, you have
+ to run it somewhere."
+ fi
+ if [ use rtpproxy ]; then
+ einfo "You have enabled rtpproxy support. In order to use it, you have
+ to run it somewhere."
+ fi
+}
+
+pkg_prerm () {
+ /etc/init.d/"${flavour}" stop >/dev/null
+}
diff --git a/sip-router/sip-router-3.1.4.ebuild b/sip-router/sip-router-3.1.4.ebuild
new file mode 100644
index 0000000..cd0f9a8
--- /dev/null
+++ b/sip-router/sip-router-3.1.4.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils flag-o-matic toolchain-funcs multilib
+
+DESCRIPTION="Sip-Router (Kamailio/SER) is an Open Source SIP Server"
+HOMEPAGE="http://sip-router.org/"
+MY_P="${P/sip-router/kamailio}"
+SRC_URI="http://www.kamailio.org/pub/kamailio/${PV}/src/${MY_P}_src.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+
+#Documentation can be found here: http://www.kamailio.org/docs/modules/3.1.x/
+IUSE="flavour_kamailio flavour_ser debug ipv6 sctp
+group_standard group_standard_dep group_mysql group_radius group_postgres group_presence group_stable group_experimental
+group_kstandard group_kmysql group_kradius group_kpostgres group_kpresence group_kxml group_kperl group_kldap
+acc acc_radius alias_db app_lua app_python auth auth_identity auth_db auth_diameter auth_radius avpops
+benchmark blst
+call_control carrierroute cfg_db cfg_rpc cfgutils counters cpl-c ctl
+db_berkeley db_flatstore db_mysql db_oracle db_postgres db_text db_unixodbc
+debugger dialog dialplan dispatcher diversion domain domainpolicy drouting
+enum exec
+geoip group
+h350 htable imc iptrtpproxy jabber kex
+lcr ldap
+matrix maxfwd mediaproxy memcached misc_radius mi_datagram mi_fifo mi_rpc mi_xmlrpc mqueue msilo mtree
+nathelper nat_traversal
+osp
+path pdb pdt peering perl perlvdb permissions pike pipelimit prefix_route
+presence presence_conference presence_dialoginfo presence_mwi presence_xml
+pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp purple pv
+qos
+ratelimit regex registrar rls rtimer rr rtpproxy
+sanity seas siptrace siputils sl sms snmpstats speeddial sqlops statistics sst
+textops textopsx tls tm tmx topoh
+uac uac_redirect uri_db userblacklist usrloc utils
+xcap_client xcap_server xhttp xlog xmlops xmlrpc xmpp"
+
+#osp? ( net-libs/osptoolkit )
+#pdb? ( pdb-server )
+#seas? ( www.wesip.eu )
+
+RDEPEND="
+ >=sys-libs/ncurses-5.7
+ >=sys-libs/readline-6.1_p2
+ group_mysql? ( >=dev-db/mysql-5.1.50 sys-libs/zlib )
+ group_radius? ( >=net-dialup/radiusclient-ng-0.5.0 )
+ group_presence? ( dev-libs/libxml2 net-misc/curl )
+ group_postgres? ( dev-db/postgresql-base )
+ group_standard? ( dev-libs/libxml2 dev-libs/openssl net-misc/curl )
+ group_kmysql? ( >=dev-db/mysql-5.1.50 sys-libs/zlib )
+ group_kradius? ( >=net-dialup/radiusclient-ng-0.5.0 )
+ group_kpresence? ( dev-libs/libxml2 net-misc/curl )
+ group_kpostgres? ( dev-db/postgresql-base )
+ group_kstandard? ( dev-libs/libxml2 dev-libs/openssl net-misc/curl )
+ group_kxml? ( dev-libs/libxml2 dev-libs/xmlrpc-c )
+ group_kperl? ( dev-lang/perl dev-perl/perl-ldap )
+ group_kldap? ( net-nds/openldap )
+ acc_radius? ( net-dialup/radiusclient-ng )
+ app_lua? ( dev-lang/lua )
+ app_python? ( dev-lang/python )
+ auth_identity? ( dev-libs/openssl net-misc/curl )
+ carrierroute? ( dev-libs/confuse )
+ cpl-c? ( dev-libs/libxml2 )
+ db_berkeley? ( >=sys-libs/db-4.6 )
+ db_mysql? ( >=dev-db/mysql-5.1.50 )
+ db_oracle? ( dev-db/oracle-instantclient-basic )
+ db_postgres? ( dev-db/postgresql-base )
+ db_unixodbc? ( dev-db/unixODBC )
+ dialplan? ( dev-libs/libpcre )
+ geoip? ( dev-libs/geoip )
+ h350? ( net-nds/openldap )
+ jabber? ( dev-libs/expat )
+ lcr? ( dev-libs/libpcre )
+ ldap? ( net-nds/openldap )
+ memcached? ( dev-libs/libmemcache net-misc/memcached )
+ mi_xmlrpc? ( dev-libs/libxml2 dev-libs/xmlrpc-c )
+ peering? ( net-dialup/radiusclient-ng )
+ perl? ( dev-lang/perl dev-perl/perl-ldap )
+ presence? ( dev-libs/libxml2 )
+ presence_conference? ( dev-libs/libxml2 )
+ presence_xml? ( dev-libs/libxml2 )
+ pua? ( dev-libs/libxml2 )
+ pua_bla? ( dev-libs/libxml2 )
+ pua_dialoginfo? ( dev-libs/libxml2 )
+ pua_usrloc? ( dev-libs/libxml2 )
+ pua_xmpp? ( dev-libs/libxml2 )
+ purple? ( net-im/pidgin )
+ regex? ( dev-libs/libpcre )
+ rls? ( dev-libs/libxml2 )
+ snmpstats? ( net-analyzer/net-snmp sys-apps/lm_sensors )
+ tls? (
+ sys-libs/zlib
+ >=dev-libs/openssl-1.0.0a-r1
+ )
+ utils? ( net-misc/curl )
+ xcap_client? ( dev-libs/libxml2 net-misc/curl )
+ xcap_server? ( dev-libs/libxml2 )
+ xmlops? ( dev-libs/libxml2 )
+ xmpp? ( dev-libs/expat )
+"
+DEPEND="${RDEPEND}
+ >=sys-devel/bison-1.35
+ >=sys-devel/flex-2.5.4a
+ app-text/docbook2X"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ use ipv6 || \
+ sed -i -e "s/-DUSE_IPV6//g" Makefile.defs || die
+}
+
+src_compile() {
+ # iptrtpproxy broken as the needed netfilter module is not supported
+ local mod_exc="iptrtpproxy"
+ local group_inc=""
+ local k=""
+ if use flavour_kamailio; then
+ k="k"
+ use group_kxml && group_inc="${group_inc} kxml"
+ use group_kperl && group_inc="${group_inc} kperl"
+ use group_kldap && group_inc="${group_inc} kldap"
+ fi
+ # you can USE flavour=kamailio but also group_standard. It will be converted to group_kstandard
+ # same as mysql/kmysql, postgres/kpostgres, radius/kradius, presence/kpresence
+ (use group_standard || use group_kstandard) && group_inc="${group_inc} ${k}standard"
+ use group_standard_dep && group_inc="${group_inc} standard_dep"
+ (use group_mysql || use group_kmysql) && group_inc="${group_inc} ${k}mysql"
+ (use group_radius || use group_kradius) && group_inc="${group_inc} ${k}radius"
+ (use group_postgres || use group_kpostgres) && group_inc="${group_inc} ${k}postgres"
+ (use group_presence || use group_kpresence) && group_inc="${group_inc} ${k}presence"
+ use group_stable && group_inc="${group_inc} stable"
+ use group_experimental && group_inc="${group_inc} experimental"
+ # TODO: skip_modules?
+
+ local mod_inc=""
+ # some IUSE flags must not be included here in mod_inc
+ # e.g.: flavour_kamailio, flavour_ser, debug, sctp, ipv6
+ for i in ${IUSE[@]}; do
+ for j in ${i[@]}; do
+ [[ ! "${i}" =~ "flavour_" ]] && \
+ [ ! "${i}" == "debug" ] && \
+ [ ! "${i}" == "ipv6" ] && \
+ [ ! "${i}" == "sctp" ] && \
+ [[ ! "${i}" =~ "group_" ]] && \
+ use "${i}" && mod_inc="${mod_inc} ${i}"
+ done
+ done
+
+ if use tls; then
+ tls_hooks=1
+ else
+ tls_hooks=0
+ fi
+
+ if use debug; then
+ mode=debug
+ else
+ mode=release
+ fi
+
+ if use flavour_kamailio; then
+ flavour=kamailio
+ else
+ flavour=ser # defaults to SER compatibility names
+ fi
+
+ if use sctp; then
+ sctp=1
+ else
+ sctp=0
+ fi
+
+ emake \
+ CC="$(tc-getCC)" \
+ CPU_TYPE="$(get-flag march)" \
+ SCTP="${sctp}" \
+ CC_EXTRA_OPTS=-I/usr/gnu/include \
+ mode="${mode}" \
+ TLS_HOOKS="${tls_hooks}" \
+ FLAVOUR="${flavour}" \
+ group_include="${group_inc}" \
+ include_modules="${mod_inc}" \
+ exclude_modules="${mod_exc}" \
+ prefix="/" \
+ all || die "emake all failed"
+}
+
+src_install() {
+ emake -j1 \
+ BASEDIR="${D}" \
+ FLAVOUR="${flavour}" \
+ prefix="/" \
+ bin_dir=/usr/sbin/ \
+ cfg_dir=/etc/${flavour}/ \
+ lib_dir=/usr/$(get_libdir)/${flavour}/ \
+ modules_dir="/usr/$(get_libdir)/${flavour}/" \
+ man_dir="/usr/share/man/" \
+ doc_dir="/usr/share/doc/${flavour}/" \
+ install || die "emake install failed"
+
+ sed -e "s/sip-router/${flavour}/g" \
+ ${FILESDIR}/ser.initd > ${flavour}.initd || die
+ sed -e "s/sip-router/${flavour}/g" \
+ ${FILESDIR}/ser.confd > ${flavour}.confd || die
+
+ newinitd "${flavour}".initd "${flavour}"
+ newconfd "${flavour}".confd "${flavour}"
+}
+
+pkg_preinst() {
+ if [[ -z "$(egetent passwd ${flavour})" ]]; then
+ einfo "Adding ${flavour} user and group"
+ enewgroup "${flavour}"
+ enewuser "${flavour}" -1 -1 /dev/null "${flavour}"
+ fi
+
+ chown -R root:"${flavour}" "${D}/etc/${flavour}"
+ chmod -R u=rwX,g=rX,o= "${D}/etc/${flavour}"
+
+ has_version <="${CATEGORY}/ser-0.9.8"
+ previous_installed_version=$?
+ if [[ $previous_installed_version = 1 ]] ; then
+ elog "You have a previous version of SER on ${ROOT}etc/ser"
+ elog "Consider or verify to remove it (emerge -C ser)."
+ elog
+ elog "Sip-Router may not could be installed/merged. See your elog."
+ fi
+}
+
+pkg_postinst() {
+ if [ use mediaproxy ]; then
+ einfo "You have enabled mediaproxy support. In order to use it, you have
+ to run it somewhere."
+ fi
+ if [ use rtpproxy ]; then
+ einfo "You have enabled rtpproxy support. In order to use it, you have
+ to run it somewhere."
+ fi
+}
+
+pkg_prerm () {
+ /etc/init.d/"${flavour}" stop >/dev/null
+}