# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>

pkgname=python-eventlet
_pyname=eventlet
pkgver=0.35.1
pkgrel=2
pkgdesc='Highly concurrent networking library'
url='https://eventlet.net'
arch=('any')
license=('MIT')
depends=('python' 'python-greenlet' 'python-dnspython')
makedepends=('python-build' 'python-installer' 'python-sphinx' 'python-sphinxcontrib-apidoc' 'python-hatchling' 'python-hatch-vcs')
checkdepends=('python-psycopg2' 'python-pyopenssl' 'python-httplib2' 'python-pyzmq' 'python-pytest')
optdepends=(
  'python-psycopg2: non-blocking PostgreSQL support'
  'python-pyopenssl: non-blocking SSL support'
  'python-httplib2: non-blocking HTTP support'
  'python-pyzmq: non-blocking ZeroMQ support'
  'python-dnspython: non-blocking DNS support'
)
options=('!makeflags')
source=(https://github.com/eventlet/eventlet/archive/v${pkgver}/${_pyname}-${pkgver}.tar.gz
        python310.patch)
sha512sums=('aacfb0e8baf44815a471421fb51aa91c45bf587e184ecc4ea9605fc88bea0ef5584e9a1508cc7aeb5fa34f19ed28964728adc37b21cd29c80176e5bafe6fbc18'
            '07739075628ff9d140064e04189332b479f184e4647753f987b0818fa55aaca907d4880afb5cf31f980426f315e1014027dcd848551149000a12145f982cd883')
b2sums=('f665ec4c23222072925fb76ee89afb47adcf3951ce57d19c975013e9694ea1ed7b4306468d2de893599e8961d6762306bd1ebc06922cfa8a196910a76f95f639'
        '783445f708c12586e026f7feac982a7b6c21f86468609c375568b51ad6055977df3d0bc740f3127b9f8bc95c1c50e81aae02ca0e0be674ed4627910d39b1ef47')

prepare() {
  cd ${_pyname}-${pkgver}
  # https://github.com/eventlet/eventlet/issues/730
  # https://github.com/eventlet/eventlet/issues/739
  patch -Np1 -i ../python310.patch
  sed -r 's|(check_idle_cpu_usage\(.*,) .*\)|\1 0.8\)|g' -i tests/*_test.py
}

build() {
  cd ${_pyname}-${pkgver}
  SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} \
  python -m build -wn
  PYTHONPATH="$PWD" sphinx-build -b text doc/source doc/build/html
}

check() {
  cd ${_pyname}-${pkgver}
  pytest -v
}

package() {
  cd ${_pyname}-${pkgver}
  python -m installer --destdir="${pkgdir}" dist/*.whl
  install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
  install -d "${pkgdir}/usr/share/doc/${pkgname}"
  cp -r doc/build/html "${pkgdir}/usr/share/doc/${pkgname}"
  cp -r examples "${pkgdir}/usr/share/doc/${pkgname}"
}

# vim: ts=2 sw=2 et:
