# Maintainer: Thore Bödecker <foxxx0@archlinux.org>
# Contributor: Tim Meusel <tim@bastelfreak.de>
pkgname="python-pecan"
_pkgname="${pkgname#python-}"
pkgdesc='A WSGI object-dispatching web framework, designed to be lean and fast with few dependencies.'
pkgver=1.7.0
pkgrel=1
arch=('any')
url='https://github.com/pecan/pecan'
license=('BSD')
depends=('python' 'python-webob' 'python-mako' 'python-webtest'
         'python-logutils')
makedepends=('python' 'python-setuptools' 'python-sphinx' 'python-webob'
             'python-mako' 'python-webtest' 'python-logutils'
             'python-build' 'python-installer' 'python-wheel')
checkdepends=('python-jinja' 'gunicorn'
              'python-sqlalchemy' 'python-genshi' 'uwsgi'
              'python-pytest' 'python-kajiki')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/${_pkgname}/${_pkgname}/archive/${pkgver}.tar.gz")
sha512sums=('bf405ac2bac3e1dc63e4102d8e6ac0901333f8455cfe0ee35794ee02638dd4e6926ac8e3fc0cf87fa53c49a4381da9664b16ddddb014d802a1e3d3dd3f4af8d4')

prepare(){
  cd "${srcdir}/${_pkgname}-${pkgver}"
  # fix manpage build
  sed -i '/^dist = /d' docs/source/conf.py
  sed -i "s/^version = release = .*\$/version = release = '${pkgver}'/" docs/source/conf.py

  # remove scripts keyword otherwise installer errors out trying to install /usr/bin/pecan again
  sed -i '/scripts=/d' setup.py
}

build() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  python -m build --wheel --skip-dependency-check --no-isolation

  cd docs
  PYTHONPATH="${PWD}/../" make man
}

check() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  py.test -vvv -s -ra --showlocals --noconftest pecan/tests/
}

package() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  python -m installer --destdir="${pkgdir}" dist/*.whl
  install -D -m644 docs/build/man/pecan.1 "${pkgdir}/usr/share/man/man1/${pkgname}.1"

  # Symlink license file
  local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
  install -d "${pkgdir}/usr/share/licenses/${pkgname}"
  ln -s "${site_packages}/${_pkgname}-${pkgver}.dist-info/LICENSE" \
    "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
