# Template file for 'python3-PyQt5-webengine' pkgname=python3-PyQt5-webengine version=5.15.0 revision=1 wrksrc="PyQtWebEngine-${version}" hostmakedepends="pkg-config qt5-qmake python3-PyQt5 sip5 qt5-webengine-devel qt5-declarative-devel qt5-webchannel-devel qt5-location-devel" makedepends="qt5-declarative-devel qt5-webchannel-devel qt5-location-devel qt5-webengine-devel python3-devel python3-PyQt5-devel" depends="python3-PyQt5>=${version}_1 python3-PyQt5-webchannel>=${version}_1" short_desc="Python 3 bindings for the Qt5 toolkit - webengine module" maintainer="Orphaned " license="GPL-3.0-only" homepage="https://www.riverbankcomputing.com/software/pyqtwebengine/intro" distfiles="${PYPI_SITE}/P/PyQtWebEngine/PyQtWebEngine-${version}.tar.gz" checksum=670812688e40bf75f70ddf01eadd897d231300318d3856b275bf8e7e0085bf75 lib32disabled=yes case "$XBPS_TARGET_MACHINE" in ppc64le*) ;; ppc*) broken="no webengine for big endian ppc";; arm*) broken="depends on qt5-webengine";; esac post_extract() { rm -rf pyuic/uic/port_v2 } _cross_configure() { local qmakespec=$XBPS_STATEDIR/qmake-$XBPS_TARGET_MACHINE mkdir -p $qmakespec/target/linux-g++ # This is copied from qmake build-style cat > "$qmakespec/target/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 cat <<-EOF > "$qmakespec/target/linux-g++/qplatformdefs.h" #include "${XBPS_CROSS_BASE}/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h" EOF mkdir -p $qmakespec/host/linux-g++ cat > "$qmakespec/host/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 cat <<-EOF > "$qmakespec/host/linux-g++/qplatformdefs.h" #include "/usr/lib/qt5/mkspecs/linux-g++/qplatformdefs.h" EOF cat > "$qmakespec/qt.conf" <<-_EOF [Paths] Sysroot=${XBPS_CROSS_BASE} Prefix=/usr ArchData=/usr/lib/qt5 Data=/usr/share/qt5 Documentation=/usr/share/doc/qt5 Headers=/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=$qmakespec/host/linux-g++ TargetSpec=$qmakespec/target/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/cross-qmake #!/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 $qmakespec/qt.conf | sed '/^QT_INSTALL_/s,$XBPS_CROSS_BASE,,' ;; *) exec /usr/lib/qt5/bin/qmake -qtconf $qmakespec/qt.conf "\$@" ;; esac EOF chmod +x $XBPS_WRAPPERDIR/cross-qmake python3 configure.py --qmake=$XBPS_WRAPPERDIR/cross-qmake \ --sysroot $XBPS_CROSS_BASE/usr # Technically, the second sed expr isn't necessary # since all of them are the same for both host and target. # We need to fix INSTALL_ROOT anyway, let's fix it, too. sed -i -e "/INSTALL_ROOT/s,$XBPS_CROSS_BASE,,g" \ -e "s,-I/usr/include,-I$XBPS_CROSS_BASE/usr/include,g" \ Makefile \ QtWebEngine/Makefile \ QtWebEngineCore/Makefile \ QtWebEngineWidgets/Makefile sed -i -e "s,$XBPS_CROSS_BASE,,g" installed.txt } do_configure() { if [ "$CROSS_BUILD" ]; then _cross_configure else python3 configure.py \ QMAKE_CC="${CC}" QMAKE_CFLAGS="${CFLAGS}" \ QMAKE_CXX="${CXX}" QMAKE_CXXFLAGS="${CXXFLAGS}" \ QMAKE_LINK="${CXX}" QMAKE_LINK_SHLIB="${CXX}" QMAKE_LFLAGS="${LDFLAGS}" QMAKE_STRIP="" fi } do_build() { make ${makejobs} } do_install() { make DESTDIR=${DESTDIR} INSTALL_ROOT=${DESTDIR} install rm -rf ${DESTDIR}/usr/share }