# Template file for 'sip'
pkgname=sip
version=4.19.19
revision=2
hostmakedepends="python-devel python3-devel"
makedepends="${hostmakedepends}"
short_desc="Python extension module generator for C/C++ libraries"
maintainer="Alessio Sergi <al3hex@gmail.com>"
license="GPL-2.0-only, GPL-3.0-only, custom:SIP"
homepage="https://riverbankcomputing.com/software/sip/intro"
distfiles="https://www.riverbankcomputing.com/static/Downloads/sip/${version}/sip-${version}.tar.gz"
checksum=5436b61a78f48c7e8078e93a6b59453ad33780f80c644e5f3af39f94be1ede44

pre_build() {
	mkdir -p sip-${py2_ver}
	mv * sip-${py2_ver} || true
	cp -a sip-${py2_ver} sip-${py3_ver}
	cp -a sip-${py2_ver} sip-${py3_ver}-PyQt5
	cp -a sip-${py2_ver} sip-${py2_ver}-PyQt5
}
do_build() {
	for pyver in $py2_ver $py3_ver ${py3_ver}-PyQt5 ${py2_ver}-PyQt5; do
		if [ "${pyver%-PyQt5}" != "$py2_ver" ]; then
			pyinc="$py3_inc"
		else
			pyinc="$py2_inc"
		fi
		if [ "${pyver##*-}" = "PyQt5" ]; then
			pyqt5="--sip-module PyQt5.sip --no-tools"
		fi
		cd ${wrksrc}/sip-${pyver}
		python${pyver%-PyQt5} configure.py \
			CC="${CC}" CFLAGS="${CFLAGS}" CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \
			LINK="${CXX}" LINK_SHLIB="${CXX}" LFLAGS="${LDFLAGS}" STRIP="" \
			INCDIR="${XBPS_CROSS_BASE}/${pyinc}" ${pyqt5}
		make ${makejobs}
	done
}
do_install() {
	cd ${wrksrc}/sip-${py2_ver}
	# install sip
	make DESTDIR=${DESTDIR} install -C sipgen
	# install python-sip
	make DESTDIR=${DESTDIR} install -C siplib
	vinstall sipconfig.py 644 $py2_sitelib
	vinstall sipdistutils.py 644 $py2_sitelib

	# install python3-sip
	cd ${wrksrc}/sip-${py3_ver}
	make DESTDIR=${DESTDIR} install -C sipgen
	make DESTDIR=${DESTDIR} install -C siplib
	vinstall sipconfig.py 644 $py3_sitelib
	vinstall sipdistutils.py 644 $py3_sitelib

	# install python3 PyQt5 sip
	cd ${wrksrc}/sip-${py3_ver}-PyQt5
	make DESTDIR=${DESTDIR} install -C siplib

	# install python2 PyQt5 sip
	cd ${wrksrc}/sip-${py2_ver}-PyQt5
	make DESTDIR=${DESTDIR} install -C siplib

	vlicense LICENSE
}

python-sip_package() {
	lib32disabled=yes
	depends="${sourcepkg}-${version}_${revision} python"
	pycompile_module="sipconfig.py"
	short_desc="Python2 SIP bindings"
	pkg_install() {
		vmove ${py2_sitelib}/sip.so
		vmove ${py2_sitelib}/sipconfig.py
		vmove ${py2_sitelib}/sip.pyi
	}
}
python-sip-devel_package() {
	depends="python-sip-${version}_${revision}"
	pycompile_module="sipdistutils.py"
	short_desc="Python2 SIP bindings - development files"
	pkg_install() {
		vmove ${py2_inc}
		vmove ${py2_sitelib}/sipdistutils.py
	}
}
python3-sip_package() {
	lib32disabled=yes
	depends="${sourcepkg}-${version}_${revision} python3"
	pycompile_module="sipconfig.py"
	short_desc="Python3 SIP bindings"
	pkg_install() {
		vmove ${py3_sitelib}/sip.so
		vmove ${py3_sitelib}/sipconfig.py
		vmove ${py3_sitelib}/sip.pyi
	}
}
python3-sip-devel_package() {
	depends="python3-sip-${version}_${revision}"
	pycompile_module="sipdistutils.py"
	short_desc="Python3 SIP bindings - development files"
	pkg_install() {
		vmove ${py3_inc}
		vmove ${py3_sitelib}/sipdistutils.py
	}
}
python3-sip-PyQt5_package() {
	lib32disabled=yes
	depends="${sourcepkg}-${version}_${revision} python3"
	short_desc="Python3 SIP bindings (PyQt5 version)"
	pkg_install() {
		vmove ${py3_sitelib}/PyQt5/sip.so
		vmove ${py3_sitelib}/PyQt5/sip.pyi
	}
}
python-sip-PyQt5_package() {
	lib32disabled=yes
	depends="${sourcepkg}-${version}_${revision} python"
	short_desc="Python2 SIP bindings (PyQt5 version)"
	 pkg_install() {
		vmove ${py2_sitelib}/PyQt5/sip.so
		vmove ${py2_sitelib}/PyQt5/sip.pyi
	}
}
