# Template file for 'sip'
pkgname=sip
version=4.19.23
revision=1
create_wrksrc=yes
hostmakedepends="python-devel python3-devel"
makedepends="${hostmakedepends}"
short_desc="Python extension module generator for C/C++ libraries"
maintainer="Orphaned <orphan@voidlinux.org>"
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=22ca9bcec5388114e40d4aafd7ccd0c4fe072297b628d0c5cdfa2f010c0bc7e7

post_extract() {
	mv sip-$version sip-${py2_ver}
	cp -a sip-${py2_ver} sip-${py3_ver}
	cp -a sip-${py2_ver} sip-${py2_ver}-PyQt5
}

do_build() {
	for pyver in $py2_ver $py3_ver ${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 python2 PyQt5 sip
	cd ${wrksrc}/sip-${py2_ver}-PyQt5
	make DESTDIR=${DESTDIR} install -C siplib

	vlicense LICENSE
}

python-sip_package() {
	lib32disabled=yes
	depends="python"
	short_desc="Python2 SIP bindings"
	pkg_install() {
		vmove ${py2_sitelib}/sip.so
		vmove ${py2_sitelib}/sipconfig.py
		vmove ${py2_sitelib}/sip.pyi
		vlicense sip-${py2_ver}/LICENSE
	}
}

python-sip-devel_package() {
	lib32disabled=yes
	depends="sip-${version}_${revision} python-sip-${version}_${revision}"
	short_desc="Python2 SIP bindings - development files"
	pkg_install() {
		vmove ${py2_inc}
		vmove ${py2_sitelib}/sipdistutils.py
	}
}

python3-sip_package() {
	lib32disabled=yes
	depends="python3"
	short_desc="Python3 SIP bindings"
	pkg_install() {
		vmove ${py3_sitelib}/sip.so
		vmove ${py3_sitelib}/sipconfig.py
		vmove ${py3_sitelib}/sip.pyi
		vlicense sip-${py3_ver}/LICENSE
	}
}

python3-sip-devel_package() {
	depends="python3-sip-${version}_${revision} sip-${version}_${revision}"
	short_desc="Python3 SIP bindings - development files"
	pkg_install() {
		vmove ${py3_inc}
		vmove ${py3_sitelib}/sipdistutils.py
	}
}

python-sip-PyQt5_package() {
	lib32disabled=yes
	depends="python"
	short_desc="Python2 SIP bindings (PyQt5 version)"
	 pkg_install() {
		vmove ${py2_sitelib}/PyQt5/sip.so
		vmove ${py2_sitelib}/PyQt5/sip.pyi
		vlicense sip-${py2_ver}-PyQt5/LICENSE
	}
}
