# Maintainer: Jelle van der Waa <jelle@archlinux.org>
# Maintainer: Carl Smedstad <carsme@archlinux.org>
# Contributor: Sébastien Luttringer

pkgname=python-psutil
pkgver=7.1.3
pkgrel=1
arch=('x86_64' 'aarch64')
pkgdesc='A cross-platform process and system utilities module for Python'
url='https://github.com/giampaolo/psutil'
license=('BSD-3-Clause')
depends=(
  'glibc'
  'python'
)
makedepends=(
  'python-build'
  'python-installer'
  'python-setuptools'
  'python-wheel'
)
checkdepends=(
  'net-tools'
  'procps-ng'
  'python-pytest'
)
source=("$url/archive/release-$pkgver/$pkgname-$pkgver.tar.gz")
sha512sums=('5116dc812f701fd2d0eb7232f8c050d4c880d2a98e204c7bca33656241c48eb62e11a5604da62a122058d9cbdb8c46e6f2a59835630ddb7449c3594e011b5026')

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

check() {
  cd psutil-release-$pkgver
  python -m venv --system-site-packages test-env
  test-env/bin/python -m installer dist/*.whl
  # Deselected test fail in a chroot, not sure why.
  # GITHUB_ACTIONS env var skips some tests unsuitable here.
  local site_packages=$(test-env/bin/python -c "import site; print(site.getsitepackages()[0])")
  local relative_site_packages=$(realpath --relative-to="$PWD" "$site_packages")
  cp -r psutil/tests/ "$relative_site_packages/psutil"
  GITHUB_ACTIONS=1 test-env/bin/python -m pytest --override-ini="addopts=" "$relative_site_packages" \
    --deselect "$relative_site_packages/psutil/tests/test_linux.py::TestSystemNetIfAddrs::test_ips" \
    --deselect "$relative_site_packages/psutil/tests/test_system.py::TestNetAPIs::test_net_if_addrs" \
    --deselect "$relative_site_packages/psutil/tests/test_system.py::TestSensorsAPIs::test_sensors_temperatures"

}

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