# $Id: PKGBUILD 134214 2015-05-27 07:57:46Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>

pkgname=opensips
pkgver=2.1.0
pkgrel=3
pkgdesc="An Open Source SIP Server able to act as a SIP proxy, registrar, location server, redirect server ..."
url="http://www.opensips.org"
depends=('gcc-libs' 'openssl' 'db' 'attr' 'libxml2')
makedepends=('postgresql-libs>=8.4.1' 'unixodbc' 'libldap>=2.4.18' 'libmariadbclient'
	     'lynx' 'libxslt' 'libmicrohttpd')
optdepends=('postgresql-libs'
	    'unixodbc'
	    'libldap'
	    'libmariadbclient'
	    'libsasl'
	    'python2'
	    'pcre')
backup=("etc/opensips/opensips.cfg"
	"etc/opensips/dictionary.radius"
	"etc/opensips/opensipsctlrc")
arch=('i686' 'x86_64')
license=('GPL')
install=opensips.install
options=('!emptydirs' 'zipman' '!makeflags' 'docs')
source=(http://opensips.org/pub/opensips/$pkgver/src/opensips-${pkgver}.tar.gz
	remove-inline.patch
	opensips.service)
md5sums=('68375c1b6cb546ad2c036b5a1c5b31b9'
         '3771f5720c54c7fe3326611f9b57013d'
         '35cdcb3692f6925236fd5fe7e9484c58')

prepare() {
  cd $srcdir/$pkgname-$pkgver/

  # python2 fix
  for file in $(find . -name '*.py' -print); do
    sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
    sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
  done

  sed -i 's|sbin|bin|g' Makefile
  sed -i 's|bin-dir = sbin/|bin-dir = bin/|' Makefile.defs

  patch -p1 <$srcdir/remove-inline.patch
}

_modules="ldap db_mysql db_postgres db_unixodbc presence presence_xml h350 proto_tls tlsops db_http httpd tm rr"

build() {
  cd $srcdir/$pkgname-$pkgver/

  make \
	include_modules="${_modules}" \
	LIBDIR=lib PREFIX=/usr
}

package() {
  cd $srcdir/$pkgname-$pkgver/

  make \
	include_modules="${_modules}" \
	BASEDIR=$pkgdir PREFIX=/usr LIBDIR=lib install

  # Conforms to the arch packaging standards (http://wiki.archlinux.org/index.php/Arch_Packaging_Standards)
  mkdir -p $pkgdir/etc/
  mv $pkgdir/usr/etc/opensips/ $pkgdir/etc/
  sed -i 's#mpath=".*lib/opensips/modules/"#mpath="/usr/lib/opensips/modules/"#' $pkgdir/etc/opensips/opensips.cfg

  # fix bad paths
  cd $pkgdir/usr/share
  find -type f -exec sed -i "s#$pkgdir##" {} \;

  cd $pkgdir/usr/lib/opensips/opensipsctl
  find -type f -exec sed -i "s#$pkgdir##" {} \;

  cd $pkgdir/usr/bin
  sed -i "s#$pkgdir##" opensipsctl opensipsdbctl osipsconsole

  cd $pkgdir/etc
  find -type f -exec sed -i "s#$pkgdir##" {} \;

  install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
}
