Commit 16304eb8 authored by Nathan Angelacos's avatar Nathan Angelacos Committed by Natanael Copa

main/kamailio/APKBUILD

libunistring-dev added to makedepends
Websockets module added
Cleanup of APKBUILD after inlining kamailio's Makefile.groups
parent d572e0e5
......@@ -2,7 +2,7 @@
# Maintainer: Nathan Angelacos <nangel@alpinelinux.org>
pkgname=kamailio
pkgver=4.0.1
pkgrel=2
pkgrel=3
pkgdesc="Open Source SIP Server"
url="http://www.kamailio.org/"
pkgusers="kamailio"
......@@ -13,23 +13,21 @@ depends=
arch=all
makedepends="bison flex expat-dev postgresql-dev pcre-dev mysql-dev
libxml2-dev curl-dev unixodbc-dev confuse-dev ncurses-dev sqlite-dev
lua-dev openldap-dev openssl-dev net-snmp-dev"
lua-dev openldap-dev openssl-dev net-snmp-dev libunistring-dev"
install="$pkgname.pre-install $pkgname.pre-upgrade"
# Source the kamailio.groups file for the definition of all the various modules
# BEGIN Makefile.groups #############################################################
# This is taken from sip-router/Makefile.groups
# See sip-router/Makfile.groups for the list of recommended modules for
# each package. What follows is a simplified version of Makefile.groups
#
# Alpine specific changes:
# module_groug_kdbg (at the end of this file) is not defined in the orginale
#
# _mod_list_dbg is not defined in the orginal
#
# Move avp from _mod_list_extra to _mod_list_basic, so that we can create
# a kamailio-extra package
#
# Remove db_text from _mod_list_db because we create a separate dbtext package
#
# - basic used modules, with no extra dependency (widespread usage)
_mod_list_basic="avp async auth benchmark blst cfg_rpc cfgutils corex counters \
ctl debugger diversion enum exec ipops kex mangler maxfwd \
......@@ -39,7 +37,7 @@ _mod_list_basic="avp async auth benchmark blst cfg_rpc cfgutils corex counters \
textopsx tm tmx topoh xlog"
# - extra used modules, with no extra dependency
_mod_list_extra="auth_diameter call_control dmq domainpolicy msrp pdb \
_mod_list_extras="auth_diameter call_control dmq domainpolicy msrp pdb \
qos sca seas sms sst timer tmrec uac_redirect xhttp \
xhttp_rpc xprint"
......@@ -83,7 +81,7 @@ _mod_list_cassandra="db_cassandra"
_mod_list_cpl="cpl-c"
# - modules depending on xml2 library
_mod_list_xmldeps="xhttp_pi xmlrpc xmlops"
_mod_list_xml="xhttp_pi xmlrpc xmlops"
# - modules depending on xml c rpc library
_mod_list_mi_xmlrpc="mi_xmlrpc"
......@@ -110,7 +108,7 @@ _mod_list_purple="purple"
_mod_list_memcached="memcached"
# - modules depending on openssl library
_mod_list_tlsdeps="auth_identity tls"
_mod_list_tls="auth_identity tls"
# - modules depending on openssl library
_mod_list_outbound="outbound"
......@@ -136,7 +134,7 @@ _mod_list_presence="presence presence_conference presence_dialoginfo \
_mod_list_lua="app_lua"
# - modules depending on perl library
_mod_list_perldeps="app_perl db_perlvdb"
_mod_list_perl="app_perl db_perlvdb"
# - modules depending on python library
_mod_list_python="app_python"
......@@ -173,155 +171,12 @@ _mod_list_java="app_java"
# - modules depending on iptables library
_mod_list_iptrtpproxy="iptrtpproxy"
### --- Groups defined for source code compilation ###
# groups are sets of modules selected by compile target interest (should be
# built by combining lists)
# Modules in this group are the default compiled modules due to
# no external compile or link dependencies
_module_group_default="$_mod_list_basic $_mod_list_extra \
$_mod_list_db $_mod_list_dbuid \
$_mod_list_devel"
# Modules in this group are the default compiled modules due to
# no internal/external compile or link dependencies
_module_group_standard="$_mod_list_basic $_mod_list_extra \
$_mod_list_devel"
# Modules in this group are considered a standard part due to
# widespread usage, but they have dependencies that must be satisfied for
# compilation (e.g., lcr, radius, presence, tls, ...).
_module_group_common="$_mod_list_db $_mod_list_dbuid \
$_mod_list_pcre $_mod_list_radius \
$_mod_list_xmldeps $_mod_list_presence \
$_mod_list_tlsdeps"
# For db use (db modules, excluding drivers)
_module_group_db=$_mod_list_db
# For mysql
_module_group_mysql_driver=db_mysql
_module_group_mysql="$_module_group_mysql_driver $_module_group_db"
# For postgress
_module_group_postgres_driver=db_postgres
_module_group_postgres="$_module_group_postgres_driver $_module_group_db"
# For radius
_module_group_radius=$_mod_list_radius
# For presence
# kamailio modules
_module_group_presence=$_mod_list_presence
# For cassandra
#_module_group_cassandra_driver=$(_mod_list_cassandra)
#_module_group_cassandra=$(_module_group_cassandra_driver) $(_module_group_db)
### --- Groups defined for pacKaging ###
# Alpine Specific
_mod_list_dbg="$_mod_list_devel benchmark debugger"
# Standard modules in main pkg
_module_group_kstandard="$_mod_list_basic $_mod_list_extra \
$_mod_list_db $_mod_list_dbuid \
$_mod_list_pcre"
# pkg mysql module
_module_group_kmysql=$_mod_list_mysql
# pkg postgress module
_module_group_kpostgres=$_mod_list_postgres
# pkg cpl module
_module_group_kcpl=$_mod_list_cpl
# pkg xml modules
_module_group_kxml=$_mod_list_xmldeps
# pkg mi_xmlrpc modules
_module_group_kmi_xmlrpc=$_mod_list_mi_xmlrpc
# pkg radius modules
_module_group_kradius=$_mod_list_radius
# pkg unixodbc module
_module_group_kunixodbc=$_mod_list_unixodbc
# pkg perl module
_module_group_kperl=$_mod_list_perldeps
# pkg snmpstats module
_module_group_ksnmpstats=$_mod_list_snmpstats
_module_group_kstandard="$_mod_list_basic $_mod_list_dbuid $_mod_list_pcre"
# pkg xmpp module
_module_group_kxmpp=$_mod_list_xmpp
# pkg carrierroute module
_module_group_kcarrierroute=$_mod_list_carrierroute
# pkg berkeley module
_module_group_kberkeley=$_mod_list_berkeley
# pkg ldap modules
_module_group_kldap=$_mod_list_ldap
# pkg utils module
_module_group_kutils=$_mod_list_utils
# pkg purple module
_module_group_kpurple=$_mod_list_purple
# pkg memcached module
_module_group_kmemcached=$_mod_list_memcached
# pkg tls module
_module_group_ktls=$_mod_list_tlsdeps
# pkg websocket module
_module_group_kwebsocket=$_mod_list_websocket
# pkg presence modules
_module_group_kpresence=$_mod_list_presence
# pkg lua module
_module_group_klua=$_mod_list_lua
# pkg python module
_module_group_kpython=$_mod_list_python
# pkg geoip module
_module_group_kgeoip=$_mod_list_geoip
# pkg sqlite module
_module_group_ksqlite=$_mod_list_sqlite
# K json modules
_module_group_kjson=$_mod_list_json
# pkg redis module
_module_group_kredis=$_mod_list_redis
# pkg mono module
_module_group_kmono=$_mod_list_mono
# pkg IMS modules
_module_group_kims=$_mod_list_ims
# pkg outbound module
_module_group_koutbound=$_mod_list_outbound
# pkg java module
_module_group_kjava=$_mod_list_java
# pkg stun module
_module_group_kstun=$_mod_list_stun
# pkg dnssec module
_module_group_kdnssec=$_mod_list_dnssec
# Alpine Specific
_module_group_kdbg="$_mod_list_devel benchmark debugger"
# END Makefile.groups #############################################################
subpackages="$pkgname-doc"
......@@ -329,10 +184,10 @@ _modules="$_module_group_kstandard"
for _i in db postgres sqlite dbtext mysql \
cpl xml unixodbc snmpstats xmpp carrierroute \
ldap utils tls presence lua ims outbound dbg \
extra; do
extras websocket; do
subpackages="$subpackages $pkgname-$_i"
eval "_modules=\"\$_modules \$_module_group_k$_i\""
eval "_modules=\"\$_modules \$_mod_list_$_i\""
done
source="http://www.kamailio.org/pub/kamailio/$pkgver/src/kamailio-${pkgver}_src.tar.gz
......@@ -344,8 +199,6 @@ source="http://www.kamailio.org/pub/kamailio/$pkgver/src/kamailio-${pkgver}_src.
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
cd "$_builddir"
for i in $source; do
......@@ -433,8 +286,9 @@ _db_driver() {
"$subpkgdir"/usr/lib/kamailio/kamctl/ || return 1
}
db() {
_generic_pkg "modules using a database backend" "$_module_group_db"
_generic_pkg "modules using a database backend" "$_mod_list_db"
}
postgres() {
......@@ -460,12 +314,12 @@ dbtext() {
cpl() {
_generic_pkg "CPL (Call Processing Language) interpreter" \
"$_module_group_kcpl"
"$_mod_list_cpl"
}
xml() {
_generic_pkg "XML related modules: $_module_group_kxml" \
"$_module_group_kxml" || return 1
_generic_pkg "XML related modules: $_mod_list_xml" \
"$_mod_list_xml" || return 1
mkdir -p "$subpkgdir"/usr/share/kamailio
mv "$pkgdir"/usr/share/kamailio/xhttp_pi \
"$subpkgdir"/usr/share/kamailio || return 1
......@@ -476,12 +330,12 @@ xml() {
unixodbc() {
_generic_pkg "Database drivers for unixodbc" \
"$_module_group_kunixodbc"
"$_mod_list_unixodbc"
}
snmpstats() {
_generic_pkg "SNMP statistics support" \
"$_module_group_ksnmpstats" || return 1
"$_mod_list_snmpstats" || return 1
mkdir -p "$subpkgdir"/usr/share/snmp
mv "$_builddir"/modules/snmpstats/mibs \
"$subpkgdir"/usr/share/snmp/ || return 1
......@@ -489,59 +343,63 @@ snmpstats() {
xmpp() {
_generic_pkg "XMPP (Jabber) gateway" \
"$_module_group_kxmpp"
"$_mod_list_xmpp"
}
carrierroute() {
_generic_pkg "carrier grade routing functions" \
"$_module_group_kcarrierroute"
"$_mod_list_carrierroute"
}
ldap() {
_generic_pkg "LDAP search functions" \
"$_module_group_kldap"
"$_mod_list_ldap"
}
utils() {
_generic_pkg "miscelaneous utility functions" \
"$_module_group_kutils"
"$_mod_list_utils"
}
tls() {
_generic_pkg "TLS support" \
"$_module_group_ktls"
"$_mod_list_tls"
}
presence() {
_generic_pkg "SIP Notify (Presence) support" \
"$_module_group_kpresence"
"$_mod_list_presence"
}
lua() {
_generic_pkg "Lua script support" \
"$_module_group_klua"
"$_mod_list_lua"
}
ims() {
_generic_pkg "IP Multimedia Subsystem (IMS) support" \
"$_module_group_kims"
"$_mod_list_ims"
}
outbound() {
_generic_pkg "RFC 5626 section 5 Outbound suppport" \
"$_module_group_koutbound"
"$_mod_list_outbound"
}
dbg() {
_generic_pkg "debugging modules" \
"$_module_group_kdbg"
"$_mod_list_dbg"
}
extra() {
extras() {
_generic_pkg "extra modules" \
"$_mod_list_extra"
}
websocket() {
_generic_pkg "websocket support" \
"$_mod_list_websocket"
}
md5sums="ab57fcb1eb1195fa45f5c0935810e42a kamailio-4.0.1_src.tar.gz
53cca39c47399eb2df20a1044d1e29eb fix-sql-module-loading-order.patch
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment