# Template file for 'python3-PyQt5' pkgname=python3-PyQt5 version=5.15.1 revision=2 _sipver=12.8.0 wrksrc="PyQt5-${version}" build_helper=qemu hostmakedepends="pkg-config qscintilla-qt5-devel python3-sip-PyQt5 python3-devel python-dbus-devel qt5 qt5-devel qt5-tools-devel python3-PyQt-builder 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 qt5-networkauth-devel pulseaudio-devel" makedepends="${hostmakedepends/pkg-config/}" depends="python3-sip-PyQt5>=${_sipver}" short_desc="Python 3 bindings for the Qt5 toolkit" maintainer="Orphaned " license="GPL-3.0-only" homepage="https://riverbankcomputing.com/software/pyqt/intro" distfiles="${PYPI_SITE}/P/PyQt5/PyQt5-${version}.tar.gz" checksum=d9a76b850246d08da9863189ecb98f6c2aa9b4d97a3e85e29330a264aed0f9a1 lib32disabled=yes post_extract() { rm -rf pyuic/uic/port_v2 } _cross_configure() { local qplatformdefs="/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h" mkdir -p "${wrksrc}/.target-spec/linux-g++" cat >"${wrksrc}/.target-spec/linux-g++/qmake.conf" <<-_EOF MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib include(/usr/lib/qt5/mkspecs/common/linux.conf) include(/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf) include(/usr/lib/qt5/mkspecs/common/g++-unix.conf) QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qconfig.pri QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qmodule.pri QMAKE_CC = ${CC} QMAKE_CXX = ${CXX} QMAKE_LINK = ${CXX} QMAKE_LINK_C = ${CC} QMAKE_LINK_SHLIB = ${CXX} QMAKE_AR = ${XBPS_CROSS_TRIPLET}-gcc-ar cqs QMAKE_OBJCOPY = ${OBJCOPY} QMAKE_NM = ${NM} -P QMAKE_STRIP = ${STRIP} QMAKE_CFLAGS = ${CFLAGS} QMAKE_CXXFLAGS = ${CXXFLAGS} QMAKE_LFLAGS = ${LDFLAGS} load(qt_config) _EOF ln -sf ${XBPS_CROSS_BASE}$qplatformdefs ${wrksrc}/.target-spec/linux-g++/ mkdir -p "${wrksrc}/.host-spec/linux-g++" cat > "${wrksrc}/.host-spec/linux-g++/qmake.conf" <<-_EOF MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib include(/usr/lib/qt5/mkspecs/common/linux.conf) include(/usr/lib/qt5/mkspecs/common/gcc-base-unix.conf) include(/usr/lib/qt5/mkspecs/common/g++-unix.conf) QMAKE_TARGET_CONFIG = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qconfig.pri QMAKE_TARGET_MODULE = ${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/qmodule.pri QMAKE_CC = ${CC_FOR_BUILD} QMAKE_CXX = ${CXX_FOR_BUILD} QMAKE_LINK = ${CXX_FOR_BUILD} QMAKE_LINK_C = ${CC_FOR_BUILD} QMAKE_LINK_SHLIB = ${CXX_FOR_BUILD} QMAKE_AR = gcc-ar cqs QMAKE_OBJCOPY = ${OBJCOPY_FOR_BUILD} QMAKE_NM = ${NM_FOR_BUILD} -P QMAKE_STRIP = ${STRIP_FOR_BUILD} QMAKE_CFLAGS = ${CFLAGS_FOR_BUILD} QMAKE_CXXFLAGS = ${CXXFLAGS_FOR_BUILD} QMAKE_LFLAGS = ${LDFLAGS_FOR_BUILD} load(qt_config) _EOF ln -sf $qplatformdefs ${wrksrc}/.host-spec/linux-g++/ cat >"${wrksrc}/qt.conf" <<-_EOF [Paths] Sysroot=${XBPS_CROSS_BASE} Prefix=/usr ArchData=/usr/lib/qt5 Data=/usr/share/qt5 Documentation=/usr/share/doc/qt5 Headers=${XBPS_CROSS_BASE}/usr/include/qt5 Libraries=${XBPS_CROSS_BASE}/usr/lib LibraryExecutables=/usr/lib/qt5/libexec Binaries=/usr/lib/qt5/bin Tests=${XBPS_CROSS_BASE}/usr/tests Plugins=/usr/lib/qt5/plugins Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/imports Qml2Imports=${XBPS_CROSS_BASE}/usr/lib/qt5/qml Translations=${XBPS_CROSS_BASE}/usr/share/qt5/translations Settings=${XBPS_CROSS_BASE}/etc/xdg Examples=${XBPS_CROSS_BASE}/usr/share/qt5/examples HostPrefix=/usr HostData=/usr/lib/qt5 HostBinaries=/usr/lib/qt5/bin HostLibraries=/usr/lib Spec=$wrksrc/.host-spec/linux-g++ TargetSpec=$wrksrc/.target-spec/linux-g++ _EOF case $XBPS_TARGET_MACHINE in i686*) _qt_arch=i386;; x86_64*) _qt_arch=x86_64;; aarch64*) _qt_arch=arm64;; arm*) _qt_arch=arm;; mips*) _qt_arch=mips;; esac cat >$XBPS_WRAPPERDIR/qmake <<_EOF #!/bin/sh export PREFIX=/usr export QT_INSTALL_PREFIX=/usr export LIB=/usr/lib export QT_TARGET_ARCH=$_qt_arch export PKG_CONFIG_EXECUTABLE=$XBPS_WRAPPERDIR/$PKG_CONFIG case " \$* " in " -query ") /usr/lib/qt5/bin/qmake "\$@" -qtconf $wrksrc/qt.conf | sed '/^QT_INSTALL_/s,$XBPS_CROSS_BASE,,' ;; *) exec /usr/lib/qt5/bin/qmake -qtconf $wrksrc/qt.conf "\$@" ;; esac _EOF chmod +x $XBPS_WRAPPERDIR/qmake } do_configure() { if [ "$CROSS_BUILD" ]; then _cross_configure fi mkdir -p build sip-build --confirm-license --no-make \ --api-dir /usr/share/qt5/qsci/api/python \ --build-dir build if [ "$CROSS_BUILD" ]; then # Fix location of libraries find build -name Makefile | xargs sed -i " s, \\(/usr/lib/libQt\\), $XBPS_CROSS_BASE\\1,g s,-L\\(/usr/lib\\),-L$XBPS_CROSS_BASE\\1,g /INSTALL_ROOT/s,$XBPS_CROSS_BASE,,g s,-I\\(/usr/include\\),-I$XBPS_CROSS_BASE\\1,g s,-I\\(/usr/lib\\),-I$XBPS_CROSS_BASE\\1,g " fi } do_build() { cd build make ${makejobs} } do_install() { cd build make DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install for f in pylupdate5 pyrcc5 pyuic5; do sed -i '1s,python3[.0-9]*,python3,' ${DESTDIR}/usr/bin/${f} 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="sip5 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-networkauth_package() { lib32disabled=yes depends="python3-PyQt5-${version}_${revision}" short_desc="${short_desc} - networkauth module" pkg_install() { vmove "${py3_sitelib}/PyQt5/QtNetworkAuth.*" } } 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.*" } }