- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
111 lines
2.7 KiB
BlitzBasic
111 lines
2.7 KiB
BlitzBasic
SUMMARY = "Python Qt6 Bindings"
|
|
HOMEPAGE = "https://www.riverbankcomputing.com/software/pyqt"
|
|
SECTION = "devel/python"
|
|
LICENSE = "GPL-3.0-only"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
|
|
|
|
inherit pypi python3targetconfig python3-dir qt6-qmake qt6-paths
|
|
|
|
PYPI_PACKAGE = "PyQt6"
|
|
|
|
SRC_URI[sha256sum] = "6d8628de4c2a050f0b74462e4c9cb97f839bf6ffabbca91711722ffb281570d9"
|
|
SRC_URI += "file://0001-Fix-build-with-Qt-6.8.2.patch"
|
|
|
|
S = "${WORKDIR}/PyQt6-${PV}"
|
|
B = "${S}/build"
|
|
|
|
DEPENDS += " \
|
|
qtbase \
|
|
qtdeclarative \
|
|
sip (>= 6.7.12) \
|
|
sip-native (>= 6.7.12) \
|
|
python3 \
|
|
python3-pyqt6-sip-native \
|
|
python3-pyqt6-sip \
|
|
python3-packaging-native \
|
|
python3-tomli-native \
|
|
python3-pyqt-builder-native \
|
|
python3-ply \
|
|
python3-ply-native \
|
|
"
|
|
|
|
RDEPENDS:${PN} += " \
|
|
qtbase \
|
|
qtdeclarative \
|
|
python3-core \
|
|
python3-pyqt6-sip \
|
|
"
|
|
|
|
# Disable support of 128bit ints and add path to Python.h
|
|
CXXFLAGS += " -DQT_NO_INT128 -I${PYTHON_INCLUDE_DIR}"
|
|
|
|
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
|
|
|
|
DISABLED_FEATURES = " \
|
|
PyQt_Desktop_OpenGL \
|
|
PyQt_Accessibility \
|
|
PyQt_SessionManager \
|
|
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'PyQt_OpenGL', d)} \
|
|
"
|
|
|
|
PYQT_MODULES = " \
|
|
QtCore \
|
|
QtGui \
|
|
QtNetwork \
|
|
QtXml \
|
|
QtNetwork \
|
|
QtQml \
|
|
QtSql \
|
|
"
|
|
|
|
do_configure() {
|
|
extra_args=""
|
|
|
|
for i in ${DISABLED_FEATURES}; do
|
|
extra_args="$extra_args --disabled-feature=$i"
|
|
done
|
|
|
|
for i in ${PYQT_MODULES}; do
|
|
extra_args="$extra_args --enable=$i"
|
|
done
|
|
|
|
cd ${S}
|
|
sip-build \
|
|
--verbose \
|
|
--confirm-license \
|
|
--scripts-dir="${bindir}" \
|
|
--build-dir="${B}" \
|
|
--target-dir="${PYTHON_SITEPACKAGES_DIR}" \
|
|
--no-make \
|
|
--qmake=${OE_QMAKE_QMAKE} \
|
|
--pep484-pyi \
|
|
--no-dbus-python \
|
|
$extra_args
|
|
|
|
QMAKE_PROFILES=${B}/PyQt6.pro
|
|
|
|
# Fixes: cc1plus: error: include location "/usr/include/python3.13"
|
|
# is unsafe for cross-compilation [-Werror=poison-system-directories]
|
|
sed -i "s|/usr/include/${PYTHON_DIR}|${PYTHON_INCLUDE_DIR}|g" ${B}/*/*.pro
|
|
}
|
|
|
|
do_compile:append() {
|
|
sed -i "s,${STAGING_DIR_TARGET},," ${B}/inventory.txt
|
|
}
|
|
|
|
do_install:append() {
|
|
sed -i "s,exec .*nativepython3,exec ${bindir}/python3," ${D}/${bindir}/*
|
|
}
|
|
|
|
# fix buildpaths warnings in python3-pyqt6-src
|
|
pyqt_fix_sources() {
|
|
find ${PKGD}/usr/src/debug/${PN} -type f -exec sed -i "s,\(${B}\|${S}\),/usr/src/debug/${PN}/${PV}-${PR},g" {} \;
|
|
}
|
|
PACKAGESPLITFUNCS:prepend = "pyqt_fix_sources"
|
|
|
|
# Ignore warnings about TMPDIR [buildpaths] in libpyqt6qmlplugin.so
|
|
INSANE_SKIP:${PN} += "buildpaths"
|
|
INSANE_SKIP:${PN}-dbg += "buildpaths"
|
|
|
|
FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${OE_QMAKE_PATH_PLUGINS}"
|