# Maintainer: David Runge <dvzrv@archlinux.org>
# Contributor: Moritz Lipp <mlq@pwmt.org>
# Contributor: fordprefect <fordprefect@dukun.de>
# Contributor: Thor77 <thor77@thor77.org>

pkgname=radicale
_name=Radicale
pkgver=3.0.6
pkgrel=4
pkgdesc='Simple calendar (CalDAV) and contact (CardDAV) server'
arch=('any')
url="https://radicale.org/"
license=('GPL3')
# setuptools is required due to use of pkg_resources:
# https://github.com/Kozea/Radicale/issues/1184
depends=('python-bcrypt' 'python-dateutil' 'python-defusedxml' 'python-passlib'
'python-setuptools' 'python-vobject')
checkdepends=('python-pytest' 'python-pytest-runner' 'python-waitress')
backup=('etc/radicale/config'
        'etc/radicale/rights'
        'etc/radicale/users')
install="${pkgname}.install"
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Kozea/${pkgname}/archive/${pkgver}.tar.gz"
        "${pkgname}-sysusers.conf"
        "${pkgname}-tmpfiles.conf"
        "${pkgname}.service")
sha512sums=('e9741547395fae8886ad84b6807422ebb196f5293d484f5f6136498058576cff697e28c117216f151d56494af83593347ceee40a6efa21272b803d0f301a396d'
            '56dffb66e018cfbf158dc5d8fe638b3cb31229945f659aae5623f219bcd1d68ddc375f1633fa8e857a9b2f50c9e05a06efce165370137d6e116a4f187466637f'
            '9d0dd88e4a34e9f97abda1785698e4b2a5e8202063deeb91b84e13c05e00b07e45b8d4d9eca09b9241b1138bbbfdc999dba0135c18f5bc0c08d65b0cd83b367b'
            '0f74a662e2eee56a89f5735e686910043ad5589b638e56a7ad3caa6d3b111cfbf1c131fe1b2ee34ce0d10d2f8a041a183f1382b1e1c9594f7e793c92161ef17a')
b2sums=('fa4b70c9920d518df6c939395eca857c237a75218b90ada45564f2d84266d65df12898e4efbb52905829948061e10e72b5442943fd5061a28447330ae8d491e8'
        'b3af60e144ef857e42ec672e806e9600265ab7d2ea4a75011de9ab56918a008437afdacb301df210b54424fb7ff1e9a332831c67b2e58fd6bc0a0aa1eebe8909'
        '41916d62f5e3f1060bd21db0722abe837754a4cb915af218c904dafac4b06794f8fde2e34486fb7392777b4738502f3df4c1390b835050045337585b064e23bb'
        '8d7e732bb7430428db2b60ffd8b4b1c3e85cbda4a1b900ae28d80c46a64e97ab484d9cc13aaa2582eeca4063f4e74141754f1e67769d444b08b3663f62cf8bf1')

prepare() {
  mv -v ${_name}-${pkgver} ${pkgname}-${pkgver}
  cd ${pkgname}-${pkgver}
  # removing flake8, isort and coverage
  sed -e '/addopts/d' -i setup.cfg
  touch "users"
}

build() {
  cd "${pkgname}-${pkgver}"
  python setup.py build
}

check() {
  local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
  cd "${pkgname}-${pkgver}"
  mkdir -vp testdir
  python setup.py install --optimize=1 --root="testdir"
  export PYTHONPATH="testdir/usr/lib/python${python_version}/site-packages:${PYTHONPATH}"
  pytest -v
}

package() {
  cd "${pkgname}-${pkgver}"
  python setup.py install --optimize=1 --root="${pkgdir}"
  # config
  install -vDm 644 {config,rights,users} -t "${pkgdir}/etc/${pkgname}/"
  # wsgi
  install -vDm 644 "${pkgname}.wsgi" \
    -t "${pkgdir}/usr/share/${pkgname}/"
  # systemd service
  install -vDm 644 "${srcdir}/${pkgname}.service" \
    "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
  # sysusers.d
  install -vDm 644 "${srcdir}/${pkgname}-sysusers.conf" \
    "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
  # tmpfiles.d
  install -vDm 644 "${srcdir}/${pkgname}-tmpfiles.conf" \
    "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
  # docs
  install -vDm 644 {NEWS,README}.md -t "${pkgdir}/usr/share/doc/${pkgname}/"
}
