diff options
Diffstat (limited to 'recipes/python/python-pyqt')
-rw-r--r-- | recipes/python/python-pyqt/01_configure.dpatch | 288 | ||||
-rw-r--r-- | recipes/python/python-pyqt/02_htmllinks.dpatch | 18 | ||||
-rw-r--r-- | recipes/python/python-pyqt/03_qreal.dpatch | 18 | ||||
-rw-r--r-- | recipes/python/python-pyqt/04_qreal_api_fixes-for-4.4.3.dpatch | 260 | ||||
-rw-r--r-- | recipes/python/python-pyqt/04_qreal_api_fixes.dpatch | 259 | ||||
-rw-r--r-- | recipes/python/python-pyqt/assistantclient-fix.patch | 13 | ||||
-rw-r--r-- | recipes/python/python-pyqt/cross-compile.patch | 33 |
7 files changed, 889 insertions, 0 deletions
diff --git a/recipes/python/python-pyqt/01_configure.dpatch b/recipes/python/python-pyqt/01_configure.dpatch new file mode 100644 index 0000000000..d7c45b9a44 --- /dev/null +++ b/recipes/python/python-pyqt/01_configure.dpatch @@ -0,0 +1,288 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_configure.dpatch by Torsten Marek <shlomme@debian.org> +## +## DP: Make PyQt4 objectdir-buildable + +@DPATCH@ +diff -urNad python-qt4-4.2+snapshot20070727~/configure.py python-qt4-4.2+snapshot20070727/configure.py +--- python-qt4-4.2+snapshot20070727~/configure.py 2007-07-29 23:58:48.000000000 +0200 ++++ python-qt4-4.2+snapshot20070727/configure.py 2007-07-30 00:00:17.000000000 +0200 +@@ -20,6 +20,8 @@ + # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + ++# Modified for Debian by Torsten Marek <shlomme@gmx.net> ++ + import sys + import os + import string +@@ -29,6 +31,23 @@ + + import sipconfig + ++topsrcdir = os.path.dirname(os.path.abspath(__file__)) ++has_objdir = topsrcdir != os.path.abspath(os.path.curdir) ++if not has_objdir: ++ topsrcdir = None ++ ++ ++def makeDir(dirname): ++ try: ++ os.mkdir(dirname) ++ except OSError, e: ++ if e.errno != 17: ++ raise ++ ++def srcPath(filename): ++ if topsrcdir is not None: ++ return os.path.join(topsrcdir, filename) ++ return filename + + # Initialise the globals. + pyqt_version = 0x040200 +@@ -134,6 +153,8 @@ + p.add_option("-g", "--consolidate", action="store_true", default=False, + dest="bigqt", help="create a single module which links against " + "all the Qt libraries") ++ p.add_option("--disable-designer-plugin", action="store_true", default=False, ++ help="do not build the Qt Designer plugin") + + # These are internal options used to build the mega Windows GPL package. + p.add_option("--mwg-openssl", action="callback", default=None, +@@ -282,6 +303,7 @@ + check_module("QAxContainer", "qaxobject.h", "new QAxObject()", + extra_libs=["QAxContainer"]) + ++ makeDir("dbus") + if os.path.isdir("dbus"): + check_dbus() + +@@ -354,7 +376,7 @@ + generate_code("QtAssistant") + + if "QtDesigner" in pyqt_modules: +- qpy_dir = os.path.abspath(os.path.join("qpy", "QtDesigner")) ++ qpy_dir = os.path.abspath(srcPath(os.path.join("qpy", "QtDesigner"))) + + if sys.platform == "win32": + if opts.debug: +@@ -380,10 +402,10 @@ + + # Generate the composite module. + qtmod_sipdir = os.path.join("sip", "Qt") +- mk_clean_dir(qtmod_sipdir) ++ mk_clean_dir(srcPath(qtmod_sipdir)) + + qtmod_sipfile = os.path.join(qtmod_sipdir, "Qtmod.sip") +- f = open(qtmod_sipfile, "w") ++ f = open(srcPath(qtmod_sipfile), "w") + + f.write("""%CompositeModule PyQt4.Qt + +@@ -555,7 +577,7 @@ + return libs, libdirs + + def module_installs(self): +- return ["__init__.py", "pyqtconfig.py"] ++ return [srcPath("__init__.py"), "pyqtconfig.py"] + + def qpylibs(self): + # See which QPy libraries to build. +@@ -571,8 +593,8 @@ + for qpy, pro in qpylibs.iteritems(): + sipconfig.inform("Creating QPy library for %s Makefile..." % qpy) + +- os.chdir(os.path.join("qpy", qpy)) +- ++ os.chdir(srcPath(os.path.join("qpy", qpy))) ++ + if sipcfg.universal: + upro = "u_" + pro + +@@ -596,6 +618,8 @@ + + sipconfig.inform("Creating QPy libraries Makefile...") + ++ makeDir("qpy") ++ os.system("ln -s %s qpy/QtDesigner" % (srcPath("qpy/QtDesigner"),)) + sipconfig.ParentMakefile( + configuration=sipcfg, + dir="qpy", +@@ -617,6 +641,7 @@ + install_dir=pydbusmoddir, + qt=["QtCore"], + debug=opts.debug, ++ topsrcdir=topsrcdir, + universal=sipcfg.universal + ) + +@@ -625,18 +650,19 @@ + makefile.generate() + tool.append("dbus") + +- # Only include ElementTree for older versions of Python. +- if sipcfg.py_version < 0x020500: +- sipconfig.inform("Creating elementtree Makefile...") ++ # Don't include elementtree on Debian ++## # Only include ElementTree for older versions of Python. ++## if sipcfg.py_version < 0x020500: ++## sipconfig.inform("Creating elementtree Makefile...") + +- makefile = sipconfig.PythonModuleMakefile( +- configuration=sipcfg, +- dstdir=os.path.join(pyqt_modroot, "elementtree"), +- dir="elementtree" +- ) ++## makefile = sipconfig.PythonModuleMakefile( ++## configuration=sipcfg, ++## dstdir=os.path.join(pyqt_modroot, "elementtree"), ++## dir="elementtree" ++## ) + +- makefile.generate() +- tool.append("elementtree") ++## makefile.generate() ++## tool.append("elementtree") + + # Create the pyuic4 wrapper. Use the GUI version on MacOS (so that + # previews work properly and normal console use will work anyway), but +@@ -644,16 +670,18 @@ + sipconfig.inform("Creating pyuic4 wrapper...") + + uicdir=os.path.join(pyqt_modroot, "uic") +- wrapper = sipconfig.create_wrapper(os.path.join(uicdir, "pyuic.py"), os.path.join("pyuic", "pyuic4"), (sys.platform == "darwin")) ++ makeDir("pyuic") ++ # Wrapper script is not needed on Debian ++ #wrapper = sipconfig.create_wrapper(os.path.join(uicdir, "pyuic.py"), os.path.join("pyuic", "pyuic4"), (sys.platform == "darwin")) + + sipconfig.inform("Creating pyuic4 Makefile...") + + makefile = sipconfig.PythonModuleMakefile( + configuration=sipcfg, + dstdir=uicdir, +- srcdir="uic", ++ srcdir=srcPath(os.path.join("pyuic", "uic")), + dir="pyuic", +- installs=[[os.path.basename(wrapper), opts.pyqtbindir]] ++ #installs=[[os.path.basename(wrapper), opts.pyqtbindir]] + ) + + makefile.generate() +@@ -661,7 +689,7 @@ + + if "QtXml" in pyqt_modules: + sipconfig.inform("Creating pylupdate4 Makefile...") +- ++ makeDir("pylupdate") + makefile = sipconfig.ProgramMakefile( + configuration=sipcfg, + build_file="pylupdate.sbf", +@@ -671,14 +699,15 @@ + qt=["QtCore", "QtGui", "QtXml"], + debug=opts.debug, + warnings=1, ++ topsrcdir=topsrcdir, + universal=sipcfg.universal + ) +- ++ makefile.extra_include_dirs.append(srcPath("pylupdate")) + makefile.generate() + tool.append("pylupdate") + + sipconfig.inform("Creating pyrcc4 Makefile...") +- ++ makeDir("pyrcc") + makefile = sipconfig.ProgramMakefile( + configuration=sipcfg, + build_file="pyrcc.sbf", +@@ -688,6 +717,7 @@ + qt=["QtCore", "QtXml"], + debug=opts.debug, + warnings=1, ++ topsrcdir=topsrcdir, + universal=sipcfg.universal + ) + +@@ -697,7 +727,7 @@ + sipconfig.inform("pylupdate4 and pyrcc4 will not be built because the Qt XML module is missing.") + + if "QtDesigner" in pyqt_modules: +- enabled = True ++ enabled = not opts.disable_designer_plugin + + py_major = sipcfg.py_version >> 16 + py_minor = (sipcfg.py_version >> 8) & 0x0ff +@@ -731,7 +761,7 @@ + # Run qmake to generate the Makefile. + qmake_args = fix_qmake_args() + cwd = os.getcwd() +- os.chdir("designer") ++ os.chdir(srcPath("designer")) + + # Create the qmake project file. + fin = open("python.pro-in") +@@ -755,7 +785,7 @@ + run_command("%s %s" % (opts.qmake, qmake_args)) + os.chdir(cwd) + +- tool.append("designer") ++ tool.append(srcPath("designer")) + + return tool + +@@ -899,7 +929,6 @@ + add_makefile_extras(makefile, extra_include_dirs, extra_lib_dirs, extra_libs) + + exe, build = makefile.build_command(name) +- + # Make sure the executable file doesn't exist. + remove_file(exe) + run_command(build) +@@ -1025,7 +1054,7 @@ + return + + # Check the module's main .sip file exists. +- if os.access(os.path.join("sip", mname, mname + "mod.sip"), os.F_OK): ++ if os.access(srcPath(os.path.join("sip", mname, mname + "mod.sip")), os.F_OK): + sipconfig.inform("Checking to see if the %s module should be built..." % mname) + + if check_api(incfile, test, mname, extra_include_dirs=extra_include_dirs, extra_lib_dirs=extra_lib_dirs, extra_libs=extra_libs): +@@ -1226,10 +1255,14 @@ + argv.append(buildfile) + + argv.append("-I") +- argv.append("sip") ++ argv.append(srcPath("sip")) + + # SIP assumes POSIX style path separators. +- argv.append(string.join(["sip", mname, mname + "mod.sip"], "/")) ++ if topsrcdir is not None: ++ argv.append(string.join([topsrcdir, "sip", mname, mname + "mod.sip"], "/")) ++ else: ++ argv.append(string.join(["sip", mname, mname + "mod.sip"], "/")) ++ + + cmd = string.join(argv) + +@@ -1251,7 +1284,11 @@ + sipfiles = [] + + for s in glob.glob("sip/" + mname + "/*.sip"): +- sipfiles.append(os.path.join("..", "sip", mname, os.path.basename(s))) ++ if has_objdir: ++ topdir = topsrcdir ++ else: ++ topdir = ".." ++ sipfiles.append(os.path.join(topdir, "sip", mname, os.path.basename(s))) + + installs.append([sipfiles, os.path.join(opts.pyqtsipdir, mname)]) + +@@ -1835,7 +1872,7 @@ + ).generate() + + # Install the configuration module. +- create_config("pyqtconfig.py", "pyqtconfig.py.in", macros) ++ create_config("pyqtconfig.py", srcPath("pyqtconfig.py.in"), macros) + + + ############################################################################### diff --git a/recipes/python/python-pyqt/02_htmllinks.dpatch b/recipes/python/python-pyqt/02_htmllinks.dpatch new file mode 100644 index 0000000000..f65509ae2c --- /dev/null +++ b/recipes/python/python-pyqt/02_htmllinks.dpatch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_htmllinks.dpatch by Torsten Marek <shlomme@debian.org> + +## DP: Fix the links in the documentation HTML files. + +@DPATCH@ +diff -urNad python-qt4-4.1~/doc/pyqt4ref.html python-qt4-4.1/doc/pyqt4ref.html +--- python-qt4-4.1~/doc/pyqt4ref.html 2006-11-05 00:51:19.000000000 +0100 ++++ python-qt4-4.1/doc/pyqt4ref.html 2006-11-21 23:35:52.000000000 +0100 +@@ -85,7 +85,7 @@ + <p>This is the reference guide for PyQt 4.1. PyQt v4 is a set of + <a class="reference" href="http://www.python.org">Python</a> bindings for v4 of the Qt application + framework from <a class="reference" href="http://www.trolltech.com">Trolltech</a>.</p> +-<p>There is a separate <a class="reference" href="html/classes.html">PyQt API Reference</a>.</p> ++<p>There is a separate <a class="reference" href="classes.html">PyQt API Reference</a>.</p> + <p>Qt is a set of C++ libraries and development tools that includes platform + independent abstractions for graphical user interfaces, networking, threads, + Unicode, regular expressions, SQL databases, SVG, OpenGL, XML, and user and diff --git a/recipes/python/python-pyqt/03_qreal.dpatch b/recipes/python/python-pyqt/03_qreal.dpatch new file mode 100644 index 0000000000..8f9568656c --- /dev/null +++ b/recipes/python/python-pyqt/03_qreal.dpatch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_qreal.dpatch by Torsten Marek <shlomme@debian.org> +## +## DP: On ARM, ARMEL, Mips and Mipsel, qreal is a float, not a double. + +@DPATCH@ +diff -urNad python-qt4-4.3~/sip/QtCore/qglobal.sip python-qt4-4.3/sip/QtCore/qglobal.sip +--- python-qt4-4.3~/sip/QtCore/qglobal.sip 2007-08-07 21:52:15.000000000 +0200 ++++ python-qt4-4.3/sip/QtCore/qglobal.sip 2007-08-07 22:10:14.000000000 +0200 +@@ -46,7 +46,7 @@ + typedef unsigned long long quint64; + typedef qint64 qlonglong; + typedef quint64 qulonglong; +-typedef double qreal; ++typedef float qreal; + typedef unsigned char uchar; + typedef unsigned short ushort; + typedef unsigned int uint; diff --git a/recipes/python/python-pyqt/04_qreal_api_fixes-for-4.4.3.dpatch b/recipes/python/python-pyqt/04_qreal_api_fixes-for-4.4.3.dpatch new file mode 100644 index 0000000000..0701238afb --- /dev/null +++ b/recipes/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/recipes/python/python-pyqt/04_qreal_api_fixes.dpatch b/recipes/python/python-pyqt/04_qreal_api_fixes.dpatch new file mode 100644 index 0000000000..abd9e3f4cd --- /dev/null +++ b/recipes/python/python-pyqt/04_qreal_api_fixes.dpatch @@ -0,0 +1,259 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 04_qreal_api_fixes.dpatch by Torsten Marek <shlomme@debian.org> +## +## DP: Exchanges double by qreal in some wrapped methods. + +@DPATCH@ +diff -urNad python-qt4-4.3~/sip/QtCore/qlist.sip python-qt4-4.3/sip/QtCore/qlist.sip +--- python-qt4-4.3~/sip/QtCore/qlist.sip 2007-09-02 00:35:50.000000000 +0200 ++++ python-qt4-4.3/sip/QtCore/qlist.sip 2007-09-02 00:35:53.000000000 +0200 +@@ -322,8 +322,8 @@ + %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> +@@ -340,7 +340,7 @@ + // 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) +@@ -370,16 +370,16 @@ + return 1; + } + +- QList<QPair<double, double> > *ql = new QList<QPair<double, double> >; ++ QList<QPair<float, float> > *ql = new QList<QPair<float, float> >; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + PyObject *tup = PyList_GET_ITEM(sipPy, i); + +- double first = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 0)); +- double second = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 1)); ++ float first = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 0)); ++ float second = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 1)); + +- ql->append(QPair<double, double>(first, second)); ++ ql->append(QPair<float, float>(first, second)); + } + + *sipCppPtr = ql; +@@ -389,9 +389,9 @@ + }; + %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> +@@ -408,7 +408,7 @@ + // 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; + +@@ -447,12 +447,12 @@ + return 1; + } + +- QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >; ++ QList<QPair<float, TYPE> > *ql = new QList<QPair<float, TYPE> >; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + { + PyObject *tup = PyList_GET_ITEM(sipPy, i); +- double d; ++ float d; + int state; + + d = PyFloat_AsDouble(PyTuple_GET_ITEM(tup, 0)); +@@ -466,7 +466,7 @@ + return 0; + } + +- ql->append(QPair<double, TYPE>(d, *t)); ++ ql->append(QPair<float, TYPE>(d, *t)); + + sipReleaseInstance(t, sipClass_TYPE, state); + } +@@ -524,8 +524,8 @@ + 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> +@@ -561,7 +561,7 @@ + if (sipIsErr == NULL) + return PyList_Check(sipPy); + +- QList<double> *ql = new QList<double>; ++ QList<float> *ql = new QList<float>; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + ql->append(PyFloat_AsDouble(PyList_GET_ITEM(sipPy, i))); +diff -urNad python-qt4-4.3~/sip/QtCore/qvector.sip python-qt4-4.3/sip/QtCore/qvector.sip +--- python-qt4-4.3~/sip/QtCore/qvector.sip 2007-09-02 00:35:50.000000000 +0200 ++++ python-qt4-4.3/sip/QtCore/qvector.sip 2007-09-02 00:35:53.000000000 +0200 +@@ -143,8 +143,8 @@ + 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> +@@ -180,7 +180,7 @@ + if (sipIsErr == NULL) + return PyList_Check(sipPy); + +- QVector<double> *ql = new QVector<double>; ++ QVector<float> *ql = new QVector<float>; + + for (int i = 0; i < PyList_GET_SIZE(sipPy); ++i) + ql->append(PyFloat_AsDouble(PyList_GET_ITEM(sipPy, i))); +@@ -190,9 +190,9 @@ + 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> +@@ -209,7 +209,7 @@ + // 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; + +@@ -248,14 +248,14 @@ + return 1; + } + +- QVector<QPair<double, TYPE> > *qv = new QVector<QPair<double, TYPE> >; ++ QVector<QPair<float, TYPE> > *qv = new QVector<QPair<float, TYPE> >; + + for (int 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 -urNad python-qt4-4.3~/sip/QtGui/qbrush.sip python-qt4-4.3/sip/QtGui/qbrush.sip +--- python-qt4-4.3~/sip/QtGui/qbrush.sip 2007-09-02 00:35:50.000000000 +0200 ++++ python-qt4-4.3/sip/QtGui/qbrush.sip 2007-09-02 00:35:53.000000000 +0200 +@@ -138,7 +138,7 @@ + + 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 -urNad python-qt4-4.3~/sip/QtGui/qgraphicsitemanimation.sip python-qt4-4.3/sip/QtGui/qgraphicsitemanimation.sip +--- python-qt4-4.3~/sip/QtGui/qgraphicsitemanimation.sip 2007-09-02 00:35:50.000000000 +0200 ++++ python-qt4-4.3/sip/QtGui/qgraphicsitemanimation.sip 2007-09-02 00:35:53.000000000 +0200 +@@ -64,19 +64,19 @@ + + 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 -urNad python-qt4-4.3~/sip/QtGui/qpainterpath.sip python-qt4-4.3/sip/QtGui/qpainterpath.sip +--- python-qt4-4.3~/sip/QtGui/qpainterpath.sip 2007-09-02 00:35:50.000000000 +0200 ++++ python-qt4-4.3/sip/QtGui/qpainterpath.sip 2007-09-02 00:35:53.000000000 +0200 +@@ -194,8 +194,8 @@ + 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 -urNad python-qt4-4.3~/sip/QtGui/qpen.sip python-qt4-4.3/sip/QtGui/qpen.sip +--- python-qt4-4.3~/sip/QtGui/qpen.sip 2007-09-02 00:35:50.000000000 +0200 ++++ python-qt4-4.3/sip/QtGui/qpen.sip 2007-09-02 00:35:53.000000000 +0200 +@@ -91,8 +91,8 @@ + 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 -urNad python-qt4-4.3~/sip/QtGui/qtextoption.sip python-qt4-4.3/sip/QtGui/qtextoption.sip +--- python-qt4-4.3~/sip/QtGui/qtextoption.sip 2007-09-02 00:35:50.000000000 +0200 ++++ python-qt4-4.3/sip/QtGui/qtextoption.sip 2007-09-02 00:35:53.000000000 +0200 +@@ -62,8 +62,8 @@ + 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/recipes/python/python-pyqt/assistantclient-fix.patch b/recipes/python/python-pyqt/assistantclient-fix.patch new file mode 100644 index 0000000000..eef0847c7c --- /dev/null +++ b/recipes/python/python-pyqt/assistantclient-fix.patch @@ -0,0 +1,13 @@ +Index: PyQt-x11-gpl-4.3.3/sip/QtAssistant/qassistantclient.sip +=================================================================== +--- PyQt-x11-gpl-4.3.3.orig/sip/QtAssistant/qassistantclient.sip 2008-01-07 13:31:35.000000000 +0100 ++++ PyQt-x11-gpl-4.3.3/sip/QtAssistant/qassistantclient.sip 2008-01-07 13:32:20.000000000 +0100 +@@ -26,7 +26,7 @@ + { + + %TypeHeaderCode +-#include <qassistantclient.h> ++#include <QtAssistant/qassistantclient.h> + %End + + %ConvertToSubClassCode diff --git a/recipes/python/python-pyqt/cross-compile.patch b/recipes/python/python-pyqt/cross-compile.patch new file mode 100644 index 0000000000..fb1524c09d --- /dev/null +++ b/recipes/python/python-pyqt/cross-compile.patch @@ -0,0 +1,33 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- PyQt4-gpl-4.0beta1/configure.py~cross-compile.patch ++++ PyQt4-gpl-4.0beta1/configure.py +@@ -471,7 +471,7 @@ + sipconfig.error("Unable to create the %s directory." % mname) + + # Build the SIP command line. +- argv = ['"' + sipcfg.sip_bin + '"'] ++ argv = ['"' + sipcfg.sip_bin + '4"'] + + argv.extend(qt_sip_flags) + +@@ -846,7 +846,15 @@ + """Set the qt_dir, qt_incdir, qt_libdir, qt_bindir and qt_datadir globals + for the Qt installation. + """ +- sipconfig.inform("Determining the layout of your Qt installation...") ++ sipconfig.inform("Determining the layout of your Qt installation... - patched for OpenEmbedded by :M:") ++ ++ global qt_dir, qt_incdir, qt_libdir, qt_bindir, qt_datadir ++ qt_dir = os.getenv( "QTDIR" ) ++ qt_incdir = "%s/include" % qt_dir ++ qt_libdir = "%s/lib" % qt_dir ++ qt_bindir = "%s/bin" % qt_dir ++ qt_datadir = "%s/share" % qt_dir ++ return + + if not opt_qmake: + sipconfig.error("Make sure you have a working Qt v4 qmake on your PATH or use the -q argument to explicitly specify a working Qt v4 qmake.") |