diff options
Diffstat (limited to 'meta-oe/recipes-devtools/python/python-pyqt_4.8.4.bb')
-rw-r--r-- | meta-oe/recipes-devtools/python/python-pyqt_4.8.4.bb | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/python/python-pyqt_4.8.4.bb b/meta-oe/recipes-devtools/python/python-pyqt_4.8.4.bb new file mode 100644 index 0000000000..8bae09eef5 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyqt_4.8.4.bb | |||
@@ -0,0 +1,115 @@ | |||
1 | DESCRIPTION = "Python Qt4 Bindings" | ||
2 | HOMEPAGE = "http://riverbankcomputing.co.uk" | ||
3 | AUTHOR = "Phil Thomson @ riverbank.co.uk" | ||
4 | SECTION = "devel/python" | ||
5 | LICENSE = "GPLv2 & GPLv3 & GPL_EXCEPTION" | ||
6 | LIC_FILES_CHKSUM = "\ | ||
7 | file://GPL_EXCEPTION.TXT;md5=b73b0be471db679533dc94781c14af58 \ | ||
8 | file://GPL_EXCEPTION_ADDENDUM.TXT;md5=c1e04ec2aa0911061005a801abf81e40 \ | ||
9 | file://OPENSOURCE-NOTICE.TXT;md5=6ad9123620cc04a22c394753ad4767d7 \ | ||
10 | file://LICENSE-MERGED-GPL2-GPL3;md5=53ced8933428255115039368cdca0aef \ | ||
11 | file://LICENSE.GPL2;md5=59bccd9d4dcaae9e668798337b91a022 \ | ||
12 | file://LICENSE.GPL3;md5=da83bb3624af9ff4808aa9ffc49fc582 \ | ||
13 | " | ||
14 | |||
15 | DEPENDS = "sip-native python-sip" | ||
16 | RDEPENDS_${PN} = "python-core" | ||
17 | SRCNAME = "pyqt" | ||
18 | |||
19 | PYQT_OE_VERSION = "Qt_4_7_1" | ||
20 | |||
21 | SRC_URI = "\ | ||
22 | http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-${PV}.tar.gz \ | ||
23 | \ | ||
24 | file://fix_qthelp_ftbfs.diff \ | ||
25 | file://fix_the_QAssitant_ftbfs.diff \ | ||
26 | file://assistantclient-fix.patch \ | ||
27 | file://pyqt-generated.patch;apply=no \ | ||
28 | " | ||
29 | SRC_URI[md5sum] = "97c5dc1042feb5b3fe20baabad055af1" | ||
30 | SRC_URI[sha256sum] = "fcfa3ecc0b4fad6d93227751b36a6f81ea104ee19dd26905f52de59f060b3e98" | ||
31 | S = "${WORKDIR}/PyQt-x11-gpl-${PV}" | ||
32 | |||
33 | # arm and mips machines need some extra patches | ||
34 | SRC_URI_append_arm = "\ | ||
35 | file://qreal_float_support.diff \ | ||
36 | " | ||
37 | |||
38 | SRC_URI_append_mipsel = "\ | ||
39 | file://qreal_float_support.diff \ | ||
40 | " | ||
41 | |||
42 | inherit qt4x11 sip distutils-base | ||
43 | |||
44 | PARALLEL_MAKE = "" | ||
45 | |||
46 | QMAKE_PROFILES = "pyqt.pro" | ||
47 | # NOTE: has to match with MIN(qt version we have in OE, last known Qt version by SIP/PyQt) | ||
48 | EXTRA_SIPTAGS = "-tWS_X11 -t${PYQT_OE_VERSION} -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility" | ||
49 | EXTRA_OEMAKE = " MAKEFLAGS= " | ||
50 | |||
51 | # arm and mips need extra params for the qreal issue | ||
52 | EXTRA_SIPTAGS_append_arm = " -x PyQt_qreal_double" | ||
53 | EXTRA_SIPTAGS_append_mipsel = " -x PyQt_qreal_double" | ||
54 | |||
55 | SIP_MODULES = "QtCore QtDeclarative QtGui QtNetwork QtSql QtSvg QtXml QtWebKit" | ||
56 | MAKE_MODULES = "qpy ${SIP_MODULES}" | ||
57 | |||
58 | EXTRA_QMAKEVARS_POST += "\ | ||
59 | INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \ | ||
60 | INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \ | ||
61 | INCLUDEPATH+=../qpy/QtCore \ | ||
62 | INCLUDEPATH+=../qpy/QtGui \ | ||
63 | INCLUDEPATH+=../qpy/QtDeclarative \ | ||
64 | INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtCore \ | ||
65 | INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtGui \ | ||
66 | INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtDeclarative \ | ||
67 | INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtWebKit \ | ||
68 | INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtNetwork \ | ||
69 | " | ||
70 | FIX_QREAL = "\ | ||
71 | " | ||
72 | |||
73 | do_generate_prepend() { | ||
74 | for i in ${FIX_QREAL}; do | ||
75 | sed -i -e s,qreal,float,g sip/$i | ||
76 | done | ||
77 | } | ||
78 | |||
79 | do_configure_prepend() { | ||
80 | printf "TEMPLATE=subdirs\nSUBDIRS=${MAKE_MODULES}\n" >pyqt.pro | ||
81 | printf "TEMPLATE=subdirs\nSUBDIRS=QtCore QtDeclarative QtGui\n" >qpy/qpy.pro | ||
82 | ln -sf ./qpycore.pro qpy/QtCore/QtCore.pro | ||
83 | ln -sf ./qpydeclarative.pro qpy/QtDeclarative/QtDeclarative.pro | ||
84 | ln -sf ./qpygui.pro qpy/QtGui/QtGui.pro | ||
85 | echo "INCLUDEPATH+=${S}/QtCore" >>qpy/QtCore/QtCore.pro | ||
86 | echo "INCLUDEPATH+=${S}/QtGui" >>qpy/QtGui/QtGui.pro | ||
87 | echo "INCLUDEPATH+=${S}/QtDeclarative" >>qpy/QtDeclarative/QtDeclarative.pro | ||
88 | echo "LIBS+=-L../qpy/QtGui/ -lqpygui" >>QtGui/QtGui.pro | ||
89 | echo "LIBS+=-L../qpy/QtCore/ -lqpycore" >>QtCore/QtCore.pro | ||
90 | echo "LIBS+=-L../qpy/QtDeclarative/ -lqpydeclarative" >>QtDeclarative/QtDeclarative.pro | ||
91 | # hack for broken generated code (duplicated sipCpp declaration). | ||
92 | patch -p1 < ${WORKDIR}/pyqt-generated.patch | ||
93 | } | ||
94 | |||
95 | do_install() { | ||
96 | install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4 | ||
97 | for module in ${SIP_MODULES} | ||
98 | do | ||
99 | echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py | ||
100 | install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so | ||
101 | done | ||
102 | cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/ | ||
103 | cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/ | ||
104 | |||
105 | install -d ${STAGING_SIPDIR}/qt/ | ||
106 | install -d ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages | ||
107 | for module in ${SIP_MODULES} | ||
108 | do | ||
109 | install -m 0644 ${S}/sip/${module}/*.sip ${STAGING_SIPDIR}/qt/ | ||
110 | install -m 0755 ${module}/lib${module}.so ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/${module}.so | ||
111 | done | ||
112 | } | ||
113 | |||
114 | FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages" | ||
115 | |||