# Template file for 'python-PyQt5-webengine'
pkgname=python-PyQt5-webengine
version=5.13.2
revision=2
wrksrc="PyQtWebEngine-${version}"
pycompile_module="PyQt5WebEngine"
hostmakedepends="pkg-config qt5-qmake
 qt5-declarative-devel qt5-webchannel-devel qt5-location-devel
 python-devel python3-devel python-PyQt5-devel
 qt5-webengine-devel"
makedepends="${hostmakedepends/pkg-config/}"
depends="python-PyQt5-${version}_${revision} python-PyQt5-webchannel-${version}_${revision}"
short_desc="Python2 bindings for the Qt5 toolkit - webengine module"
maintainer="Alessio Sergi <al3hex@gmail.com>"
license="GPL-3.0-only"
homepage="https://www.riverbankcomputing.com/software/pyqtwebengine/intro"
distfiles="https://www.riverbankcomputing.com/static/Downloads/PyQtWebEngine/${version}/PyQtWebEngine-${version}.tar.gz"
checksum=4264911b5847c75721d8c9c30af92e58a216bd25ceef37f7abf921005c1d45a9
lib32disabled=yes

case "$XBPS_TARGET_MACHINE" in
	ppc64*) ;;
	ppc*) broken="no webengine for 32-bit ppc";;
	arm*) broken="depends on qt5-webengine";;
	aarch64*) broken="https://build.voidlinux.org/builders/aarch64_builder/builds/20955/steps/shell_3/logs/stdio";;
esac

pre_build() {
	mkdir -p pyqt5-${py2_ver}
	mv * pyqt5-${py2_ver} || true
	cp -a pyqt5-${py2_ver} pyqt5-${py3_ver}
	rm -rf pyqt5-${py2_ver}/pyuic/uic/port_v3
	rm -rf pyqt5-${py3_ver}/pyuic/uic/port_v2
}

do_build() {
	local _sysroot= _configuration= py_abiver= qt_version
	for pyver in $py2_ver $py3_ver; do
		if [ "$pyver" = "$py3_ver" ]; then
			py_abiver="$py3_abiver"
		fi

		cd $wrksrc/pyqt5-$pyver
		if [ "$CROSS_BUILD" ]; then
			qt_version=$(qmake -query QT_VERSION)
cat > pyqt5_${XBPS_CROSS_TRIPLET}.cfg <<EOF
py_platform = linux
py_inc_dir = %(sysroot)/usr/include/python%(py_major).%(py_minor)${py_abiver}
py_pyshlib = python%(py_major).%(py_minor)${py_abiver}.so
pyqt_disabled_features = PyQt_Desktop_OpenGL PyQt_qreal_double

qt_shared = True

[Qt ${qt_version}]
pyqt_modules = QtWebEngine QtWebEngineCore QtWebEngineWidgets
EOF

			_sysroot="--sysroot $XBPS_CROSS_BASE"
			_configuration="--configuration $wrksrc/pyqt5-$pyver/pyqt5_${XBPS_CROSS_TRIPLET}.cfg"
		fi

		python${pyver} configure.py --no-dist-info $_sysroot $_configuration \
			QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \
			QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP=""
		make ${makejobs}
	done
}

do_install() {
	# install python-pyqt5
	make -C pyqt5-${py2_ver} DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install

	# install python3-pyqt5
	make -C pyqt5-${py3_ver} DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install

	# remove unneeded shared files
	rm -rf ${DESTDIR}/usr/share
}

python3-PyQt5-webengine_package() {
	lib32disabled=yes
	depends="python3-PyQt5-${version}_${revision}
	 python3-PyQt5-webchannel-${version}_${revision}"
	short_desc="${short_desc/Python2/Python3}"
	pkg_install() {
		vmove ${py3_sitelib}/PyQt5/QtWebEngine.pyi
		vmove ${py3_sitelib}/PyQt5/QtWebEngine.so
		vmove ${py3_sitelib}/PyQt5/QtWebEngineCore.pyi
		vmove ${py3_sitelib}/PyQt5/QtWebEngineCore.so
		vmove ${py3_sitelib}/PyQt5/QtWebEngineWidgets.pyi
		vmove ${py3_sitelib}/PyQt5/QtWebEngineWidgets.so
	}
}
