# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Carl Smedstad <carsme@archlinux.org>
# Contributor: Serge Victor <arch@random.re>
# Contributor: Kevin Azzam <aur@azz.am>

pkgname=python-flask-sqlalchemy
pkgver=3.1.1
pkgrel=5
pkgdesc='Adds SQLAlchemy support to your Flask application'
url='https://github.com/pallets-eco/flask-sqlalchemy'
arch=('any')
license=('BSD-3-Clause')
depends=(
  'python'
  'python-flask'
  'python-sqlalchemy'
)
makedepends=(
  'python-build'
  'python-flit-core'
  'python-installer'
  'python-pallets-sphinx-themes'
  'python-sphinx'
  'python-sphinx-issues'
)
checkdepends=(
  'python-blinker'
  'python-pytest'
)
source=("$url/archive/$pkgver/${pkgname#python-}-$pkgver.tar.gz")
sha512sums=('67d78b5109b0397f95308d74f6926aa418a4dd7f3a52f91a3e159396fbd71bd048e4403a65182113cc0c0f1e348e2fd8d765ca46de5cae10af204dcf1101563a')

prepare() {
  sed -r "s|(release =)|\\1 '${pkgver}'  #|" -i ${pkgname#python-}-${pkgver}/docs/conf.py
}

build() {
  cd ${pkgname#python-}-${pkgver}
  python -m build --wheel --no-isolation
  python -m venv --system-site-packages doc-env
  doc-env/bin/python -m installer dist/*.whl
  local site_packages=$(doc-env/bin/python -c "import site; print(site.getsitepackages()[0])")
  PYTHONPATH="$site_packages" make -j1 -C docs man text SPHINXBUILD=sphinx-build
}

check() {
  cd ${pkgname#python-}-${pkgver}
  # Disable broken tests.
  # https://github.com/sqlalchemy/sqlalchemy/issues/11973
  # https://github.com/sqlalchemy/sqlalchemy/commit/6ae7f2378971b16f024eb5ab851cc4533bc4e61a
  python -m venv --system-site-packages test-env
  test-env/bin/python -m installer dist/*.whl
  test-env/bin/python -m pytest \
    --deselect tests/test_model.py::test_abstractmodel \
    --deselect tests/test_model.py::test_mixinmodel \
    --deselect tests/test_model_bind.py::test_explicit_table \
    -W=ignore::pytest.PytestUnraisableExceptionWarning
}

package() {
  cd ${pkgname#python-}-${pkgver}
  python -m installer --destdir="$pkgdir" dist/*.whl
  install -vDm 644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE.rst
  install -vDm 644 -t "$pkgdir/usr/share/doc/$pkgname" CHANGES.rst README.rst
  cp -vr -t "$pkgdir/usr/share/doc/$pkgname" docs/_build/text
  install -vDm 644 docs/_build/man/flask-sqlalchemy.1 "$pkgdir/usr/share/man/man1/$pkgname.1"
}

# vim: ts=2 sw=2 et:
