[PATCH] [pyqt] add pyqt 4.4.3 [pyqt] add python-pyqt.inc [pyqt] add 04_qreal_api_fixes-for-4.4.3.dpatch [pyqt] cannot test 4.3.3, coz the original tar file is missing

Erin Yueh erin_yueh at openmoko.com
Wed Sep 17 06:36:23 CEST 2008


---
 packages/python/python-pyqt.inc                    |   67 +++++
 .../04_qreal_api_fixes-for-4.4.3.dpatch            |  260 ++++++++++++++++++++
 packages/python/python-pyqt_4.3.3.bb               |   72 +-----
 packages/python/python-pyqt_4.4.3.bb               |    7 +
 4 files changed, 340 insertions(+), 66 deletions(-)
 create mode 100644 packages/python/python-pyqt.inc
 create mode 100644 packages/python/python-pyqt/04_qreal_api_fixes-for-4.4.3.dpatch
 create mode 100644 packages/python/python-pyqt_4.4.3.bb

diff --git a/packages/python/python-pyqt.inc b/packages/python/python-pyqt.inc
new file mode 100644
index 0000000..5b9c6cc
--- /dev/null
+++ b/packages/python/python-pyqt.inc
@@ -0,0 +1,67 @@
+DESCRIPTION = "Python Qt4 Bindings"
+HOMEPAGE = "http://riverbankcomputing.co.uk"
+AUTHOR = "Phil Thomson @ riverbank.co.uk"
+SECTION = "devel/python"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "sip-native python-sip"
+RDEPENDS = "python-core"
+SRCNAME = "pyqt"
+
+SRC_URI = "\
+  http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/GPL/PyQt-x11-gpl-${PV}.tar.gz \
+  file://cross-compile.patch;patch=1 \
+  file://01_configure.dpatch;patch=1 \
+  file://02_htmllinks.dpatch;patch=1 \
+  file://03_qreal.dpatch;patch=1 \
+  file://assistantclient-fix.patch;patch=1"
+S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
+
+inherit qt4x11 sip distutils-base
+
+PARALLEL_MAKE = ""
+
+QMAKE_PROFILES = "pyqt.pro"
+# NOTE: match with qt version we have in OE
+EXTRA_SIPTAGS = "-tWS_X11 -t${PYQT_OE_VERSION} -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility"
+EXTRA_OEMAKE = " MAKEFLAGS= "
+
+SIP_MODULES = "QtCore QtGui QtNetwork QtSql QtSvg QtXml QtAssistant"
+EXTRA_QMAKEVARS_POST += "INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \
+                         INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR}"
+
+FIX_QREAL = "\
+"
+
+do_generate_prepend() {
+    for i in ${FIX_QREAL}; do
+        sed -i -e s,qreal,float,g sip/$i
+    done
+}
+
+do_configure_prepend() {
+    printf "TEMPLATE=subdirs\nSUBDIRS=${SIP_MODULES}\n" >pyqt.pro
+}
+
+do_stage() {
+    install -d ${STAGING_SIPDIR}/qt/
+    install -d ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages
+    for module in ${SIP_MODULES}
+    do
+        install -m 0644 ${S}/sip/${module}/*.sip ${STAGING_SIPDIR}/qt/
+	install -m 0755 ${module}/lib${module}.so ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/${module}.so
+    done
+}
+
+do_install() {
+    install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4
+    for module in ${SIP_MODULES}
+    do
+		echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py
+		install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so
+    done
+	cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
+	cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
+}
+
+FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages"
diff --git a/packages/python/python-pyqt/04_qreal_api_fixes-for-4.4.3.dpatch b/packages/python/python-pyqt/04_qreal_api_fixes-for-4.4.3.dpatch
new file mode 100644
index 0000000..0701238
--- /dev/null
+++ b/packages/python/python-pyqt/04_qreal_api_fixes-for-4.4.3.dpatch
@@ -0,0 +1,260 @@
+diff --git a/sip/QtCore/qlist.sip b/sip/QtCore/qlist.sip
+index d387763..bbb2e08 100644
+--- a/sip/QtCore/qlist.sip
++++ b/sip/QtCore/qlist.sip
+@@ -343,8 +343,8 @@ template<TYPE1, TYPE2>
+ %End
+ };
+ %If (Qt_4_3_0 -)
+-// QList<QPair<double, double> > is implemented as a Python list of 2-element tuples.
+-%MappedType QList<QPair<double, double> >
++// QList<QPair<float, float> > is implemented as a Python list of 2-element tuples.
++%MappedType QList<QPair<float, float> >
+ {
+ %TypeHeaderCode
+ #include <qlist.h>
+@@ -361,7 +361,7 @@ template<TYPE1, TYPE2>
+     // Set the list elements.
+     for (int i = 0; i < sipCpp->size(); ++i)
+     {
+-        const QPair<double, double> &p = sipCpp->at(i);
++        const QPair<float, float> &p = sipCpp->at(i);
+         PyObject *pobj;
+ 
+         if ((pobj = Py_BuildValue((char *)"dd", p.first, p.second)) == NULL)
+@@ -393,16 +393,16 @@ template<TYPE1, TYPE2>
+         return 1;
+     }
+ 
+-    QList<QPair<double, double> > *ql = new QList<QPair<double, double> >;
++    QList<QPair<float, float> > *ql = new QList<QPair<float, float> >;
+  
+     for (SIP_SSIZE_T i = 0; i < len; ++i)
+     {
+         PyObject *tup = PySequence_ITEM(sipPy, i);
+ 
+-        double first = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
+-        double second = PyFloat_AsDouble(PySequence_ITEM(tup, 1));
++        float first = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
++        float second = PyFloat_AsDouble(PySequence_ITEM(tup, 1));
+  
+-        ql->append(QPair<double, double>(first, second));
++        ql->append(QPair<float, float>(first, second));
+     }
+  
+     *sipCppPtr = ql;
+@@ -412,9 +412,9 @@ template<TYPE1, TYPE2>
+ };
+ %End
+ %If (Qt_4_3_0 -)
+-// QList<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples.
+-template<double, TYPE>
+-%MappedType QList<QPair<double, TYPE> >
++// QList<QPair<float, TYPE> > is implemented as a Python list of 2-element tuples.
++template<float, TYPE>
++%MappedType QList<QPair<float, TYPE> >
+ {
+ %TypeHeaderCode
+ #include <qlist.h>
+@@ -431,7 +431,7 @@ template<double, TYPE>
+     // Set the list elements.
+     for (int i = 0; i < sipCpp->size(); ++i)
+     {
+-        const QPair<double, TYPE> &p = sipCpp->at(i);
++        const QPair<float, TYPE> &p = sipCpp->at(i);
+         TYPE *t = new TYPE(p.second);
+         PyObject *pobj;
+ 
+@@ -472,12 +472,12 @@ template<double, TYPE>
+         return 1;
+     }
+ 
+-    QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >;
++    QList<QPair<float, TYPE> > *ql = new QList<QPair<float, TYPE> >;
+  
+     for (SIP_SSIZE_T i = 0; i < len; ++i)
+     {
+         PyObject *tup = PySequence_ITEM(sipPy, i);
+-        double d;
++        float d;
+         int state;
+ 
+         d = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
+@@ -491,7 +491,7 @@ template<double, TYPE>
+             return 0;
+         }
+ 
+-        ql->append(QPair<double, TYPE>(d, *t));
++        ql->append(QPair<float, TYPE>(d, *t));
+ 
+         sipReleaseInstance(t, sipClass_TYPE, state);
+     }
+@@ -551,8 +551,8 @@ template<double, TYPE>
+     return sipGetState(sipTransferObj);
+ %End
+ };
+-// QList<double> is implemented as a Python list of floats.
+-%MappedType QList<double>
++// QList<float> is implemented as a Python list of floats.
++%MappedType QList<float>
+ {
+ %TypeHeaderCode
+ #include <qlist.h>
+@@ -590,7 +590,7 @@ template<double, TYPE>
+     if (sipIsErr == NULL)
+         return (len >= 0);
+ 
+-    QList<double> *ql = new QList<double>;
++    QList<float> *ql = new QList<float>;
+  
+     for (SIP_SSIZE_T i = 0; i < len; ++i)
+         ql->append(PyFloat_AsDouble(PySequence_ITEM(sipPy, i)));
+diff --git a/sip/QtCore/qvector.sip b/sip/QtCore/qvector.sip
+index d652bfe..dea5601 100644
+--- a/sip/QtCore/qvector.sip
++++ b/sip/QtCore/qvector.sip
+@@ -156,8 +156,8 @@ template<TYPE>
+     return sipGetState(sipTransferObj);
+ %End
+ };
+-// QVector<double> is implemented as a Python list of floats.
+-%MappedType QVector<double>
++// QVector<float> is implemented as a Python list of floats.
++%MappedType QVector<float>
+ {
+ %TypeHeaderCode
+ #include <qvector.h>
+@@ -193,7 +193,7 @@ template<TYPE>
+     if (sipIsErr == NULL)
+         return PyList_Check(sipPy);
+ 
+-    QVector<double> *ql = new QVector<double>;
++    QVector<float> *ql = new QVector<float>;
+  
+     for (SIP_SSIZE_T i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+         ql->append(PyFloat_AsDouble(PyList_GET_ITEM(sipPy, i)));
+@@ -203,9 +203,9 @@ template<TYPE>
+     return sipGetState(sipTransferObj);
+ %End
+ };
+-// QVector<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples.
++// QVector<QPair<float, TYPE> > is implemented as a Python list of 2-element tuples.
+ template<TYPE>
+-%MappedType QVector<QPair<double, TYPE> >
++%MappedType QVector<QPair<float, TYPE> >
+ {
+ %TypeHeaderCode
+ #include <qvector.h>
+@@ -222,7 +222,7 @@ template<TYPE>
+     // Set the list elements.
+     for (int i = 0; i < sipCpp->size(); ++i)
+     {
+-        const QPair<double, TYPE> &p = sipCpp->at(i);
++        const QPair<float, TYPE> &p = sipCpp->at(i);
+         TYPE *pt = new TYPE(p.second);
+         PyObject *pobj;
+ 
+@@ -261,14 +261,14 @@ template<TYPE>
+         return 1;
+     }
+ 
+-    QVector<QPair<double, TYPE> > *qv = new QVector<QPair<double, TYPE> >;
++    QVector<QPair<float, TYPE> > *qv = new QVector<QPair<float, TYPE> >;
+  
+     for (SIP_SSIZE_T i = 0; i < PyList_GET_SIZE(sipPy); ++i)
+     {
+         PyObject *tup = PyList_GET_ITEM(sipPy, i);
+         int state;
+         TYPE *s;
+-        QPair<double, TYPE> p;
++        QPair<float, TYPE> p;
+ 
+         p.first = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 0));
+ 
+diff --git a/sip/QtGui/qbrush.sip b/sip/QtGui/qbrush.sip
+index 7813bec..3993ef1 100644
+--- a/sip/QtGui/qbrush.sip
++++ b/sip/QtGui/qbrush.sip
+@@ -151,7 +151,7 @@ public:
+ 
+ QDataStream &operator>>(QDataStream &, QBrush & /Constrained/);
+ QDataStream &operator<<(QDataStream &, const QBrush & /Constrained/);
+-typedef QVector<QPair<double, QColor> > QGradientStops;
++typedef QVector<QPair<float, QColor> > QGradientStops;
+ 
+ class QGradient
+ {
+diff --git a/sip/QtGui/qgraphicsitemanimation.sip b/sip/QtGui/qgraphicsitemanimation.sip
+index f60107f..dbb7900 100644
+--- a/sip/QtGui/qgraphicsitemanimation.sip
++++ b/sip/QtGui/qgraphicsitemanimation.sip
+@@ -77,19 +77,19 @@ signals:
+ 
+ public:
+ %If (Qt_4_3_0 -)
+-    QList<QPair<double, QPointF> > posList() const;
++    QList<QPair<float, QPointF> > posList() const;
+ %End
+ %If (Qt_4_3_0 -)
+-    QList<QPair<double, double> > rotationList() const;
++    QList<QPair<float, float> > rotationList() const;
+ %End
+ %If (Qt_4_3_0 -)
+-    QList<QPair<double, QPointF> > translationList() const;
++    QList<QPair<float, QPointF> > translationList() const;
+ %End
+ %If (Qt_4_3_0 -)
+-    QList<QPair<double, QPointF> > scaleList() const;
++    QList<QPair<float, QPointF> > scaleList() const;
+ %End
+ %If (Qt_4_3_0 -)
+-    QList<QPair<double, QPointF> > shearList() const;
++    QList<QPair<float, QPointF> > shearList() const;
+ %End
+ 
+ private:
+diff --git a/sip/QtGui/qpainterpath.sip b/sip/QtGui/qpainterpath.sip
+index 924174a..8fcb9e7 100644
+--- a/sip/QtGui/qpainterpath.sip
++++ b/sip/QtGui/qpainterpath.sip
+@@ -219,8 +219,8 @@ public:
+     void setCurveThreshold(qreal threshold);
+     qreal curveThreshold() const;
+     void setDashPattern(Qt::PenStyle);
+-    void setDashPattern(const QVector<double> &dashPattern);
+-    QVector<double> dashPattern() const;
++    void setDashPattern(const QVector<float> &dashPattern);
++    QVector<float> dashPattern() const;
+     QPainterPath createStroke(const QPainterPath &path) const;
+ %If (Qt_4_3_0 -)
+     void setDashOffset(qreal offset);
+diff --git a/sip/QtGui/qpen.sip b/sip/QtGui/qpen.sip
+index 0d78d8f..0cefacd 100644
+--- a/sip/QtGui/qpen.sip
++++ b/sip/QtGui/qpen.sip
+@@ -104,8 +104,8 @@ public:
+     void setCapStyle(Qt::PenCapStyle pcs);
+     Qt::PenJoinStyle joinStyle() const;
+     void setJoinStyle(Qt::PenJoinStyle pcs);
+-    QVector<double> dashPattern() const;
+-    void setDashPattern(const QVector<double> &pattern);
++    QVector<float> dashPattern() const;
++    void setDashPattern(const QVector<float> &pattern);
+     qreal miterLimit() const;
+     void setMiterLimit(qreal limit);
+     bool operator==(const QPen &p) const;
+diff --git a/sip/QtGui/qtextoption.sip b/sip/QtGui/qtextoption.sip
+index 2075e99..f748a63 100644
+--- a/sip/QtGui/qtextoption.sip
++++ b/sip/QtGui/qtextoption.sip
+@@ -75,8 +75,8 @@ public:
+     typedef QFlags<QTextOption::Flag> Flags;
+     QFlags<QTextOption::Flag> flags() const;
+     qreal tabStop() const;
+-    void setTabArray(QList<double> tabStops);
+-    QList<double> tabArray() const;
++    void setTabArray(QList<float> tabStops);
++    QList<float> tabArray() const;
+     void setUseDesignMetrics(bool b);
+     bool useDesignMetrics() const;
+     void setAlignment(Qt::Alignment aalignment);
diff --git a/packages/python/python-pyqt_4.3.3.bb b/packages/python/python-pyqt_4.3.3.bb
index 9dd2040..e18b2b8 100644
--- a/packages/python/python-pyqt_4.3.3.bb
+++ b/packages/python/python-pyqt_4.3.3.bb
@@ -1,73 +1,13 @@
-DESCRIPTION = "Python Qt4 Bindings"
-HOMEPAGE = "http://riverbankcomputing.co.uk"
-AUTHOR = "Phil Thomson @ riverbank.co.uk"
-SECTION = "devel/python"
-PRIORITY = "optional"
-LICENSE = "GPL"
-DEPENDS = "sip-native python-sip"
-RDEPENDS = "python-core"
-SRCNAME = "pyqt"
-PR = "ml1"
+PYQT_OE_VERSION = "Qt_4_3_3"
+require python-pyqt.inc
 
-SRC_URI = "\
-  http://www.riverbankcomputing.com/Downloads/PyQt4/GPL/PyQt-x11-gpl-${PV}.tar.gz \
-  file://cross-compile.patch;patch=1 \
-  file://01_configure.dpatch;patch=1 \
-  file://02_htmllinks.dpatch;patch=1 \
-  file://03_qreal.dpatch;patch=1 \
-  file://04_qreal_api_fixes.dpatch;patch=1 \
-  file://assistantclient-fix.patch;patch=1"
-S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
+PR = "ml2"
+SRC_URI += "file://04_qreal_api_fixes.dpatch;patch=1"
 
-inherit qt4x11 sip distutils-base
+EXTRA_QMAKEVARS_POST += "DEFINES+=QT_NO_FPU"
 
-PARALLEL_MAKE = ""
-
-QMAKE_PROFILES = "pyqt.pro"
-# NOTE: match with qt version we have in OE
-EXTRA_SIPTAGS = "-tWS_X11 -tQt_4_3_3 -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility"
-EXTRA_OEMAKE = " MAKEFLAGS= "
-
-SIP_MODULES = "QtCore QtGui QtNetwork QtSql QtSvg QtXml QtAssistant"
-EXTRA_QMAKEVARS_POST += "INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \
-                         INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \
-                         DEFINES+=QT_NO_FPU"
-
-FIX_QREAL = "\
+FIX_QREAL += "\
   QtCore/qtimeline.sip \
   QtCore/qrect.sip \
   QtGui/qtransform.sip \
 "
-
-do_generate_prepend() {
-    for i in ${FIX_QREAL}; do
-        sed -i -e s,qreal,float,g sip/$i
-    done
-}
-
-do_configure_prepend() {
-    printf "TEMPLATE=subdirs\nSUBDIRS=${SIP_MODULES}\n" >pyqt.pro
-}
-
-do_stage() {
-    install -d ${STAGING_SIPDIR}/qt/
-    install -d ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages
-    for module in ${SIP_MODULES}
-    do
-        install -m 0644 ${S}/sip/${module}/*.sip ${STAGING_SIPDIR}/qt/
-	install -m 0755 ${module}/lib${module}.so ${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/${module}.so
-    done
-}
-
-do_install() {
-    install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4
-    for module in ${SIP_MODULES}
-    do
-		echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py
-		install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so
-    done
-	cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
-	cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
-}
-
-FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages"
diff --git a/packages/python/python-pyqt_4.4.3.bb b/packages/python/python-pyqt_4.4.3.bb
new file mode 100644
index 0000000..d8b962f
--- /dev/null
+++ b/packages/python/python-pyqt_4.4.3.bb
@@ -0,0 +1,7 @@
+PYQT_OE_VERSION = "Qt_4_4_1"
+require python-pyqt.inc
+PR = "ml2"
+SRC_URI += "file://04_qreal_api_fixes-for-4.4.3.dpatch;patch=1"
+
+SIP_MODULES += "QtWebKit"
+
-- 
1.5.6.5


--------------000901090104030700010709--



More information about the devel mailing list