# Maintainer: David Runge <dvzrv@archlinux.org>
# Maintainer: Daniel M. Capella <polyzen@archlinux.org>

pkgname=khard
pkgver=0.17.0
pkgrel=5
pkgdesc="Console CardDAV client"
arch=('any')
url="https://github.com/scheibler/khard"
license=('GPL3')
depends=('python-atomicwrites' 'python-configobj' 'python-ruamel-yaml'
         'python-unidecode' 'python-vobject')
makedepends=('python-sphinx-autoapi' 'python-sphinx-autodoc-typehints'
             'python-setuptools-scm' 'python-sphinx')
checkdepends=('python-pytest')
optdepends=('vdirsyncer: Synchronization of address books with a DAV server'
            'diffutils: Using sdiff_khard_wrapper.sh')
source=("https://files.pythonhosted.org/packages/source/${pkgname::1}/${pkgname}/${pkgname}-${pkgver}.tar.gz")
sha256sums=('164e1aee9264735ec0473a74a38842e6272bbb814d949a66084c6a373bd95618')
b2sums=('488e1df70212c856d8dfa43955e681344fb1a257d765c81820444f6435d39aec782da9d01edeeaac0b9a87412db680fde368c39c74faa82b0eff2d7a0a2dbc6b')

prepare() {
  cd "$pkgname-$pkgver"
  sed -i 's/import validate/import configobj.validate as validate/' khard/config.py
}

build() {
  cd "$pkgname-$pkgver"
  python setup.py build
  make -C doc man
}

check() {
  cd "$pkgname-$pkgver"
  pytest -v
}

package() {
  cd "$pkgname-$pkgver"
  export PYTHONHASHSEED=0
  python setup.py install --skip-build \
                          --optimize=1 \
                          --root="${pkgdir}"
  # additional wrapper script
  install -vDm 755 "misc/sdiff/sdiff_${pkgname}_wrapper.sh" \
    "${pkgdir}/usr/lib/${pkgname}/sdiff_${pkgname}_wrapper.sh"
  # twinkle integration
  install -vDm 644 misc/twinkle/scripts/*.py \
    -t "${pkgdir}/usr/share/${pkgname}/twinkle/scripts/"
  install -vDm 644 misc/twinkle/sounds/*.ogg \
    -t "${pkgdir}/usr/share/${pkgname}/twinkle/sounds/"
  # zsh
  install -vDm 644 "misc/zsh/_"*"${pkgname}" \
    -t "${pkgdir}/usr/share/zsh/site-functions/"
  # docs
  install -vDm 644 {CHANGES,CONTRIBUTING.rst,README.md} \
    -t "${pkgdir}/usr/share/doc/${pkgname}/"
  # man
  install -vDm 644 "doc/build/man/${pkgname}.1" \
    -t "${pkgdir}/usr/share/man/man1"
  install -vDm 644 "doc/build/man/${pkgname}.conf.5" \
    -t "${pkgdir}/usr/share/man/man5"
}
