summaryrefslogtreecommitdiff
path: root/pcr
diff options
context:
space:
mode:
Diffstat (limited to 'pcr')
-rw-r--r--pcr/kamailio/PKGBUILD368
-rw-r--r--pcr/kamailio/kamailio.service18
2 files changed, 358 insertions, 28 deletions
diff --git a/pcr/kamailio/PKGBUILD b/pcr/kamailio/PKGBUILD
index b89ed1a3f..aeceecc36 100644
--- a/pcr/kamailio/PKGBUILD
+++ b/pcr/kamailio/PKGBUILD
@@ -1,38 +1,350 @@
-# Maintainer (Arch): Xavier Devlamynck <magicrhesus@ouranos.be>
+# Maintainer (AUR): Josef Miegl <josef@miegl.cz>
+# Contributor (AUR): Xavier Devlamynck <magicrhesus@ouranos.be>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
-pkgname=kamailio
-pkgver=4.3.4
-pkgrel=1
+pkgbase=kamailio
+pkgname=('kamailio' 'kamailio-autheph-modules' 'kamailio-berkeley-modules' 'kamailio-cnxcc-modules'
+ 'kamailio-cpl-modules' 'kamailio-dnssec-modules' 'kamailio-erlang-modules' 'kamailio-extra-modules'
+ 'kamailio-geoip-modules' 'kamailio-geoip2-modules' 'kamailio-ims-modules' 'kamailio-json-modules'
+ 'kamailio-kazoo-modules' 'kamailio-ldap-modules' 'kamailio-lua-modules' 'kamailio-memcached-modules'
+ 'kamailio-mongodb-modules' 'kamailio-mono-modules' 'kamailio-mysql-modules' 'kamailio-outbound-modules'
+ 'kamailio-perl-modules' 'kamailio-phonenum-modules' 'kamailio-postgres-modules'
+ 'kamailio-presence-modules' 'kamailio-python-modules' 'kamailio-python3-modules'
+ 'kamailio-rabbitmq-modules' 'kamailio-radius-modules' 'kamailio-redis-modules' 'kamailio-ruby-modules'
+ 'kamailio-sctp-modules' 'kamailio-snmpstats-modules' 'kamailio-sqlite-modules'
+ 'kamailio-systemd-modules' 'kamailio-tls-modules' 'kamailio-unixodbc-modules' 'kamailio-utils-modules'
+ 'kamailio-websocket-modules' 'kamailio-xml-modules' 'kamailio-xmpp-modules')
+pkgver=5.2.1
+pkgrel=2
pkgdesc="Rock solid SIP server"
url="http://www.kamailio.org/"
license=('GPL2')
-arch=('i686' 'x86_64')
-depends=()
-makedepends=('flex' 'bison' 'docbook2x' 'mariadb' 'postgresql' 'libxml2'
- 'radiusclient-ng' 'lua51' 'mono' 'hiredis' 'libpurple' 'net-snmp'
- 'libunistring' 'python2')
-optdepends=('mariadb: mysql support'
- 'expat: xmpp/jabber support'
- 'libxml2: cpl and presence modules support'
- 'postgresql: postgresql backend')
-arch=('x86_64' 'i686')
-source=(http://www.kamailio.org/pub/kamailio/$pkgver/src/kamailio-${pkgver}_src.tar.gz)
-sha256sums=('bba3e811bd137995e10f4d740ddd97dfb6b5ff4ecf340df055ea52b6f1b42488')
-provides=()
-conflicts=()
-replaces=()
-backup=('etc/kamailio/kamctlrc' 'etc/kamailio/kamailio.cfg' 'etc/kamailio/kamailio-basic.cfg' 'etc/kamailio/kamailio-advanced.cfg')
+arch=('i686' 'x86_64' 'armv7h')
+makedepends=('flex' 'bison' 'docbook2x' 'pcre' 'python2' 'python' 'openssl' 'db' 'libxml2' 'hiredis' 'libevent'
+ 'dnssec-tools' 'expat' 'libunistring' 'libev' 'jansson' 'geoip' 'libmaxminddb' 'curl' 'unixodbc'
+ 'json-c' 'librabbitmq-c' 'libldap' 'lua' 'libmemcached' 'mongo-c-driver' 'snappy' 'mono'
+ 'mariadb-clients' 'perl' 'erlang' 'libphonenumber' 'postgresql' 'sqlite' 'net-snmp' 'lksctp-tools'
+ 'ruby' 'freeradius-client')
+source=("http://www.kamailio.org/pub/${pkgbase}/${pkgver}/src/${pkgbase}-${pkgver}_src.tar.gz"
+ "${pkgname}.service")
+sha256sums=('95d2158f97c76124a381364d99de1420f193275c5a1c9f88489c6409702f2c8f'
+ '893d712dc2eb455865a795624ca388b4fb40a3faf838fcde16861dd710e7892c')
+
+prepare() {
+ cd "${pkgbase}-${pkgver}"
+ sed -i 's/bin_dir = sbin\//bin_dir = bin\//g' src/Makefile.defs
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make proper
- sed -i 's/bin_dir = sbin\//bin_dir = bin\//g' Makefile.defs
- make prefix=${pkgdir}/usr cfg_prefix=${pkgdir} LIBDIR=lib config
- make all
+ cd "${pkgbase}-${pkgver}"
+
+ make FLAVOUR=kamailio STUN=1 \
+ PREFIX=/usr \
+ CC_EXTRA_OPTS="$CFLAGS -D_GNU_SOURCE" \
+ LD_EXTRA_OPTS="$LDFLAGS" \
+ cfg_target=/etc/kamailio/ \
+ run_prefix="" \
+ group_include="kstandard" \
+ LIBDIR=lib \
+ DESTDIR="${pkgdir}" \
+ cfg_prefix="${pkgdir}" \
+ cfg
+
+ make -j1 EMBEDDED_UTF8_DECODE=1 STUN=1 FREERADIUS=1 all
+
+
+ modules="kradius kldap kmysql kpostgres kunixodbc kxml kperl kcpl kxmpp kberkeley kutils kmemcached \
+ ktls kwebsocket ksnmpstats kpresence klua kpython kpython3 kruby kgeoip ksqlite kjson \
+ kredis kmono kims koutbound kdnssec ksctp kautheph kgzcompress kuuid kev kkazoo kmongodb kcnxcc \
+ kjansson kgeoip2 kerlang ksystemd khttp_async krabbitmq kphonenum"
+
+ for module in ${modules}; do
+ make EMBEDDED_UTF8_DECODE=1 STUN=1 FREERADIUS=1 every-module group_include=${module}
+ done
+}
+
+package_kamailio() {
+ depends=('pcre' 'python')
+ backup=('etc/kamailio/kamctlrc' 'etc/kamailio/kamailio.cfg')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR="${pkgdir}" cfg_prefix="${pkgdir}" install group_include="kstandard"
+ install -Dm0644 "${srcdir}/${pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
+}
+
+package_kamailio-autheph-modules() {
+ pkgdesc="Ephemeral authentication module for Kamailio"
+ depends=('kamailio' 'openssl')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kautheph"
+}
+
+package_kamailio-berkeley-modules() {
+ pkgdesc="Berkeley database module for Kamailio"
+ depends=('kamailio' 'db')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kberkeley"
+}
+
+package_kamailio-cnxcc-modules() {
+ pkgdesc="cnxcc call charging control module for Kamailio"
+ depends=('kamailio' 'hiredis' 'libevent')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kcnxcc"
+}
+
+package_kamailio-cpl-modules() {
+ pkgdesc="CPL (Call Processing Language) interpreter for Kamailio"
+ depends=('kamailio' 'libxml2')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kcpl"
+}
+
+package_kamailio-dnssec-modules() {
+ pkgdesc="DNSSEC module for Kamailio"
+ depends=('kamailio' 'dnssec-tools')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kdnssec"
+}
+
+package_kamailio-erlang-modules() {
+ pkgdesc="Erlang node interaction module for Kamailio"
+ depends=('kamailio')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kerlang"
+}
+
+package_kamailio-extra-modules() {
+ pkgdesc="gzcompress, ev, uuid, jansson and http_async modules for Kamailio"
+ depends=('kamailio' 'libevent' 'libev' 'jansson' 'curl')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kgzcompress kev kuuid kjansson khttp_async"
+}
+
+package_kamailio-geoip-modules() {
+ pkgdesc="GeoIP module for Kamailio"
+ depends=('kamailio' 'geoip')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kgeoip"
+}
+
+package_kamailio-geoip2-modules() {
+ pkgdesc="GeoIP2 module for Kamailio"
+ depends=('kamailio' 'libmaxminddb')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kgeoip2"
+}
+
+package_kamailio-ims-modules() {
+ pkgdesc="Various Diameter interfaces and modules for Kamailio to run as an IMS core"
+ depends=('kamailio' 'libmnl' 'libxml2')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kims"
+}
+
+package_kamailio-json-modules() {
+ pkgdesc="JSON parser module for Kamailio"
+ depends=('kamailio' 'libevent' 'json-c')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kjson"
+}
+
+package_kamailio-kazoo-modules() {
+ pkgdesc="Kazoo application server integration module for Kamailio"
+ depends=('kamailio' 'libevent' 'json-c' 'librabbitmq-c')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kkazoo"
+}
+
+package_kamailio-ldap-modules() {
+ pkgdesc="Ldap and h350 modules for Kamailio"
+ depends=('kamailio' 'libldap')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kldap"
+}
+
+package_kamailio-lua-modules() {
+ pkgdesc="Lua extension module for Kamailio"
+ depends=('kamailio' 'lua')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="klua"
+}
+
+package_kamailio-memcached-modules() {
+ pkgdesc="memcached module for Kamailio"
+ depends=('kamailio' 'libmemcached')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kmemcached"
+}
+
+package_kamailio-mongodb-modules() {
+ pkgdesc="Mongodb database driver and non-db connector for Kamailio"
+ depends=('kamailio' 'mongo-c-driver' 'openssl' 'snappy')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kmongodb"
+}
+
+package_kamailio-mono-modules() {
+ pkgdesc="Mono extension module for Kamailio"
+ depends=('kamailio' 'mono')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kmono"
}
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make install
+package_kamailio-mysql-modules() {
+ pkgdesc="MySQL database driver for Kamailio"
+ depends=('kamailio' 'mariadb-clients')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kmysql"
}
+
+package_kamailio-outbound-modules() {
+ pkgdesc="SIP outbound extension module for Kamailio"
+ depends=('kamailio' 'openssl')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="koutbound"
+}
+
+package_kamailio-perl-modules() {
+ pkgdesc="Perl modules for Kamailio"
+ depends=('kamailio' 'perl')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kperl"
+}
+
+package_kamailio-phonenum-modules() {
+ pkgdesc="libphonenumber module for Kamailio"
+ depends=('kamailio' 'libphonenumber')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kphonenum"
+}
+
+package_kamailio-postgres-modules() {
+ pkgdesc="PostgreSQL database driver for Kamailio"
+ depends=('kamailio' 'postgresql')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kpostgres"
+}
+
+package_kamailio-presence-modules() {
+ pkgdesc="presence modules for Kamailio"
+ depends=('kamailio' 'libxml2' 'curl')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kpresence"
+}
+
+package_kamailio-python-modules() {
+ pkgdesc="Python2 extension module for Kamailio"
+ depends=('kamailio' 'python2')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kpython"
+}
+
+package_kamailio-python3-modules() {
+ pkgdesc="Python3 extension module for Kamailio"
+ depends=('kamailio' 'python')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kpython3"
+}
+
+package_kamailio-rabbitmq-modules() {
+ pkgdesc="RabbitMQ module for Kamailio"
+ depends=('kamailio' 'librabbitmq-c')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="krabbitmq"
+}
+
+package_kamailio-radius-modules() {
+ pkgdesc="RADIUS modules for Kamailio"
+ depends=('kamailio' 'freeradius-client')
+ backup=('etc/kamailio/dictionary.kamailio')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" FREERADIUS=1 install-modules-all group_include="kradius"
+}
+
+package_kamailio-redis-modules() {
+ pkgdesc="Redis NOSQL database driver for Kamailio"
+ depends=('kamailio' 'hiredis')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kredis"
+}
+
+package_kamailio-ruby-modules() {
+ pkgdesc="Ruby extension module for Kamailio"
+ depends=('kamailio' 'ruby')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kruby"
+}
+
+package_kamailio-sctp-modules() {
+ pkgdesc="SCTP SIP transport module for Kamailio"
+ depends=('kamailio' 'lksctp-tools')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="ksctp"
+}
+
+package_kamailio-snmpstats-modules() {
+ pkgdesc="snmpstats module for Kamailio"
+ depends=('kamailio' 'net-snmp')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="ksnmpstats"
+}
+
+package_kamailio-sqlite-modules() {
+ pkgdesc="SQLite database driver for Kamailio"
+ depends=('kamailio' 'sqlite')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="ksqlite"
+}
+
+package_kamailio-systemd-modules() {
+ pkgdesc="systemd modules for Kamailio"
+ depends=('kamailio')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="ksystemd"
+}
+
+package_kamailio-tls-modules() {
+ pkgdesc="TLS modules for Kamailio"
+ depends=('kamailio' 'openssl' 'curl')
+ backup=('etc/kamailio/tls.cfg')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="ktls"
+}
+
+package_kamailio-unixodbc-modules() {
+ pkgdesc="unixODBC database driver for Kamailio"
+ depends=('kamailio' 'unixodbc' 'libunistring')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kunixodbc"
+}
+
+package_kamailio-utils-modules() {
+ pkgdesc="Utility modules for Kamailio"
+ depends=('kamailio' 'libxml2' 'curl')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kutils"
+}
+
+package_kamailio-websocket-modules() {
+ pkgdesc="WebSocket modules for Kamailio"
+ depends=('kamailio' 'openssl' 'libunistring')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kwebsocket"
+}
+
+package_kamailio-xml-modules() {
+ pkgdesc="xml modules for Kamailio"
+ depends=('kamailio' 'libxml2')
+ backup=('etc/kamailio/pi_framework.xml')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kxml"
+}
+
+package_kamailio-xmpp-modules() {
+ pkgdesc="SIP to XMPP IM translator module for Kamailio"
+ depends=('kamailio' 'expat')
+ cd "${pkgbase}-${pkgver}"
+ make -j1 DESTDIR=${pkgdir} cfg_prefix="${pkgdir}" install-modules-all group_include="kxmpp"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/kamailio/kamailio.service b/pcr/kamailio/kamailio.service
new file mode 100644
index 000000000..e3449dde6
--- /dev/null
+++ b/pcr/kamailio/kamailio.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Kamailio - the Open Source SIP Server
+Documentation=man:kamailio(8) https://www.kamailio.org/
+Wants=network-online.target
+After=syslog.target network-online.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/kamailio
+PIDFile=/var/run/kamailio.pid
+ExecStart=/usr/bin/kamailio -P /var/run/kamailio.pid
+# /var/run/kamailio in tmpfs
+RuntimeDirectory=kamailio
+RuntimeDirectoryMode=0750
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target