# $Id: PKGBUILD 129990 2015-03-26 19:12:11Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
# Contributor: Alexander Rødseth <rodseth@gmail.com>

pkgname=ejabberd
pkgver=15.03
pkgrel=1
pkgdesc="Jabber server written in Erlang"
arch=('x86_64' 'i686')
url="http://www.ejabberd.im/"
license=("GPL")
depends=('expat' 'openssl' 'zlib' 'erlang-nox' 'pam' 'iproute2' 'erlang-unixodbc' 'libyaml')
makedepends=('git' 'rebar' 'hevea' 'texlive-bin' 'texlive-core' 'texlive-latexextra')
backup=('etc/ejabberd/ejabberd.yml'
	'etc/ejabberd/ejabberdctl.cfg'
	'etc/logrotate.d/ejabberd')
install=$pkgname.install
replaces=('ejabberd-mod_mysql' 'ejabberd-mod_mysql-svn'
	  'ejabberd-mod_pgsql' 'ejabberd-mod_pgsql-svn')
source=("$pkgname-$pkgver.tar.gz::https://github.com/processone/ejabberd/archive/$pkgver.tar.gz"
	"p1_cache_tab::git://github.com/processone/cache_tab"
	"p1_tls::git://github.com/processone/tls"
	"p1_stringprep::git://github.com/processone/stringprep"
	"p1_xml::git://github.com/processone/xml"
	"p1_yaml::git://github.com/processone/p1_yaml"
	"git://github.com/rds13/xmlrpc"
	"p1_pam::git://github.com/processone/epam"
	"p1_zlib::git://github.com/processone/zlib"
	"git://github.com/basho/lager"
	"p1_iconv::git://github.com/processone/eiconv"
	"git://github.com/DeadZen/goldrush.git"
	"p1_mysql::git://github.com/processone/mysql.git"
	"p1_pgsql::git://github.com/processone/pgsql.git"
	"p1_stun::git://github.com/processone/stun"
	"git://github.com/davisp/jiffy"
	"git://github.com/cmullaparthi/ibrowse"
	"git://github.com/esl/lhttpc"
	"git://github.com/eproxus/meck"
	"esip::git://github.com/processone/p1_sip"
	"git://github.com/basho/riak_pb"
	"riakc::git://github.com/basho/riak-erlang-client"
	"protobuffs::git://github.com/basho/erlang_protobuffs.git"
	"git://github.com/processone/p1_utils"
	"ehyperloglog::git://github.com/vaxelfel/eHyperLogLog.git"
	"rebar_elixir_plugin::git://github.com/yrashk/rebar_elixir_plugin"
	"elixir::git://github.com/elixir-lang/elixir"
	"$pkgname.logrotate"
	"ejabberd.service"
	"sysuser.conf")
md5sums=('e4996f1192c5bae9e04ccf43ab3cda14'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'SKIP'
         'f97c8a96160f30e0aecc9526c12e6606'
         'a437aff9d7d477fb036d527205617e18'
         '458fc41be4adb9554a53b8f9ae05fbee')

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

  mkdir -p "$srcdir/$pkgname-$pkgver/deps"
  for i in goldrush lager p1_cache_tab p1_iconv p1_pam \
           p1_stringprep p1_tls p1_xml p1_yaml p1_zlib xmlrpc \
           p1_mysql p1_pgsql p1_stun jiffy ibrowse lhttpc \
           meck esip riak_pb riakc p1_utils protobuffs \
           ehyperloglog rebar_elixir_plugin elixir; do
    rm -rf "$srcdir/$pkgname-$pkgver/deps/$i"
    mv $srcdir/$i "$srcdir/$pkgname-$pkgver/deps"
  done

  pushd deps/lhttpc/src/
  mv lhttpc.app.src lhttpc.app.src.bak
  cat lhttpc.app.src.bak | iconv -f utf8 -c >lhttpc.app.src
  popd
}

build() {
  cd "$srcdir/$pkgname-$pkgver"
  [ -x configure ] || ./autogen.sh
  ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
    --enable-all
  make
  make -C doc
}

package() {
  cd "$srcdir/$pkgname-$pkgver"
  make DESTDIR="$pkgdir" install
  install -Dm04750 deps/p1_pam/priv/bin/epam $pkgdir/usr/lib/ejabberd/priv/bin/epam
  install -d "$pkgdir/var/lib/$pkgname"
  install -D -m0644 "$srcdir/$pkgname.logrotate" "$pkgdir/etc/logrotate.d/$pkgname"
  chmod ug+r "$pkgdir/etc/$pkgname/"*
  mkdir -p $pkgdir/usr/bin
  mv $pkgdir/usr/sbin/ejabberdctl $pkgdir/usr/bin/ejabberdctl
  chmod a+rx "$pkgdir/usr/bin/ejabberdctl" "$pkgdir/usr/lib/ejabberd/priv/bin/captcha.sh"
  rm -rf "$pkgdir/var/lock" "$pkgdir/usr/sbin"
  install -Dm0644 $srcdir/ejabberd.service $pkgdir/usr/lib/systemd/system/ejabberd.service
  install -Dm644 $srcdir/sysuser.conf "$pkgdir"/usr/lib/sysusers.d/ejabberd.conf
  # workaround
  ln -s mod_configure.beam $pkgdir/usr/lib/ejabberd/ebin/configure.beam
  rm -f $pkgdir/usr/bin/{elixir,iex,mix}
}

# vim:set ts=2 sw=2 et:
