# Contributor: Mehdi Chinoune _realname=pyqt6 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") pkgver=6.10.2 pkgrel=1 pkgdesc="Python bindings for the Qt cross platform application toolkit (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url="https://riverbankcomputing.com/software/pyqt" msys2_references=( 'purl: pkg:pypi/pyqt6' ) license=('spdx:GPL-3.0-or-later') depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-pyqt6-sip" "${MINGW_PACKAGE_PREFIX}-cc-libs" "${MINGW_PACKAGE_PREFIX}-qt6-base") optdepends=("${MINGW_PACKAGE_PREFIX}-qt6-activeqt" "${MINGW_PACKAGE_PREFIX}-qt6-connectivity" "${MINGW_PACKAGE_PREFIX}-qt6-declarative" "${MINGW_PACKAGE_PREFIX}-qt6-multimedia" "${MINGW_PACKAGE_PREFIX}-qt6-pdf" "${MINGW_PACKAGE_PREFIX}-qt6-positioning" "${MINGW_PACKAGE_PREFIX}-qt6-quick3d" "${MINGW_PACKAGE_PREFIX}-qt6-remoteobjects" "${MINGW_PACKAGE_PREFIX}-qt6-scxml" "${MINGW_PACKAGE_PREFIX}-qt6-sensors" "${MINGW_PACKAGE_PREFIX}-qt6-serialport" "${MINGW_PACKAGE_PREFIX}-qt6-shadertools" "${MINGW_PACKAGE_PREFIX}-qt6-speech" "${MINGW_PACKAGE_PREFIX}-qt6-svg" "${MINGW_PACKAGE_PREFIX}-qt6-tools" "${MINGW_PACKAGE_PREFIX}-qt6-webchannel" "${MINGW_PACKAGE_PREFIX}-qt6-websockets") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-sip" "${MINGW_PACKAGE_PREFIX}-pyqt-builder" "${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-qt6-activeqt" "${MINGW_PACKAGE_PREFIX}-qt6-connectivity" "${MINGW_PACKAGE_PREFIX}-qt6-declarative" "${MINGW_PACKAGE_PREFIX}-qt6-multimedia" $([[ ${MSYSTEM} == MINGW64 ]] || echo "${MINGW_PACKAGE_PREFIX}-qt6-pdf") "${MINGW_PACKAGE_PREFIX}-qt6-positioning" "${MINGW_PACKAGE_PREFIX}-qt6-quick3d" "${MINGW_PACKAGE_PREFIX}-qt6-remoteobjects" "${MINGW_PACKAGE_PREFIX}-qt6-scxml" "${MINGW_PACKAGE_PREFIX}-qt6-sensors" "${MINGW_PACKAGE_PREFIX}-qt6-serialport" "${MINGW_PACKAGE_PREFIX}-qt6-shadertools" "${MINGW_PACKAGE_PREFIX}-qt6-speech" "${MINGW_PACKAGE_PREFIX}-qt6-svg" "${MINGW_PACKAGE_PREFIX}-qt6-tools" "${MINGW_PACKAGE_PREFIX}-qt6-webchannel" "${MINGW_PACKAGE_PREFIX}-qt6-websockets") source=(https://pypi.python.org/packages/source/P/PyQt6/pyqt6-${pkgver}.tar.gz) sha256sums=('6c0db5d8cbb9a3e7e2b5b51d0ff3f283121fa27b864db6d2f35b663c9be5cc83') prepare() { cd "${srcdir}" rm -rf python-build-${MSYSTEM} | true cp -r PyQt6-${pkgver} python-build-${MSYSTEM} } build() { cd "${srcdir}"/python-build-${MSYSTEM} if check_option "debug" "n"; then _build_type=release else _build_type=debug fi MSYS2_ARG_CONV_EXCL="--api-dir=;" \ ${MINGW_PREFIX}/bin/sip-build \ --confirm-license \ --no-make \ --api-dir=${MINGW_PREFIX}/share/qt6/qsci/api/python \ --qmake=${MINGW_PREFIX}/bin/qmake6.exe \ --qmake-setting "CONFIG += ${_build_type}" \ --qmake-setting "QMAKE_CXXFLAGS=${CXXFLAGS}" \ --verbose make -C build } package(){ cd "${srcdir}"/python-build-${MSYSTEM} local _pysite=$(cygpath -u $(${MINGW_PREFIX}/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")) # INSTALL_ROOT is needed for the QtDesigner module, the other Makefiles use DESTDIR MSYS2_ARG_CONV_EXCL="${_pysite}" \ make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install -C build # compile Python bytecode ${MINGW_PREFIX}/bin/python -m compileall -o 0 -o 1 -d / "${pkgdir}"${MINGW_PREFIX}/lib install -Dm644 LICENSE "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE }