# Template file for 'python3-grpcio'
pkgname=python3-grpcio
version=1.35.0
revision=1
archs="x86_64* i686* aarch64* armv[67]* ppc64le*"
wrksrc="${pkgname#*-}-${version}"
build_style=python3-module
hostmakedepends="python3-setuptools python3-six"
makedepends="python3-devel zlib-devel c-ares-devel libressl-devel"
depends="python3-six"
short_desc="HTTP/2-based gRPC framework for Python"
maintainer="Andrew J. Hesford <ajh@sideband.org>"
license="Apache-2.0"
homepage="https://grpc.io"
distfiles="${PYPI_SITE}/g/grpcio/grpcio-${version}.tar.gz"
checksum=7bd0ebbb14dde78bf66a1162efd29d3393e4e943952e2f339757aa48a184645c

if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
	makedepends+=" libatomic-devel"
fi

if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
	makedepends+=" libexecinfo-devel"
fi

export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
export GRPC_PYTHON_BUILD_SYSTEM_CARES=1

post_patch() {
	if [ "${CROSS_BUILD}" ]; then
		vsed -i setup.py -e "s@['\"]cc['\"]@'${CC}'@g" \
			-e "/os.path.join/s@/usr@${XBPS_CROSS_BASE}/usr@g"
		vsed -e "s@['\"]cc['\"]@'${CC}'@g" \
			-i src/python/grpcio/commands.py
	fi

	# set boringssl asm target
	local asm_key
	case "${XBPS_TARGET_MACHINE}" in
		x86_64*) asm_key=crypto_linux_x86_64;;
		i686*) asm_key=crypto_linux_x86;;
		aarch64*) asm_key=crypto_linux_aarch64;;
		armv6l*|armv7l*) asm_key=crypto_linux_arm;;
		ppc64le*) asm_key=crypto_linux_ppc64le;;
		*) ;;
	esac

	vsed -i setup.py \
		-e "s/asm_key = .*/asm_key = '${asm_key}'/" \
		-e "s/if BUILD_WITH_BORING_SSL_ASM:/if False:/"
}
