# Maintainer: Morten Linderud <foxboron@archlinux.org>
# Maintainer: Filipe Laíns (FFY00) <lains@archlinux.org>
# Maintainer: Carl Smedstad <carsme@archlinux.org>
# Contributor: icasdri <icasdri at gmail dot com>
# Contributor: hexchain <i@hexchain.org>

pkgname=mypy
pkgver=1.18.2
pkgrel=1
pkgdesc='Optional static typing for Python (PEP484)'
arch=('any')
url="http://www.mypy-lang.org/"
license=('MIT')
depends=(
  'python'
  'python-mypy_extensions'
  'python-orjson'
  'python-pathspec'
  'python-typing_extensions'
)
makedepends=(
  'python-build'
  'python-installer'
  'python-setuptools'
  'python-wheel'
)
checkdepends=(
  'python-attrs'
  'python-filelock'
  'python-psutil'
  'python-pytest'
  'python-pytest-xdist'
)
optdepends=(
  'python-lxml: for reports'
  'python-pip: for installing missing types'
  'python-psutil: for dmypy'
  'python-setuptools: for mypyc'
)
source=(
  "$pkgname-$pkgver.tar.gz::https://github.com/python/mypy/archive/v$pkgver.tar.gz"
  "$pkgname-exclude-tests.patch"
)
sha256sums=('4f0b58727dc296b92cfa3c404d31d52597de8bab0530c697f01f0d4397d6120c'
            '4f270a2ab4e20366ae2ebc912c2589edd070f488a224d2a6b3209c731c3a28f9')

prepare() {
  cd "$pkgname-$pkgver"
  # -Werror, not even once
  sed -e '/Werror/d' -i mypyc/build.py
  patch -Np1 < ../$pkgname-exclude-tests.patch
}

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

check() {
  cd "$pkgname-$pkgver"
  # CFLAGS being set interferes with the following tests somehow, regardless
  # what it's set to:
  #   mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps
  #   mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
  #   mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps
  #   mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues
  #   mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined
  unset CFLAGS
  pytest -vv
}

package() {
  cd "$pkgname-$pkgver"
  python -m installer --destdir="$pkgdir" dist/*.whl
  install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE
}
