# Maintainer: Daurnimator  <daurnimator@archlinux.org>
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Old Maintainer: Dwayne Bent <dbb@dbb.io>
# Old Maintainer: Tilman Vatteroth <tilman.vatteroth@uni-dortmund.de>
# Contributor: Paul-Sebastian Manole <brokenthorn@gmail.com>
# Contributor: Timothée Ravier <tim@siosm.fr>
# Contributor: Christoph Stahl <christoph.stahl@uni-dortmund.de>

pkgname=prosody
epoch=1
pkgrel=1
pkgver=0.11.9
pkgdesc="Lightweight and extensible Jabber/XMPP server written in Lua"
arch=('x86_64')
url="https://prosody.im/"
license=('MIT')
depends=('lua52'
         'lua52-socket'
         'lua52-expat'
         'lua52-filesystem'
         'libidn'
         'openssl')
conflicts=('prosody')
provides=('prosody')
optdepends=('lua52-sec: TLS encryption support'
#	    'lua52-event: libevent support'
	    'lua52-dbi: SQL storage support')
install=prosody.install
backup=('etc/prosody/prosody.cfg.lua')
validpgpkeys=('32A9EDDE3609931EB98CEAC315907E8E7BDD6BFE'
	      '3E52119EF853C59678DBBF6BADED9A77B67AD329'
	      'C01A477A8F69E6E57F5C54CDE7AB958013F1F1D5')
source=("https://prosody.im/downloads/source/prosody-$pkgver.tar.gz"{,.asc}
        'prosody.tmpfile.d'
        'prosody.logrotated'
        'sysuser.conf'
        'prosody.service')
sha256sums=('ccc032aea49d858635fb93644db276de6812be83073a8d80e9b4508095deff09'
            'SKIP'
            '0753bd9260f1cfdce6e18e01a61e320b396acfe9fca8ccf3250653bfa6af997e'
            '5a2466b73bd069fb73be97a4e23b24e4c8dd1adb7db871cb8f5ab4094c1f967f'
            'e5c30ffbb066f0ed3444475b3313490c535d8c9df018726f6cecf9e3ddfd2e48'
            'ea34a3802e9a6b181cc1039eda48538fc9335c432223b225a8801d9d636f268c')

prepare() {
  cd prosody-$pkgver

  # disable logging to output and activate syslog
  sed -i s/"info = "/"-- info = "/g prosody.cfg.lua.dist
  sed -i s/"error = "/"-- error = "/g prosody.cfg.lua.dist
  sed -i s/"--\ \"\*syslog\"\;"/"\"*syslog\"\;"/g prosody.cfg.lua.dist

  # add pidfile and daemonize
  # daemonize is important for systemd!
  mv prosody.cfg.lua.dist prosody.cfg.lua.old

  echo --Important for systemd >> prosody.cfg.lua.dist
  echo -- daemonize is important for systemd. if you set this to false the systemd startup will freeze. >> prosody.cfg.lua.dist
  echo daemonize = true >> prosody.cfg.lua.dist
  echo 'pidfile = "/run/prosody/prosody.pid"'>> prosody.cfg.lua.dist
  echo "" >> prosody.cfg.lua.dist
  cat prosody.cfg.lua.old >> prosody.cfg.lua.dist
  rm prosody.cfg.lua.old

  #sed -i 's|sock, err = socket.udp();|sock, err = (socket.udp4 or socket.udp)();|g' net/dns.lua
}

build() {
  cd prosody-$pkgver
  ./configure \
    --ostype=linux \
    --prefix=/usr \
    --sysconfdir=/etc/prosody \
    --datadir=/var/lib/prosody \
    --with-lua-include=/usr/include/lua5.2 \
    --cflags="${CPPFLAGS} ${CFLAGS} -fPIC -D_GNU_SOURCE" \
    --ldflags="${LDFLAGS} -shared" \
    --no-example-certs \
    --runwith=lua5.2
  make
}

package() {
  cd prosody-$pkgver
  make DESTDIR="${pkgdir}" install
  make DESTDIR="${pkgdir}" install -C tools/migration

  install -Dm 0644 "$srcdir"/prosody.tmpfile.d "${pkgdir}"/usr/lib/tmpfiles.d/prosody.conf
  install -Dm 0644 "$srcdir"/prosody.service "${pkgdir}"/usr/lib/systemd/system/prosody.service
  install -Dm644 "$srcdir"/sysuser.conf "$pkgdir"/usr/lib/sysusers.d/prosody.conf

  for i in tools/*.lua; do
    install -Dm 0644 ${i} "${pkgdir}"/usr/share/prosody/${i}
  done

  install -Dm 0644 COPYING "${pkgdir}"/usr/share/licenses/prosody/COPYING
  install -Dm 0644 "$srcdir"/prosody.logrotated "${pkgdir}"/etc/logrotate.d/prosody
  rm "${pkgdir}"/etc/prosody/certs/*
}
