# Maintainer:
# Contributor: Felix Yan <felixonmars@archlinux.org>

pkgname=python-manuel
_name="${pkgname#python-}"
pkgver=1.12.4
pkgrel=8
pkgdesc="Manuel lets you build tested documentation"
arch=(any)
license=(Apache-2.0)
url="https://github.com/benji-york/manuel"
depends=(
  python
)
makedepends=(
  python-build
  python-installer
  python-setuptools
  python-wheel
)
checkdepends=(python-zope-testing)
source=(
  $pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz
  $pkgname-1.12.4-remove_six.patch::https://github.com/benji-york/manuel/commit/e24907c7e6a5dd9485f02772392c0bdac26e14b7.patch
  $pkgname-1.12.4-python3.11.patch::https://github.com/benji-york/manuel/commit/10ff3c00a3d811fc6cb9d048025d713540b92de8.patch
)
sha512sums=('e39c93a6be92b2a5c09c461e2341690f670919b9bcb7665771cba0a0a4f6d695e4ad1ae53641f73f8e54b5ad8b4485831b480874936dc2ad17cbc88abfe2935c'
            '20e63cece08fd055177060e6b7023b0a2b12d904f8c714066a61d343245efcda52e94e4359cda78b08b5d8cdcb22ba49af6b99c52a82a9e452919ce6f98ec59c'
            'fcad7cdfda15803ed7a4488ec717a3070bde5680b3e12d0fea6805e6fb7b52f44e1a485c07b28a1729fc916f595f910b1752867c5abf577b7ea0cbc95f98ead4')
b2sums=('13cfa1144f9c45ce0a13ee20c516ff78fdb47cbb7edad8cce10555ad14ebe05f6ade765c9c24318b8ebbb923c483f6a52ff64f3a26d7e0c67e14f2dffbbff408'
        '488e60433319c9a5240949478a1f3bb545666f5a95bce86bbdae2a784c23c204ac0559f7e13382a9932001a01c4652afbf2ad3536f3bd7781ee47d0f0eec0df7'
        'd123943aede6ac671300e7f88620ca155c27d349d32c0d429e04391c834b35097184fa57a651939635d0b1508d2463816060ed82f36ddcd7a8be37f25d9b83bf')

prepare() {
  # remove use of python-six: https://github.com/benji-york/manuel/issues/33
  patch -Np1 -d $_name-$pkgver -i ../$pkgname-1.12.4-remove_six.patch

  # fix tests for Python 3.11
  patch -Np1 -d $_name-$pkgver -i ../$pkgname-1.12.4-python3.11.patch

  # setuptools not needed: https://github.com/benji-york/manuel/issues/36
  sed -e "/'setuptools',/d" -i $_name-$pkgver/setup.py
}

build() {
  cd $_name-$pkgver
  python -m build --wheel --no-isolation
}

check() {
  cd $_name-$pkgver
  PYTHONPATH="$PWD/src" python -m unittest -vv $_name.tests.test_suite
}

package() {
  local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
  cd $_name-$pkgver
  python -m installer --destdir="$pkgdir" dist/*.whl

  rm -frv "$pkgdir/$site_packages/$_name/"tests.py
}
