# Template file for 'python3-PyQt5' pkgname=python3-PyQt5 version=5.15.4 revision=1 _sipver=12.8.0 wrksrc="PyQt5-${version}" build_helper="qemu qmake" hostmakedepends="pkg-config python3-PyQt-builder qt5-qmake qt5-host-tools python3-dbus" makedepends="qscintilla-qt5-devel python3-sip-PyQt5 python3-devel python3-dbus-devel qt5 qt5-devel qt5-tools-devel qt5-connectivity-devel qt5-declarative-devel qt5-location-devel qt5-multimedia-devel qt5-qmake qt5-sensors-devel qt5-serialport-devel qt5-svg-devel qt5-webchannel-devel qt5-webkit-devel qt5-websockets-devel qt5-x11extras-devel qt5-xmlpatterns-devel pulseaudio-devel" depends="python3-sip-PyQt5>=${_sipver}" short_desc="Python 3 bindings for the Qt5 toolkit" maintainer="Đoàn Trần Công Danh " license="GPL-3.0-only" homepage="https://riverbankcomputing.com/software/pyqt/intro" distfiles="${PYPI_SITE}/P/PyQt5/PyQt5-${version}.tar.gz" checksum=2a69597e0dd11caabe75fae133feca66387819fc9bc050f547e5551bce97e5be lib32disabled=yes CFLAGS=-I$XBPS_CROSS_BASE/usr/include/python$py3_ver CXXFLAGS="$CFLAGS" export INCPATH=$XBPS_CROSS_BASE/usr/include/python$py3_ver post_extract() { rm -rf pyuic/uic/port_v2 } do_configure() { mkdir -p build sip-build --confirm-license --no-make \ --api-dir /usr/share/qt5/qsci/api/python \ --build-dir build if [ "$CROSS_BUILD" ]; then # -I/usr/include/python$py3_ver is set by sip-build :( find build -name Makefile | xargs sed -i "s,-I\\(/usr/include\\),-I$XBPS_CROSS_BASE\\1,g" fi } do_build() { make -C build ${makejobs} } do_install() { make -C build DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install for f in pylupdate5 pyrcc5 pyuic5; do mv ${DESTDIR}/usr/bin/{,python3-}${f} done } python3-PyQt5-devel-tools_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc+=" - development tools" alternatives=" pyqt5:pylupdate5:/usr/bin/python3-pylupdate5 pyqt5:pyrcc5:/usr/bin/python3-pyrcc5 pyqt5:pyuic5:/usr/bin/python3-pyuic5" pkg_install() { vmove usr/bin vmove "${py3_sitelib}/PyQt5/pylupdate*" vmove "${py3_sitelib}/PyQt5/pyrcc*" } } python3-PyQt5-devel_package() { depends="sip>=6.0.0 python3-PyQt5>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove ${py3_sitelib}/PyQt5/bindings } } python3-PyQt5-dbus_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision} python3-dbus" short_desc="${short_desc} - dbus support" pkg_install() { vmove ${py3_sitelib}/dbus } } python3-PyQt5-connectivity_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - connectivity module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtBluetooth.*" vmove "${py3_sitelib}/PyQt5/QtNfc.*" } } python3-PyQt5-multimedia_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - multimedia module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtMultimedia.*" vmove "${py3_sitelib}/PyQt5/QtMultimediaWidgets.*" } } python3-PyQt5-opengl_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - opengl module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtOpenGL.*" if [ -z "$CROSS_BUILD" ]; then vmove "${py3_sitelib}/PyQt5/_QOpenGLFunctions_*" fi } } python3-PyQt5-location_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - location module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtLocation.*" vmove "${py3_sitelib}/PyQt5/QtPositioning.*" } } python3-PyQt5-quick_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - quick module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtQml.*" vmove "${py3_sitelib}/PyQt5/QtQuick.*" vmove "${py3_sitelib}/PyQt5/QtQuickWidgets.*" vmove usr/lib/qt5/plugins/PyQt5/libpyqt5qmlplugin.so } } python3-PyQt5-sensors_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - sensors module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtSensors.*" } } python3-PyQt5-serialport_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - serialport module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtSerialPort.*" } } python3-PyQt5-sql_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - sql module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtSql.*" } } python3-PyQt5-svg_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - svg module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtSvg.*" } } python3-PyQt5-tools_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - designer, help modules" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtHelp.*" vmove "${py3_sitelib}/PyQt5/QtDesigner.*" vmove usr/lib/qt5/plugins/designer } } python3-PyQt5-webchannel_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - webchannel module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtWebChannel.*" } } python3-PyQt5-webkit_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - webkit module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtWebKit.*" vmove "${py3_sitelib}/PyQt5/QtWebKitWidgets.*" } } python3-PyQt5-websockets_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - websockets module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtWebSockets.*" } } python3-PyQt5-x11extras_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - x11extras module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtX11Extras.*" } } python3-PyQt5-xmlpatterns_package() { lib32disabled=yes depends="python3-PyQt5>=${version}_${revision}" short_desc="${short_desc} - xmlpatterns module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtXmlPatterns.*" } }