# Maintainer: David Runge <dvzrv@archlinux.org>
# Maintainer: Christian Heusel <gromit@archlinux.org>

_name=orjson
pkgname=python-orjson
pkgver=3.11.4
pkgrel=1
pkgdesc="Fast, correct Python JSON library supporting dataclasses and datetimes"
arch=(x86_64 aarch64)
url="https://github.com/ijl/orjson"
license=('Apache-2.0 OR MIT')
depends=(
  gcc-libs
  glibc
  python
)
makedepends=(
  maturin
  python-installer
  rust
)
checkdepends=(
  python-arrow
  python-pendulum
  python-psutil
  python-pytest
  python-pytz
  python-xxhash
)
source=($url/archive/$pkgver/$_name-$pkgver.tar.gz)
sha512sums=('83bfd583e3e18ae30abc3f61f6fbd1eb6458e35d7f0b57ce24606e688ddbcea5cb3bca18f28c1979ea5aede9ebf95b4c68f0fda700e4181441bffb966a58f8b9')
b2sums=('ab035997c68442dbcf8b14951db1f6b21cce916e7e9fb15eff0f5ef5c976ea0e5f59c0074e7df22fdee81b5ed28e53940bfd69e2e2064d2f53e5b9ca3d235a83')

build() {
  # Full LTO removes symbols from the resulting library.
  # https://github.com/ijl/orjson/issues/613
  CFLAGS+=" -ffat-lto-objects"

  cd $_name-$pkgver
  maturin build --release --strip
}

check() {
  local _site_packages=$(python -c "import site; print(site.getsitepackages()[0])")

  cd $_name-$pkgver
  python -m installer --destdir=test_dir target/wheels/*.whl
  export PYTHONPATH="test_dir/$_site_packages:$PYTHONPATH"
  pytest -vv
}

package() {
  cd $_name-$pkgver
  python -m installer --destdir="$pkgdir" target/wheels/*.whl
  install -vDm 644 {CHANGELOG,README}.md -t "$pkgdir/usr/share/doc/$pkgname/"
  install -vDm 644 LICENSE-* -t "$pkgdir/usr/share/licenses/$pkgname/"
}
