# Template file for 'uwsgi'
pkgname=uwsgi
version=2.0.14
revision=3
hostmakedepends="python python3"
makedepends="python-devel python3-devel"
short_desc="Fast, self-healing application container server"
maintainer="Eivind Uggedal <eivind@uggedal.com>"
license="GPL-2"
homepage="http://projects.unbit.it/uwsgi"
distfiles="http://projects.unbit.it/downloads/uwsgi-$version.tar.gz"
checksum=21b3d1ef926d835ff23576193a2c60d4c896d8e21567850cf0677a4764122887

_libdir=usr/lib/uwsgi

subpackages="uwsgi-python uwsgi-python3 uwsgi-python3.4"
case "$XBPS_TARGET_MACHINE" in
	armv[67]l-musl) subpackages="uwsgi-python"
esac

pre_configure() {
	sed -e "s|uc.get('plugin_dir')|'.'|" \
		-i uwsgiconfig.py
	sed -e "s|\(plugin_dir =\).*|\1 /$_libdir|" \
		-i buildconf/base.ini
}

do_build() {
	local _cflags="$CFLAGS"
	local _ldflags="$LDFLAGS"

	python2 uwsgiconfig.py --build core

	if [ -n "$CROSS_BUILD" ]; then
		_cflags="$CFLAGS -I${XBPS_CROSS_BASE}/${py2_inc}
			-I${XBPS_CROSS_BASE}/usr/include"
		_ldflags="$LDFLAGS -L${XBPS_CROSS_BASE}/${py2_lib}
			-L${XBPS_CROSS_BASE}/usr/lib"
	fi
	CFLAGS="$_cflags" LDFLAGS="$_ldflags" python2 uwsgiconfig.py \
		--plugin plugins/python core python

	if [ -n "$CROSS_BUILD" ]; then
		_cflags="$CFLAGS -I${XBPS_CROSS_BASE}/${py3_inc}
			-I${XBPS_CROSS_BASE}/usr/include"
		_ldflags="$LDFLAGS -L${XBPS_CROSS_BASE}/${py3_lib}
			-L${XBPS_CROSS_BASE}/usr/lib"
	fi
	case "$subpackages" in
		*uwsgi-python3*)
			CFLAGS="$_cflags" LDFLAGS="$_ldflags" python3 uwsgiconfig.py \
				--plugin plugins/python core python3
			;;
	esac
}

do_install() {
	mkdir -p $PKGDESTDIR/usr/bin $PKGDESTDIR/$_libdir
	cp uwsgi $PKGDESTDIR/usr/bin
	cp *_plugin.so $PKGDESTDIR/$_libdir
}

uwsgi-python_package() {
	short_desc="$short_desc (Python2 plugin)"
	pkg_install() {
		vmove $_libdir/python_plugin.so
	}
}
uwsgi-python3_package() {
	replaces="uwsgi-python3.4>=0"
	short_desc="$short_desc (Python3 plugin)"
	pkg_install() {
		vmove $_libdir/python3_plugin.so
	}
}
uwsgi-python3.4_package() {
	build_style=meta
	short_desc="${short_desc/Python2/Python3.4} (transitional dummy package)"
	depends="uwsgi-python3>=${version}_${revision}"
}
