# Template file for 'python-cffi'
pkgname=python-cffi
version=1.15.1
revision=2
build_style=python-module
hostmakedepends="python-setuptools python3-setuptools libffi-devel"
makedepends="python-devel python3-devel libffi-devel"
depends="python-pycparser"
checkdepends="python3-pytest python3-pycparser"
short_desc="C foreign function interface for Python2"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="MIT"
homepage="https://cffi.readthedocs.io/"
changelog="https://cffi.readthedocs.io/en/latest/whatsnew.html"
distfiles="${PYPI_SITE}/c/cffi/cffi-${version}.tar.gz"
checksum=d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9

do_check() {
	# glibc libm.so is a GNU ld script that isn't properly handled
	# on dlopen; libm symbols required in these tests are missing
	local excludes='not sin'
	excludes+=' and not test_dlopen'
	excludes+=' and not test_function_typedef'
	excludes+=' and not test_wraps_from_stdlib'
	excludes+=' and not test_stdcall_only_on_windows'

	PYTHONPATH="$(cd build-${py3_ver}/lib* && pwd)" \
		python3 -m pytest c/ testing/ -x -k "$excludes"
}

post_install() {
	vlicense LICENSE
}

python3-cffi_package() {
	depends="python3-pycparser"
	short_desc="${short_desc/Python2/Python3}"
	pkg_install() {
		vmove usr/lib/python3*
		vlicense LICENSE
	}
}
