python-[sip|qt]: update to 4.7.1 / 4.3.1 and repair. closes #2468
authorMichael Lauer <mickey@vanille-media.de>
Mon, 3 Dec 2007 19:42:21 +0000 (19:42 +0000)
committerMichael Lauer <mickey@vanille-media.de>
Mon, 3 Dec 2007 19:42:21 +0000 (19:42 +0000)
packages/python/python-pyqt/01_configure.dpatch [new file with mode: 0644]
packages/python/python-pyqt/02_htmllinks.dpatch [new file with mode: 0644]
packages/python/python-pyqt/03_qreal.dpatch [new file with mode: 0644]
packages/python/python-pyqt/04_qreal_api_fixes.dpatch [new file with mode: 0644]
packages/python/python-pyqt_4.3.1.bb [new file with mode: 0644]
packages/python/python-pyqt_4.3.bb [deleted file]
packages/python/python-sip_4.7.1.bb [moved from packages/python/python-sip_4.7.bb with 96% similarity]

diff --git a/packages/python/python-pyqt/01_configure.dpatch b/packages/python/python-pyqt/01_configure.dpatch
new file mode 100644 (file)
index 0000000..d7c45b9
--- /dev/null
@@ -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/packages/python/python-pyqt/02_htmllinks.dpatch b/packages/python/python-pyqt/02_htmllinks.dpatch
new file mode 100644 (file)
index 0000000..f65509a
--- /dev/null
@@ -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/packages/python/python-pyqt/03_qreal.dpatch b/packages/python/python-pyqt/03_qreal.dpatch
new file mode 100644 (file)
index 0000000..8f95686
--- /dev/null
@@ -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/packages/python/python-pyqt/04_qreal_api_fixes.dpatch b/packages/python/python-pyqt/04_qreal_api_fixes.dpatch
new file mode 100644 (file)
index 0000000..abd9e3f
--- /dev/null
@@ -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/packages/python/python-pyqt_4.3.1.bb b/packages/python/python-pyqt_4.3.1.bb
new file mode 100644 (file)
index 0000000..d9c45ec
--- /dev/null
@@ -0,0 +1,71 @@
+DESCRIPTION = "Python Qt4 Bindings"
+HOMEPAGE = "http://riverbankcomputing.co.uk"
+AUTHOR = "Phil Thomson @ riverbank.co.uk"
+SECTION = "devel/python"
+PRIORITY = "optional"
+LICENSE = "GPL"
+RDEPENDS = "python-core"
+SRCNAME = "pyqt"
+PR = "ml0"
+
+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"
+S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
+
+inherit qt4x11 sip distutils-base
+
+PARALLEL_MAKE = ""
+
+QMAKE_PROFILES = "pyqt.pro"
+EXTRA_SIPTAGS = "-tWS_X11 -tQt_4_3_1 -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility"
+EXTRA_OEMAKE = " MAKEFLAGS= "
+
+SIP_MODULES = "QtCore QtGui QtNetwork QtSql QtSvg QtXml"
+# SIP_MODULES += "QtAssistant"
+EXTRA_QMAKEVARS_POST += "INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \
+                         INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \
+                         DEFINES+=QT_NO_FPU"
+
+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() {
+    echo "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.3.bb b/packages/python/python-pyqt_4.3.bb
deleted file mode 100644 (file)
index c867598..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-DESCRIPTION = "Python Qt4 Bindings"
-HOMEPAGE = "http://riverbankcomputing.co.uk"
-AUTHOR = "Phil Thomson @ riverbank.co.uk"
-SECTION = "devel/python"
-PRIORITY = "optional"
-LICENSE = "GPL"
-RDEPENDS = "python-core"
-SRCNAME = "pyqt"
-PR = "ml0"
-
-SRC_URI = "http://www.riverbankcomputing.com/Downloads/PyQt4/GPL/PyQt-x11-gpl-${PV}.tar.gz \
-           file://cross-compile.patch;patch=1"
-
-BROKEN = "1"
-# Something really fishy wrt. to arm/mips/etc. double vs. qreal. May even be a problem in Qt headers itself.
-# Symptons:
-#| sipQtCoreQTimeLine.cpp:136: error: conflicting return type specified for 'virtual double sipQTimeLine::valueForTime(int) const'
-#| /home/pkg/oe/fic-gta01/tmp/staging/arm-angstrom-linux-gnueabi/qt4/include/QtCore/qtimeline.h:92: error:   overriding 'virtual qreal QTimeLine::valueForTime(int) const'
-# And:
-#| sipQtCoreQRectF.cpp: In function 'PyObject* meth_QRectF_getRect(PyObject*, PyObject*)':
-#| sipQtCoreQRectF.cpp:1182: error: no matching function for call to 'QRectF::getRect(double*, double*, double*, double*)'
-#| /home/pkg/oe/fic-gta01/tmp/staging/arm-angstrom-linux-gnueabi/qt4/include/QtCore/qrect.h:725: note: candidates are: void QRectF::getRect(qreal*, qreal*, qreal*, qreal*) const
-#| sipQtCoreQRectF.cpp: In function 'PyObject* meth_QRectF_getCoords(PyObject*, PyObject*)':
-#| sipQtCoreQRectF.cpp:1237: error: no matching function for call to 'QRectF::getCoords(double*, double*, double*, double*)'
-#| /home/pkg/oe/fic-gta01/tmp/staging/arm-angstrom-linux-gnueabi/qt4/include/QtCore/qrect.h:741: note: candidates are: void QRectF::getCoords(qreal*, qreal*, qreal*, qreal*) const
-#| make[1]: *** [sipQtCoreQRectF.o] Error 1
-
-S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
-
-inherit qmake qt4x11 sip distutils-base
-
-PARALLEL_MAKE = ""
-
-QMAKE_PROFILES = "pyqt.pro"
-EXTRA_SIPTAGS = "-tWS_X11 -tQt_4_3_0 -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility"
-EXTRA_OEMAKE = " MAKEFLAGS= "
-
-SIP_MODULES = "QtCore QtGui QtNetwork QtSql QtSvg QtXml"
-# SIP_MODULES += "QtAssistant"
-EXTRA_QMAKEVARS_POST += "INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \
-                         INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR}"
-
-#EXTRA_QMAKEVARS_POST += "QMAKE_UIC=${STAGING_BINDIR_NATIVE}/uic \
-#                         QMAKE_MOC=${STAGING_BINDIR_NATIVE}/moc \
-#                         QMAKE_RPATH=-Wl,-rpath-link, \
-#                         DESTDIR= \
-#                         VERSION=1.0.0 \
-#                         DEFINES+=SIP_MAKE_DLL \
-#                         DEFINES+=SIP_QT_SUPPORT \
-#                         INCLUDEPATH+=. \
-#                         INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \
-#                         INCLUDEPATH+=${STAGING_INCDIR} \
-#                         LIBS+=-L${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages"
-
-do_configure_prepend() {
-    echo -e "TEMPLATE=subdirs\nSUBDIRS=${SIP_MODULES}\n" >pyqt.pro
-}
-
-#do_configure() {
-#    echo "yes" | python configure.py -w -q ${OE_QMAKE_QMAKE}
-#}
-
-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"
similarity index 96%
rename from packages/python/python-sip_4.7.bb
rename to packages/python/python-sip_4.7.1.bb
index 61fcc32..fc87b01 100644 (file)
@@ -1,5 +1,3 @@
-BROKEN = "1"
-
 DESCRIPTION = "Runtime helper for sip-generated python wrapper libraries"
 SECTION = "devel/python"
 HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
@@ -12,7 +10,7 @@ PR = "ml0"
 SRC_URI = "http://www.riverbankcomputing.com/Downloads/sip4/sip-${PV}.tar.gz"
 S = "${WORKDIR}/sip-${PV}/siplib"
 
-inherit qmake qt4x11 distutils-base
+inherit qt4x11 distutils-base
 
 EXTRA_QMAKEVARS_POST += " TEMPLATE=lib \
                          CONFIG=console \