diff options
-rw-r--r-- | packages/python/python-pyqt/04_qreal_api_fixes-for-4.4.3.dpatch | 260 | ||||
-rw-r--r-- | packages/python/python-pyqt_4.3.3.bb | 72 | ||||
-rw-r--r-- | packages/python/python-pyqt_4.4.3.bb | 73 |
3 files changed, 339 insertions, 66 deletions
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 0000000000..0701238afb --- /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 9dd2040a5b..e18b2b8e70 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 0000000000..0758cc5039 --- /dev/null +++ b/packages/python/python-pyqt_4.4.3.bb @@ -0,0 +1,73 @@ +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 = "ml3" + +PYQT_OE_VERSION = "Qt_4_4_1" + +SRC_URI = "\ + http://cvs.fedora.redhat.com/repo/pkgs/PyQt4/PyQt-x11-gpl-4.4.3.tar.gz/89e84c36a8520bf8b3a8a2b20e765154/PyQt-x11-gpl-4.4.3.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-for-4.4.3.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 QtWebKit" +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" |