aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-python
diff options
context:
space:
mode:
authorPhilip Balister <philip@balister.org>2017-05-15 09:33:14 -0400
committerMartin Jansa <Martin.Jansa@gmail.com>2017-05-16 09:35:13 +0200
commit6605c48f3a900da26425ef31d83eb1c95d551531 (patch)
tree0ece3ea54b7ed8374be4a261d3f7ea826e5e77ce /recipes-python
parent960aaf3658a4dc7c455cdb2d42e626118ee76378 (diff)
python-pyqt5: Add recipe.
* Build tested on raspberrypi3 * I promise to chase the patch upstream. * v2 auto detects QT_VERSION Signed-off-by: Philip Balister <philip@balister.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-python')
-rw-r--r--recipes-python/pyqt5/files/fix-sm.patch17
-rw-r--r--recipes-python/pyqt5/python-pyqt5_5.8.2.bb69
2 files changed, 86 insertions, 0 deletions
diff --git a/recipes-python/pyqt5/files/fix-sm.patch b/recipes-python/pyqt5/files/fix-sm.patch
new file mode 100644
index 00000000..f2936a23
--- /dev/null
+++ b/recipes-python/pyqt5/files/fix-sm.patch
@@ -0,0 +1,17 @@
+--- PyQt5_gpl-5.8.2/sip/QtGui/qguiapplication.sip.orig 2017-05-13 13:28:42.523392315 -0400
++++ PyQt5_gpl-5.8.2/sip/QtGui/qguiapplication.sip 2017-05-13 13:30:08.081207211 -0400
+@@ -270,12 +270,14 @@
+ %End
+
+ public:
++%If (PyQt_SessionManager)
+ %If (Qt_5_6_0 -)
+ static bool isFallbackSessionManagementEnabled();
+ %End
+ %If (Qt_5_6_0 -)
+ static void setFallbackSessionManagementEnabled(bool);
+ %End
++%End
+
+ signals:
+ %If (Qt_5_6_0 -)
diff --git a/recipes-python/pyqt5/python-pyqt5_5.8.2.bb b/recipes-python/pyqt5/python-pyqt5_5.8.2.bb
new file mode 100644
index 00000000..3fa3d644
--- /dev/null
+++ b/recipes-python/pyqt5/python-pyqt5_5.8.2.bb
@@ -0,0 +1,69 @@
+SUMMARY = "Python Qt5 Bindings"
+AUTHOR = "Phil Thomson @ riverbank.co.uk"
+HOMEPAGE = "http://riverbankcomputing.co.uk"
+SECTION = "devel/python"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "\
+ file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
+"
+DEPENDS = "sip sip-native qtbase python"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/pyqt/PyQt5_gpl-${PV}.tar.gz \
+ file://fix-sm.patch \
+"
+SRC_URI[md5sum] = "c3048e9d242f3e72fd393630da1d971a"
+SRC_URI[sha256sum] = "ebd70515b30bbd6098fee29e6271a6696b1183c5530ee30e6ba9aaab195536e8"
+
+S = "${WORKDIR}/PyQt5_gpl-${PV}"
+
+
+inherit qmake5 pythonnative python-dir distro_features_check
+# depends on qt4-x11-free
+REQUIRED_DISTRO_FEATURES = "x11"
+
+export BUILD_SYS
+export HOST_SYS
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+DISABLED_FEATURES = "PyQt_Desktop_OpenGL PyQt_Accessibility PyQt_SessionManager"
+
+DISABLED_FEATURES_append_arm = " PyQt_qreal_double"
+
+PYQT_MODULES = "QtCore QtGui QtNetwork"
+PYQT_MODULES_aarch64 = "QtCore QtGui QtNetwork"
+
+do_configure_prepend() {
+ cd ${S}
+ echo "py_platform = linux" > pyqt.cfg
+ echo "py_inc_dir = %(sysroot)/$includedir/python%(py_major).%(py_minor)" >> pyqt.cfg
+ echo "py_pylib_dir = %(sysroot)/${libdir}/python%(py_major).%(py_minor)" >> pyqt.cfg
+ echo "py_pylib_lib = python%(py_major).%(py_minor)mu" >> pyqt.cfg
+ echo "pyqt_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> pyqt.cfg
+ echo "pyqt_bin_dir = ${D}/${bindir}" >> pyqt.cfg
+ echo "pyqt_sip_dir = ${D}/${datadir}/sip/PyQt5" >> pyqt.cfg
+ echo "pyuic_interpreter = ${D}/${bindir}/python%(py_major).%(py_minor)" >> pyqt.cfg
+ echo "pyqt_disabled_features = ${DISABLED_FEATURES}" >> pyqt.cfg
+ echo "qt_shared = True" >> pyqt.cfg
+ QT_VERSION=`${OE_QMAKE_QMAKE} -query QT_VERSION`
+ echo "[Qt $QT_VERSION]" >> pyqt.cfg
+ echo "pyqt_modules = ${PYQT_MODULES}" >> pyqt.cfg
+ echo yes | python configure.py --verbose --qmake ${STAGING_BINDIR_NATIVE}/qt5/qmake --configuration pyqt.cfg --sysroot ${STAGING_DIR_HOST}
+}
+
+do_compile() {
+ cd ${S}
+ oe_runmake
+}
+
+do_install() {
+ cd ${S}
+ oe_runmake install
+}
+
+RDEPENDS_${PN} = "python-core python-sip"
+
+FILES_${PN} += "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/PyQt5/"
+FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/*/.debug/"
+