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

_name=stack_data
pkgname=python-stack-data
pkgver=0.6.3
pkgrel=5
pkgdesc='Extract data from python stack frames and tracebacks for informative displays'
arch=('any')
url=https://github.com/alexmojaki/stack_data
license=('MIT')
depends=('python-asttokens' 'python-executing' 'python-pure-eval')
makedepends=(
  'git'
  'python-build'
  'python-installer'
  'python-setuptools-scm'
  'python-wheel'
)
checkdepends=(
  'cython'
  'python-littleutils'
  'python-pygments'
  'python-pytest'
  'python-typeguard'
)
source=("git+$url.git#tag=v$pkgver"
         https://gitlab.alpinelinux.org/alpine/aports/-/raw/3.23-stable/community/py3-stack_data/fix-pygments1.patch
         https://gitlab.alpinelinux.org/alpine/aports/-/raw/3.23-stable/community/py3-stack_data/fix-pygments2.patch
         https://gitlab.alpinelinux.org/alpine/aports/-/raw/3.23-stable/community/py3-stack_data/fix-pygments3.patch)
b2sums=('e5bbc954348a78aeea4faeb5c5da8d4c2c14ae3c4079862ab2485275a1ffcc29f05fef1883336c1a05d3b46ec7a9c0742f0d387cb9b51dca8b931877f8ba7995'
        '2f375202d37c23f4606dbc9af98ee689334e8efaad3a764a86bfc26ba3ec06ff441eecbbaa46767c23678afc2e7f83ab9126eed2237181e6a5c7656ef87c2839'
        'bba9e889e15c2b67e12f0346cc4a6a3177630a274d297975ad69dc5a1cf1970edaa0c6c4d363f272d32fc7a43bcacde4a918ce8943367741896f6530ef96cc7a'
        'b2eb1bbd8be5342d1657e9160942a8eae65a263992208bb27c65c5c6e90cb1cc4f4de0171a34e48f2c114e322df8a61fc4c18df5b8d2ccc48fa2a26dc19bffb9')

prepare() {
  cd $_name
# Fix tests with pygments 2.19 (Alpine patches)
  patch -p1 -i ../fix-pygments1.patch
  patch -p1 -i ../fix-pygments2.patch
  patch -p1 -i ../fix-pygments3.patch
}

build() {
  cd $_name
  python -m build --wheel --skip-dependency-check --no-isolation
}

check() {
  cd $_name
  PYTHONPATH="$PWD/$_name:$PYTHONPATH" pytest
}

package() {
  cd $_name
  python -m installer --destdir="$pkgdir" dist/*.whl

  # 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"/$_name-$pkgver.dist-info/LICENSE.txt \
    "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
}
