maintainer="Wiktor Kwapisiewicz <wiktor@metacode.biz>"
pkgname=py3-pysequoia
pkgver=0.1.28
pkgrel=0
pkgdesc="Python bindings for the Sequoia PGP library"
url="https://github.com/wiktor-k/pysequoia"
arch="all !ppc64le"
license="Apache-2.0"
makedepends="
	cargo
	py3-gpep517
	py3-maturin
	py3-wheel
	"
checkdepends="
	py3-pytest
	"
subpackages="$pkgname-pyc"
source="
	$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz
	"
builddir="$srcdir/pysequoia-$pkgver"
options="net" # cargo

prepare() {
	default_prepare

	cargo fetch --locked
}

build() {
	# Increase stack size to avoid cargo build failure
	# see: https://github.com/RustCrypto/elliptic-curves/issues/1097#issuecomment-2435508686
	export RUST_MIN_STACK="4194304"

	gpep517 build-wheel \
		--wheel-dir .dist \
		--config-json '{"build-args": "--frozen"}' \
		--output-fd 3 3>&1 >&2
}

check() {
	# RustCrypto crates are extremely slow unoptimized so run the tests in release mode
	cargo test --release
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/*.whl
}

sha512sums="
bd4f8920118c68da923ff19100f0c1eb3693d433d2f68edd49a9a8f99a2be0584d4a8c0c8a442f2d0b1de14a528033414eedf040d44d4fcf9f2b344f82c1edd3  py3-pysequoia-0.1.28.tar.gz
"
