# Template file for 'python-PyQt5' pkgname=python-PyQt5 version=5.4.1 revision=1 wrksrc="PyQt-gpl-${version}" hostmakedepends="pkg-config" makedepends=" python-devel python3.4-devel python-sip-devel>=4.16.6 python3.4-sip-devel>=4.16.6 qt5-tools-devel qt5-connectivity-devel qt5-declarative-devel qt5-enginio-devel qt5-location-devel qt5-multimedia-devel qt5-sensors-devel qt5-serialport-devel qt5-svg-devel qt5-webchannel-devel qt5-webengine-devel qt5-webkit-devel qt5-websockets-devel qt5-x11extras-devel qt5-xmlpatterns-devel python-dbus-devel" depends="python-sip" pycompile_module="PyQt5" short_desc="Python2 bindings for the Qt5 toolkit" _short_desc="${short_desc/Python2/Python3.4}" maintainer="Alessio Sergi " homepage="http://www.riverbankcomputing.co.uk/software/pyqt/intro" license="GPL-3" distfiles="${SOURCEFORGE_SITE}/pyqt/PyQt-gpl-${version}.tar.gz" checksum=c6c33f392c0a2b0c9ec16531dc88fa9aee853e9fff10f0ad9d0e4777629fe79e _pysitedir="usr/lib/python2.7/site-packages" _py34sitedir="usr/lib/python3.4/site-packages" _do_pyqt5_build() { local pyver=${1:-2.7} tools= if [ "$pyver" != "2.7" ]; then tools="--no-tools" fi python${pyver} configure.py --confirm-license --assume-shared ${tools} \ CC="${CC}" CFLAGS="${CFLAGS}" CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \ LINK="${CXX}" LINK_SHLIB="${CXX}" LFLAGS="${LDFLAGS}" STRIP="" make ${makejobs} } pre_build() { mkdir -p pyqt5 mv * pyqt5 || true cp -a pyqt5 pyqt5-3.4 rm -rf ${wrksrc}/pyqt5/pyuic/uic/port_v3 rm -rf ${wrksrc}/pyqt5-3.4/pyuic/uic/port_v2 } do_build() { # build python-pyqt5 cd ${wrksrc}/pyqt5 _do_pyqt5_build # build python3.4-pyqt5 cd ${wrksrc}/pyqt5-3.4 _do_pyqt5_build 3.4 } do_install() { # install python{,3.4}-pyqt5 make -C pyqt5 DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install make -C pyqt5-3.4 DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install cd ${wrksrc}/pyqt5 # install python3-pyuic5 wrapper sed -i 's,python2.7,python3.4,g' pyuic5 vbin pyuic5 python3-pyuic5 # install doc vmkdir usr/share/doc/${pkgname} vcopy "doc/html examples" usr/share/doc/${pkgname} } python-PyQt5-devel-tools_package() { short_desc+=" - development tools" pkg_install() { vmove usr/bin/pylupdate5 vmove usr/bin/pyrcc5 } } python-PyQt5-devel_package() { depends="python-sip-devel>=4.16.6 python3.4-sip-devel>=4.16.6 python-PyQt5-${version}_${revision} python3.4-PyQt5-${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/share/sip } } python-PyQt5-doc_package() { noarch=yes short_desc+=" - documentation files" pkg_install() { vmove usr/share/doc } } python-PyQt5-dbus_package() { depends="${sourcepkg}-${version}_${revision} python-dbus" short_desc+=" - dbus support" pkg_install() { vmove ${_pysitedir}/dbus/mainloop/pyqt5.so } } python-PyQt5-connectivity_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - connectivity module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtBluetooth.so } } python-PyQt5-enginio_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - enginio module" pkg_install() { vmove ${_pysitedir}/PyQt5/Enginio.so } } python-PyQt5-multimedia_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - multimedia module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtMultimedia.so vmove ${_pysitedir}/PyQt5/QtMultimediaWidgets.so } } python-PyQt5-opengl_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - opengl module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtOpenGL.so vmove ${_pysitedir}/PyQt5/_QOpenGLFunctions_2_0.so } } python-PyQt5-location_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - location module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtPositioning.so } } python-PyQt5-quick_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - quick module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtQml.so vmove ${_pysitedir}/PyQt5/QtQuick.so vmove ${_pysitedir}/PyQt5/QtQuickWidgets.so } } python-PyQt5-sensors_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - sensors module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtSensors.so } } python-PyQt5-serialport_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - serialport module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtSerialPort.so } } python-PyQt5-sql_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - sql module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtSql.so } } python-PyQt5-svg_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - svg module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtSvg.so } } python-PyQt5-tools_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - designer, help modules" pkg_install() { vmove ${_pysitedir}/PyQt5/QtDesigner.so vmove ${_pysitedir}/PyQt5/QtHelp.so } } python-PyQt5-webchannel_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - webchannel module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtWebChannel.so } } python-PyQt5-webengine_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - webengine module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtWebEngineWidgets.so } } python-PyQt5-webkit_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - webkit module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtWebKit.so vmove ${_pysitedir}/PyQt5/QtWebKitWidgets.so } } python-PyQt5-websockets_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - websockets module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtWebSockets.so } } python-PyQt5-x11extras_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - x11extras module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtX11Extras.so } } python-PyQt5-xmlpatterns_package() { depends="${sourcepkg}-${version}_${revision}" short_desc+=" - xmlpatterns module" pkg_install() { vmove ${_pysitedir}/PyQt5/QtXmlPatterns.so } } python3.4-PyQt5_package() { depends="python3.4-sip" pycompile_version="3.4" pycompile_module="PyQt5" short_desc="${_short_desc}" pkg_install() { vmove usr/bin/python3-pyuic5 vmove usr/lib/python3.4 } } python3.4-PyQt5-dbus_package() { depends="python3.4-PyQt5-${version}_${revision} python3.4-dbus" short_desc="${_short_desc} - dbus support" pkg_install() { vmove ${_py34sitedir}/dbus/mainloop/pyqt5.so } } python3.4-PyQt5-connectivity_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - connectivity module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtBluetooth.so } } python3.4-PyQt5-enginio_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - enginio module" pkg_install() { vmove ${_py34sitedir}/PyQt5/Enginio.so } } python3.4-PyQt5-multimedia_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - multimedia module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtMultimedia.so vmove ${_py34sitedir}/PyQt5/QtMultimediaWidgets.so } } python3.4-PyQt5-opengl_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - opengl module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtOpenGL.so vmove ${_py34sitedir}/PyQt5/_QOpenGLFunctions_2_0.so } } python3.4-PyQt5-location_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - location module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtPositioning.so } } python3.4-PyQt5-quick_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - quick module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtQml.so vmove ${_py34sitedir}/PyQt5/QtQuick.so vmove ${_py34sitedir}/PyQt5/QtQuickWidgets.so vmove usr/lib/qt5/plugins/PyQt5/libpyqt5qmlplugin.so } } python3.4-PyQt5-sensors_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - sensors module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtSensors.so } } python3.4-PyQt5-serialport_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - serialport module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtSerialPort.so } } python3.4-PyQt5-sql_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - sql module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtSql.so } } python3.4-PyQt5-svg_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - svg module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtSvg.so } } python3.4-PyQt5-tools_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - designer, help modules" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtDesigner.so vmove ${_py34sitedir}/PyQt5/QtHelp.so vmove usr/lib/qt5/plugins/designer/libpyqt5.so } } python3.4-PyQt5-webchannel_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - webchannel module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtWebChannel.so } } python3.4-PyQt5-webengine_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - webengine module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtWebEngineWidgets.so } } python3.4-PyQt5-webkit_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - webkit module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtWebKit.so vmove ${_py34sitedir}/PyQt5/QtWebKitWidgets.so } } python3.4-PyQt5-websockets_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - websockets module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtWebSockets.so } } python3.4-PyQt5-x11extras_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - x11extras module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtX11Extras.so } } python3.4-PyQt5-xmlpatterns_package() { depends="python3.4-PyQt5-${version}_${revision}" short_desc="${_short_desc} - xmlpatterns module" pkg_install() { vmove ${_py34sitedir}/PyQt5/QtXmlPatterns.so } }