=== modified file '.pc/applied-patches'
--- .pc/applied-patches	2013-06-20 15:24:17 +0000
+++ .pc/applied-patches	2013-07-08 09:40:35 +0000
@@ -4,4 +4,6 @@
 04_9d6cd72353e4862592c016951810abf9a7ab8079_backport.patch
 8a3d48915c29484c9ffb2fb8f0e3b569a9fe9b44_backport.patch
 0001-Fallback-to-QMetaObject-for-properties-not-in-QQmlPr.patch
+0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch
+81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch
 rendering_performance_fix_lp1092358.patch

=== modified file 'debian/changelog'
--- debian/changelog	2013-06-20 15:24:17 +0000
+++ debian/changelog	2013-07-08 09:40:35 +0000
@@ -1,3 +1,86 @@
+qtdeclarative-opensource-src (5.0.2-6ubuntu1) saucy; urgency=low
+
+  [ Timo Jyrinki ]
+  * Resync with Debian, remaining changes:
+    - Keep cherry-picked patches, and symbols
+    - Keep debian/patches/rendering_performance_fix_lp1092358.patch
+    - Add Vcs-Bzr field
+  * Fix https://bugreports.qt-project.org/browse/QTBUG-30246 (LP: #1198830)
+    - debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch
+    - debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch
+
+  [ Dmitry Shachnev ]
+  * Merge with Debian 5.0.2-6 to bring in documentation packages.
+  * Note: architecture restrictions have been dropped from this upload,
+    as requested by the Release Team.
+
+ -- Timo Jyrinki <timo-jyrinki@ubuntu.com>  Mon, 08 Jul 2013 07:51:02 +0300
+
+qtdeclarative-opensource-src (5.0.2-6) experimental; urgency=low
+
+  * Update symbols files.
+
+ -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>  Wed, 26 Jun 2013 18:29:51 -0300
+
+qtdeclarative-opensource-src (5.0.2-5) experimental; urgency=low
+
+  [ Lisandro Damián Nicanor Pérez Meyer ]
+  * Make every package that ships a binary managed by qtchooser depend on it.
+  * Build the documentation shipped with this submodule as a build-indep task:
+    - Add the necessary indep build dependencies:
+      * qttools5-dev-tools to use qhelpgenerator.
+      * libqt5sql5-sqlite to generate qch doc.
+    - Build and create packages for qch and HTML doc formats.
+  * Update symbols files.
+  * Set qtdeclarative5-dbg as M-A same, so it can be coinstalled with other
+    archs debugging symbols.
+
+  [ Timo Jyrinki ]
+  * Depend on libgl1-mesa-dri from the qtquick2 QML plugin
+    - Not depending may cause crashes due to lack of VBO support
+      (https://bugs.launchpad.net/bugs/1176199)
+
+ -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>  Wed, 19 Jun 2013 21:33:20 -0300
+
+qtdeclarative-opensource-src (5.0.2-4) experimental; urgency=low
+
+  [ Pino Toscano ]
+  * debian/control: remove extra ${misc:Pre-Depends} from qmlscene and
+    qtdeclarative5-dev-tools.
+  * Update symbols files.
+  * Fix Vcs-* headers.
+
+  [ Lisandro Damián Nicanor Pérez Meyer ]
+  * Update symbols with amd64 build.
+
+ -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>  Sat, 18 May 2013 21:25:40 -0300
+
+qtdeclarative-opensource-src (5.0.2-3) experimental; urgency=low
+
+  [ Pino Toscano ]
+  * Update symbols files.
+
+  [ Lisandro Damián Nicanor Pérez Meyer ]
+  * Update symbols files.
+
+ -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>  Mon, 06 May 2013 14:53:19 -0300
+
+qtdeclarative-opensource-src (5.0.2-2) experimental; urgency=low
+
+  [ Lisandro Damián Nicanor Pérez Meyer ]
+  * Fix wrong permissions of examples.
+
+  [ Pino Toscano ]
+  * Update symbols files.
+  * qtdeclarative5-localstorage-plugin: depend on libqt5sql5-sqlite, as it is
+    used directly.
+  * Remove extra ${shlibs:Depends} from qtdeclarative5-private-dev.
+  * Bump the libqt5v8-5-private-dev and libqt5xmlpatterns5-private-dev build
+    dependencies to 5.0.2~.
+  * rules: use $(DEB_HOST_MULTIARCH) everywhere.
+
+ -- Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>  Tue, 30 Apr 2013 20:45:49 -0300
+
 qtdeclarative-opensource-src (5.0.2-1ubuntu2) saucy; urgency=low
 
   [ Timo Jyrinki ]

=== modified file 'debian/control'
--- debian/control	2013-04-29 16:27:13 +0000
+++ debian/control	2013-07-08 09:40:35 +0000
@@ -11,18 +11,20 @@
            Timo Jyrinki <timo@debian.org>
 Build-Depends: debhelper (>= 9),
                dpkg-dev (>= 1.16.1),
-               libqt5v8-5-private-dev (>= 5.0.1~),
-               libqt5xmlpatterns5-private-dev (>= 5.0.1~),
+               libqt5v8-5-private-dev (>= 5.0.2~),
+               libqt5xmlpatterns5-private-dev (>= 5.0.2~),
                pkg-kde-tools,
                qtbase5-private-dev (>= 5.0.2~)
+Build-Depends-Indep: libqt5sql5-sqlite,
+                     qttools5-dev-tools (>= 5.0.2~)
 Standards-Version: 3.9.4
 Homepage: http://qt-project.org/
-Vcs-Git: git://git.debian.org/pkg-kde/qt/qtdeclarative.git
-Vcs-Browser: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=summary
+Vcs-Git: git://anonscm.debian.org/pkg-kde/qt/qtdeclarative.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-kde/qt/qtdeclarative.git;a=summary
 Vcs-Bzr: https://code.launchpad.net/~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src
 
 Package: libqt5qml5
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -37,7 +39,7 @@
  QML code with JavaScript and C++.
 
 Package: libqt5quick5
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -51,7 +53,7 @@
  boxes and other portable devices.
 
 Package: libqt5quickparticles5
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -62,7 +64,7 @@
  This package contains the Qt Quick Particles support library.
 
 Package: libqt5quicktest5
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -73,7 +75,7 @@
  This package contains the Qt Quick Test library for QtDeclarative module.
 
 Package: qtdeclarative5-folderlistmodel-plugin
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -84,10 +86,10 @@
  The FolderListModel provides a model of the contents of a file system folder.
 
 Package: qtdeclarative5-localstorage-plugin
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
-Depends: ${misc:Depends}, ${shlibs:Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}, libqt5sql5-sqlite
 Description: Qt 5 localstorage QML plugin
  Qt is a cross-platform C++ application framework. Qt's primary feature
  is its rich set of widgets that provide standard GUI functionality.
@@ -95,7 +97,7 @@
  This is a singleton type for reading and writing to SQLite databases.
 
 Package: qtdeclarative5-particles-plugin
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -106,7 +108,7 @@
  This QML module contains a particle system for Qt Quick.
 
 Package: qtdeclarative5-qtquick2-plugin
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: libgl1-mesa-dri, ${misc:Depends}, ${shlibs:Depends}
@@ -117,7 +119,7 @@
  This package contains the Qt Quick 2 QML plugin for Qt declarative.
 
 Package: qtdeclarative5-test-plugin
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -128,7 +130,7 @@
  This package contains the test QML plugin for Qt declarative.
 
 Package: qtdeclarative5-window-plugin
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -140,7 +142,7 @@
  accessing screen information.
 
 Package: qtdeclarative5-xmllistmodel-plugin
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -152,7 +154,7 @@
 
 Package: qtdeclarative5-dev
 Section: libdevel
-Architecture: amd64 i386 armhf
+Architecture: any
 Pre-Depends: dpkg (>= 1.15.6~)
 Depends: libqt5qml5 (= ${binary:Version}),
          libqt5quick5 (= ${binary:Version}),
@@ -168,12 +170,11 @@
  Qt 5 applications using Qt 5 declarative headers.
 
 Package: qtdeclarative5-private-dev
-Architecture: amd64 i386 armhf
+Architecture: any
 Section: libdevel
 Pre-Depends: dpkg (>= 1.15.6~)
 Depends: qtdeclarative5-dev (= ${binary:Version}),
          ${misc:Depends},
-         ${shlibs:Depends}
 Description: Qt 5 declarative private development files
  Qt is a cross-platform C++ application framework. Qt's primary feature
  is its rich set of widgets that provide standard GUI functionality.
@@ -184,12 +185,11 @@
  Use at your own risk.
 
 Package: qtdeclarative5-dev-tools
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: foreign
 Section: devel
-Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
-Depends: ${misc:Depends}, ${shlibs:Depends}
-Recommends: qtchooser
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: qtchooser, ${misc:Depends}, ${shlibs:Depends}
 Description: Qt 5 declarative development programs
  Qt is a cross-platform C++ application framework. Qt's primary feature
  is its rich set of widgets that provide standard GUI functionality.
@@ -198,12 +198,11 @@
  declarative applications.
 
 Package: qmlscene
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: foreign
 Section: devel
-Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
-Depends: ${misc:Depends}, ${shlibs:Depends}
-Recommends: qtchooser
+Pre-Depends: dpkg (>= 1.15.6~)
+Depends: qtchooser, ${misc:Depends}, ${shlibs:Depends}
 Description: Qt 5 QML scene viewer
  Qt is a cross-platform C++ application framework. Qt's primary feature
  is its rich set of widgets that provide standard GUI functionality.
@@ -211,7 +210,7 @@
  This package contains the QML viewer for Qt Quick 2.
 
 Package: qtdeclarative5-examples
-Architecture: amd64 i386 armhf
+Architecture: any
 Multi-Arch: same
 Section: x11
 Pre-Depends: dpkg (>= 1.15.6~), ${misc:Pre-Depends}
@@ -224,7 +223,8 @@
 
 Package: qtdeclarative5-dbg
 Priority: extra
-Architecture: amd64 i386 armhf
+Architecture: any
+Multi-Arch: same
 Section: debug
 Pre-Depends: dpkg (>= 1.15.6~)
 Depends: libqt5qml5 (= ${binary:Version}),
@@ -239,3 +239,26 @@
  is its rich set of widgets that provide standard GUI functionality.
  .
  This package contains the debugging symbols for the Qt 5 declarative libraries.
+
+Package: qtdeclarative5-doc
+Priority: extra
+Architecture: all
+Section: doc
+Depends: ${misc:Depends}
+Description: Qt 5 declarative documentation
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the documentation for the Qt 5 declarative libraries.
+
+Package: qtdeclarative5-doc-html
+Priority: extra
+Architecture: all
+Section: doc
+Depends: ${misc:Depends}
+Description: Qt 5 declarative HTML documentation
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the HTML documentation for the Qt 5 declarative
+ libraries.

=== modified file 'debian/copyright'
--- debian/copyright	2013-04-29 16:27:13 +0000
+++ debian/copyright	2013-07-08 09:40:35 +0000
@@ -17,8 +17,48 @@
            2012-2013 Timo Jyrinki <timo.jyrinki@canonical.com>
 License: LGPL-2.1
 
-Files: examples/* src/qml/doc/snippets/* src/quick/doc/snippets/* tests/auto/qmltest/listview/tst_listview.qml tests/auto/qmltest/listview/tst_listview.qml tests/auto/qmltest/image/tst_image.qml tests/auto/qmltest/image/tst_image.qml tests/auto/qmltest/text/tst_text.qml tests/auto/qmltest/text/tst_text.qml tests/auto/qmltest/animatedimage/tst_animatedimage.qml tests/auto/qmltest/animatedimage/tst_animatedimage.qml tests/auto/qmltest/gradient/tst_gradient.qml tests/auto/qmltest/gradient/tst_gradient.qml tests/auto/qmltest/textinput/tst_textinput.qml tests/auto/qmltest/textinput/tst_textinput.qml tests/auto/qmltest/rectangle/tst_rectangle.qml tests/auto/qmltest/rectangle/tst_rectangle.qml tests/auto/qmltest/textedit/tst_textedit.qml tests/auto/qmltest/textedit/tst_textedit.qml tests/auto/qmltest/listmodel/tst_listmodel.qml tests/auto/qmltest/listmodel/tst_listmodel.qml tests/auto/qmltest/fontloader/tst_fontloader.qml tests/auto/qmltest/fontloader/tst_fontloader.qml tests/benchmarks/qml/holistic/data/
-largeTargets/gridview-example.qml tests/benchmarks/qml/holistic/data/largeTargets/gridview-example.qml tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml tests/testapplications/listview/sections.qml tests/testapplications/listview/sections.qml tests/testapplications/listview/onRemove.qml tests/testapplications/listview/onRemove.qml tests/testapplications/listview/alteredViews.qml tests/testapplications/listview/alteredViews.qml tests/testapplications/listview/viewTransitions.qml tests/testapplications/listview/viewTransitions.qml tests/testapplications/animatedsprite/animatedsprite.qml tests/testapplications/animatedsprite/animatedsprite.qml tests/testapplications/animatedsprite/animatedspriteadvance.qml tests/testapplications/animatedsprite/animatedspriteadvance.qml
+Files: examples/*
+ src/qml/doc/snippets/*
+ src/quick/doc/snippets/*
+ tests/auto/qmltest/listview/tst_listview.qml
+ tests/auto/qmltest/listview/tst_listview.qml
+ tests/auto/qmltest/image/tst_image.qml
+ tests/auto/qmltest/image/tst_image.qml
+ tests/auto/qmltest/text/tst_text.qml
+ tests/auto/qmltest/text/tst_text.qml
+ tests/auto/qmltest/animatedimage/tst_animatedimage.qml
+ tests/auto/qmltest/animatedimage/tst_animatedimage.qml
+ tests/auto/qmltest/gradient/tst_gradient.qml
+ tests/auto/qmltest/gradient/tst_gradient.qml
+ tests/auto/qmltest/textinput/tst_textinput.qml
+ tests/auto/qmltest/textinput/tst_textinput.qml
+ tests/auto/qmltest/rectangle/tst_rectangle.qml
+ tests/auto/qmltest/rectangle/tst_rectangle.qml
+ tests/auto/qmltest/textedit/tst_textedit.qml
+ tests/auto/qmltest/textedit/tst_textedit.qml
+ tests/auto/qmltest/listmodel/tst_listmodel.qml
+ tests/auto/qmltest/listmodel/tst_listmodel.qml
+ tests/auto/qmltest/fontloader/tst_fontloader.qml
+ tests/auto/qmltest/fontloader/tst_fontloader.qml
+ tests/benchmarks/qml/holistic/data/
+ largeTargets/gridview-example.qml
+ tests/benchmarks/qml/holistic/data/largeTargets/gridview-example.qml
+ tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml
+ tests/benchmarks/qml/holistic/data/largeTargets/mousearea-example.qml
+ tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml
+ tests/benchmarks/qml/holistic/data/largeTargets/layoutdirection.qml
+ tests/testapplications/listview/sections.qml
+ tests/testapplications/listview/sections.qml
+ tests/testapplications/listview/onRemove.qml
+ tests/testapplications/listview/onRemove.qml
+ tests/testapplications/listview/alteredViews.qml
+ tests/testapplications/listview/alteredViews.qml
+ tests/testapplications/listview/viewTransitions.qml
+ tests/testapplications/listview/viewTransitions.qml
+ tests/testapplications/animatedsprite/animatedsprite.qml
+ tests/testapplications/animatedsprite/animatedsprite.qml
+ tests/testapplications/animatedsprite/animatedspriteadvance.qml
+ tests/testapplications/animatedsprite/animatedspriteadvance.qml
 Copyright: 2012 Digia Plc and/or its subsidiary(-ies)
 License: BSD-3-clause
 

=== added file 'debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch'
--- debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch	1970-01-01 00:00:00 +0000
+++ debian/patches/0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch	2013-07-08 09:40:35 +0000
@@ -0,0 +1,112 @@
+From 0b190b7114c816689eeb8478ea5151732bc7a5de Mon Sep 17 00:00:00 2001
+From: Yoann Lopes <yoann.lopes@digia.com>
+Date: Thu, 21 Mar 2013 16:34:38 +0100
+Subject: [PATCH] Fixed distance field text when using non-opaque colors.
+
+The alpha has to be premultiplied before passing the color to the
+shader.
+
+Change-Id: If22f0e0892eb4330d5f7398bea2710fce18c4dcb
+Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
+---
+ .../scenegraph/qsgdistancefieldglyphnode_p.cpp     |   24 ++++++++++++++++---
+ .../scenegraph/qsgdistancefieldglyphnode_p_p.h     |    6 +++-
+ 2 files changed, 24 insertions(+), 6 deletions(-)
+
+diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
+index 45fc0f5..86c3356 100644
+--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
++++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
+@@ -144,8 +144,8 @@ void QSGDistanceFieldTextMaterialShader::updateState(const RenderState &state, Q
+     if (oldMaterial == 0
+            || material->color() != oldMaterial->color()
+            || state.isOpacityDirty()) {
+-        QVector4D color(material->color().redF(), material->color().greenF(),
+-                        material->color().blueF(), material->color().alphaF());
++        QColor c = material->color();
++        QVector4D color(c.redF(), c.greenF(), c.blueF(), c.alphaF());
+         color *= state.opacity();
+         program()->setUniformValue(m_color_id, color);
+     }
+@@ -204,6 +204,14 @@ QSGMaterialType *QSGDistanceFieldTextMaterial::type() const
+     return &type;
+ }
+ 
++void QSGDistanceFieldTextMaterial::setColor(const QColor &color)
++{
++    m_color = QColor::fromRgbF(color.redF() * color.alphaF(),
++                               color.greenF() * color.alphaF(),
++                               color.blueF() * color.alphaF(),
++                               color.alphaF());
++}
++
+ QSGMaterialShader *QSGDistanceFieldTextMaterial::createShader() const
+ {
+     return new QSGDistanceFieldTextMaterialShader;
+@@ -276,8 +284,8 @@ void DistanceFieldStyledTextMaterialShader::updateState(const RenderState &state
+     if (oldMaterial == 0
+            || material->styleColor() != oldMaterial->styleColor()
+            || (state.isOpacityDirty())) {
+-        QVector4D color(material->styleColor().redF(), material->styleColor().greenF(),
+-                        material->styleColor().blueF(), material->styleColor().alphaF());
++        QColor c = material->styleColor();
++        QVector4D color(c.redF(), c.greenF(), c.blueF(), c.alphaF());
+         color *= state.opacity();
+         program()->setUniformValue(m_styleColor_id, color);
+     }
+@@ -292,6 +300,14 @@ QSGDistanceFieldStyledTextMaterial::~QSGDistanceFieldStyledTextMaterial()
+ {
+ }
+ 
++void QSGDistanceFieldStyledTextMaterial::setStyleColor(const QColor &color)
++{
++    m_styleColor = QColor::fromRgbF(color.redF() * color.alphaF(),
++                                    color.greenF() * color.alphaF(),
++                                    color.blueF() * color.alphaF(),
++                                    color.alphaF());
++}
++
+ int QSGDistanceFieldStyledTextMaterial::compare(const QSGMaterial *o) const
+ {
+     Q_ASSERT(o && type() == o->type());
+diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h b/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
+index d6aa38a..7fea8f6 100644
+--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
++++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
+@@ -58,7 +58,7 @@ public:
+     virtual QSGMaterialShader *createShader() const;
+     virtual int compare(const QSGMaterial *other) const;
+ 
+-    void setColor(const QColor &color) { m_color = color; }
++    virtual void setColor(const QColor &color);
+     const QColor &color() const { return m_color; }
+ 
+     void setGlyphCache(QSGDistanceFieldGlyphCache *a) { m_glyph_cache = a; }
+@@ -92,7 +92,7 @@ public:
+     virtual QSGMaterialShader *createShader() const = 0;
+     virtual int compare(const QSGMaterial *other) const;
+ 
+-    void setStyleColor(const QColor &color) { m_styleColor = color; }
++    void setStyleColor(const QColor &color);
+     const QColor &styleColor() const { return m_styleColor; }
+ 
+ protected:
+@@ -130,6 +130,7 @@ class Q_QUICK_PRIVATE_EXPORT QSGHiQSubPixelDistanceFieldTextMaterial : public QS
+ public:
+     virtual QSGMaterialType *type() const;
+     virtual QSGMaterialShader *createShader() const;
++    void setColor(const QColor &color) { m_color = color; }
+ };
+ 
+ class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QSGDistanceFieldTextMaterial
+@@ -137,6 +138,7 @@ class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QS
+ public:
+     virtual QSGMaterialType *type() const;
+     virtual QSGMaterialShader *createShader() const;
++    void setColor(const QColor &color) { m_color = color; }
+ };
+ 
+ QT_END_NAMESPACE
+-- 
+1.7.1
+

=== added file 'debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch'
--- debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch	1970-01-01 00:00:00 +0000
+++ debian/patches/81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch	2013-07-08 09:40:35 +0000
@@ -0,0 +1,169 @@
+From 81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db Mon Sep 17 00:00:00 2001
+From: Gunnar Sletta <gunnar.sletta@digia.com>
+Date: Sat, 18 May 2013 08:24:45 +0200
+Subject: [PATCH] Avoid using QColor::xxxF functions.
+
+In our usecase, the color is always used as a float so using QColor
+(which is ushort) internally adds a lot of pointless conversion.
+Enough so that it shows up in profiles as 1-2% each. Not a lot,
+but easy to fix.
+
+The compare function is also somewhat simplified. For colors we're
+primarily searching for equallity. If that fails, we just need to
+provide consistent values, so use the address instead of doing
+any fancy calculation.
+
+Change-Id: Icae7e78ed767e802c137bab7fcacff66e9a4bc66
+Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
+---
+ .../scenegraph/qsgdistancefieldglyphnode_p.cpp     |   39 ++++++++------------
+ .../scenegraph/qsgdistancefieldglyphnode_p_p.h     |   12 +++---
+ 2 files changed, 22 insertions(+), 29 deletions(-)
+
+diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
+index 86c3356..bdbce61 100644
+--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
++++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp
+@@ -144,8 +144,7 @@ void QSGDistanceFieldTextMaterialShader::updateState(const RenderState &state, Q
+     if (oldMaterial == 0
+            || material->color() != oldMaterial->color()
+            || state.isOpacityDirty()) {
+-        QColor c = material->color();
+-        QVector4D color(c.redF(), c.greenF(), c.blueF(), c.alphaF());
++        QVector4D color = material->color();
+         color *= state.opacity();
+         program()->setUniformValue(m_color_id, color);
+     }
+@@ -206,10 +205,10 @@ QSGMaterialType *QSGDistanceFieldTextMaterial::type() const
+ 
+ void QSGDistanceFieldTextMaterial::setColor(const QColor &color)
+ {
+-    m_color = QColor::fromRgbF(color.redF() * color.alphaF(),
+-                               color.greenF() * color.alphaF(),
+-                               color.blueF() * color.alphaF(),
+-                               color.alphaF());
++    m_color = QVector4D(color.redF() * color.alphaF(),
++                        color.greenF() * color.alphaF(),
++                        color.blueF() * color.alphaF(),
++                        color.alphaF());
+ }
+ 
+ QSGMaterialShader *QSGDistanceFieldTextMaterial::createShader() const
+@@ -239,10 +238,8 @@ int QSGDistanceFieldTextMaterial::compare(const QSGMaterial *o) const
+     if (m_fontScale != other->m_fontScale) {
+         return int(other->m_fontScale < m_fontScale) - int(m_fontScale < other->m_fontScale);
+     }
+-    QRgb c1 = m_color.rgba();
+-    QRgb c2 = other->m_color.rgba();
+-    if (c1 != c2)
+-        return int(c2 < c1) - int(c1 < c2);
++    if (m_color != other->m_color)
++        return &m_color < &other->m_color ? -1 : 1;
+     int t0 = m_texture ? m_texture->textureId : -1;
+     int t1 = other->m_texture ? other->m_texture->textureId : -1;
+     return t0 - t1;
+@@ -284,8 +281,7 @@ void DistanceFieldStyledTextMaterialShader::updateState(const RenderState &state
+     if (oldMaterial == 0
+            || material->styleColor() != oldMaterial->styleColor()
+            || (state.isOpacityDirty())) {
+-        QColor c = material->styleColor();
+-        QVector4D color(c.redF(), c.greenF(), c.blueF(), c.alphaF());
++        QVector4D color = material->styleColor();
+         color *= state.opacity();
+         program()->setUniformValue(m_styleColor_id, color);
+     }
+@@ -302,21 +298,18 @@ QSGDistanceFieldStyledTextMaterial::~QSGDistanceFieldStyledTextMaterial()
+ 
+ void QSGDistanceFieldStyledTextMaterial::setStyleColor(const QColor &color)
+ {
+-    m_styleColor = QColor::fromRgbF(color.redF() * color.alphaF(),
+-                                    color.greenF() * color.alphaF(),
+-                                    color.blueF() * color.alphaF(),
+-                                    color.alphaF());
++    m_styleColor = QVector4D(color.redF() * color.alphaF(),
++                             color.greenF() * color.alphaF(),
++                             color.blueF() * color.alphaF(),
++                             color.alphaF());
+ }
+ 
+ int QSGDistanceFieldStyledTextMaterial::compare(const QSGMaterial *o) const
+ {
+     Q_ASSERT(o && type() == o->type());
+     const QSGDistanceFieldStyledTextMaterial *other = static_cast<const QSGDistanceFieldStyledTextMaterial *>(o);
+-    if (m_styleColor != other->m_styleColor) {
+-        QRgb c1 = m_styleColor.rgba();
+-        QRgb c2 = other->m_styleColor.rgba();
+-        return int(c2 < c1) - int(c1 < c2);
+-    }
++    if (m_styleColor != other->m_color)
++        return &m_styleColor < &other->m_styleColor ? -1 : 1;
+     return QSGDistanceFieldTextMaterial::compare(o);
+ }
+ 
+@@ -657,8 +650,8 @@ void QSGHiQSubPixelDistanceFieldTextMaterialShader::updateState(const RenderStat
+     QSGDistanceFieldTextMaterial *oldMaterial = static_cast<QSGDistanceFieldTextMaterial *>(oldEffect);
+ 
+     if (oldMaterial == 0 || material->color() != oldMaterial->color()) {
+-        QColor c = material->color();
+-        state.context()->functions()->glBlendColor(c.redF(), c.greenF(), c.blueF(), 1.0f);
++        QVector4D c = material->color();
++        state.context()->functions()->glBlendColor(c.x(), c.y(), c.z(), 1.0f);
+     }
+ 
+     if (oldMaterial == 0 || material->fontScale() != oldMaterial->fontScale())
+diff --git a/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h b/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
+index 7fea8f6..54d4146 100644
+--- a/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
++++ b/src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h
+@@ -59,7 +59,7 @@ public:
+     virtual int compare(const QSGMaterial *other) const;
+ 
+     virtual void setColor(const QColor &color);
+-    const QColor &color() const { return m_color; }
++    const QVector4D &color() const { return m_color; }
+ 
+     void setGlyphCache(QSGDistanceFieldGlyphCache *a) { m_glyph_cache = a; }
+     QSGDistanceFieldGlyphCache *glyphCache() const { return m_glyph_cache; }
+@@ -76,7 +76,7 @@ public:
+ 
+ protected:
+     QSize m_size;
+-    QColor m_color;
++    QVector4D m_color;
+     QSGDistanceFieldGlyphCache *m_glyph_cache;
+     const QSGDistanceFieldGlyphCache::Texture *m_texture;
+     qreal m_fontScale;
+@@ -93,10 +93,10 @@ public:
+     virtual int compare(const QSGMaterial *other) const;
+ 
+     void setStyleColor(const QColor &color);
+-    const QColor &styleColor() const { return m_styleColor; }
++    const QVector4D &styleColor() const { return m_styleColor; }
+ 
+ protected:
+-    QColor m_styleColor;
++    QVector4D m_styleColor;
+ };
+ 
+ class Q_QUICK_PRIVATE_EXPORT QSGDistanceFieldOutlineTextMaterial : public QSGDistanceFieldStyledTextMaterial
+@@ -130,7 +130,7 @@ class Q_QUICK_PRIVATE_EXPORT QSGHiQSubPixelDistanceFieldTextMaterial : public QS
+ public:
+     virtual QSGMaterialType *type() const;
+     virtual QSGMaterialShader *createShader() const;
+-    void setColor(const QColor &color) { m_color = color; }
++    void setColor(const QColor &color) { m_color = QVector4D(color.redF(), color.greenF(), color.blueF(), color.alphaF()); }
+ };
+ 
+ class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QSGDistanceFieldTextMaterial
+@@ -138,7 +138,7 @@ class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QS
+ public:
+     virtual QSGMaterialType *type() const;
+     virtual QSGMaterialShader *createShader() const;
+-    void setColor(const QColor &color) { m_color = color; }
++    void setColor(const QColor &color) { m_color = QVector4D(color.redF(), color.greenF(), color.blueF(), color.alphaF()); }
+ };
+ 
+ QT_END_NAMESPACE
+-- 
+1.7.1
+

=== modified file 'debian/patches/series'
--- debian/patches/series	2013-06-20 15:24:17 +0000
+++ debian/patches/series	2013-07-08 09:40:35 +0000
@@ -5,6 +5,8 @@
 04_9d6cd72353e4862592c016951810abf9a7ab8079_backport.patch
 8a3d48915c29484c9ffb2fb8f0e3b569a9fe9b44_backport.patch
 0001-Fallback-to-QMetaObject-for-properties-not-in-QQmlPr.patch
+0b190b7114c816689eeb8478ea5151732bc7a5de_backport.patch
+81a9dd71b9ce60ab4cae629b67d6f26ebdeb19db_backport.patch
 
 # ubuntu
 rendering_performance_fix_lp1092358.patch

=== added file 'debian/qtdeclarative5-doc-html.install'
--- debian/qtdeclarative5-doc-html.install	1970-01-01 00:00:00 +0000
+++ debian/qtdeclarative5-doc-html.install	2013-07-08 09:40:35 +0000
@@ -0,0 +1,2 @@
+usr/share/qt5/doc/qtqml/
+usr/share/qt5/doc/qtquick/

=== added file 'debian/qtdeclarative5-doc.install'
--- debian/qtdeclarative5-doc.install	1970-01-01 00:00:00 +0000
+++ debian/qtdeclarative5-doc.install	2013-07-08 09:40:35 +0000
@@ -0,0 +1,2 @@
+usr/share/qt5/doc/qtquick.qch
+usr/share/qt5/doc/qtqml.qch

=== modified file 'debian/rules'
--- debian/rules	2013-04-29 16:27:13 +0000
+++ debian/rules	2013-07-08 09:40:35 +0000
@@ -14,25 +14,31 @@
 override_dh_auto_configure:
 	qmake
 
-override_dh_auto_install:
+override_dh_auto_build-indep:
+	dh_auto_build -Smakefile -- docs
+
+override_dh_auto_install-arch:
 	dh_auto_install
 
 	# Fix wrong path in pkgconfig files
-	find $(CURDIR)/debian/tmp/usr/lib/*/pkgconfig -type f -name '*.pc' \
+	find $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig -type f -name '*.pc' \
 	-exec sed -i -e 's/$(DEB_HOST_MULTIARCH)\/$(DEB_HOST_MULTIARCH)/$(DEB_HOST_MULTIARCH)/g' {} \;
 
+	# Remove libtool-like files
+	rm -f debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.la
+
 	# Fix wrong permissions in examples.
-	find $(CURDIR)/debian/tmp/usr/lib/*/qt5/examples/ -type f \( \
+	find $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qt5/examples/ -type f \( \
 	-name '*.png' \
 	-o -name '*.php' \
 	-o -name '*.xsl' \
 	-o -name '*.xml' \
 	-o -name '*.js' \
 	-o -name '*.jpg' \
-	\) -print0 | xargs -0 chmod 644
+	\) -print0 | xargs -0 chmod a-x
 
-	# Remove libtool-like files
-	rm -f debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.la
+override_dh_auto_install-indep:
+	make INSTALL_ROOT=$(CURDIR)/debian/tmp install_docs
 
 override_dh_install:
 	dh_install --fail-missing

=== modified file 'src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp'
--- src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp	2013-04-29 16:27:13 +0000
+++ src/quick/scenegraph/qsgdistancefieldglyphnode_p.cpp	2013-07-08 09:40:35 +0000
@@ -143,8 +143,7 @@
     if (oldMaterial == 0
            || material->color() != oldMaterial->color()
            || state.isOpacityDirty()) {
-        QVector4D color(material->color().redF(), material->color().greenF(),
-                        material->color().blueF(), material->color().alphaF());
+        QVector4D color = material->color();
         color *= state.opacity();
         program()->setUniformValue(m_color_id, color);
     }
@@ -203,6 +202,14 @@
     return &type;
 }
 
+void QSGDistanceFieldTextMaterial::setColor(const QColor &color)
+{
+    m_color = QVector4D(color.redF() * color.alphaF(),
+                        color.greenF() * color.alphaF(),
+                        color.blueF() * color.alphaF(),
+                        color.alphaF());
+}
+
 QSGMaterialShader *QSGDistanceFieldTextMaterial::createShader() const
 {
     return new QSGDistanceFieldTextMaterialShader;
@@ -230,10 +237,8 @@
     if (m_fontScale != other->m_fontScale) {
         return int(other->m_fontScale < m_fontScale) - int(m_fontScale < other->m_fontScale);
     }
-    QRgb c1 = m_color.rgba();
-    QRgb c2 = other->m_color.rgba();
-    if (c1 != c2)
-        return int(c2 < c1) - int(c1 < c2);
+    if (m_color != other->m_color)
+        return &m_color < &other->m_color ? -1 : 1;
     int t0 = m_texture ? m_texture->textureId : -1;
     int t1 = other->m_texture ? other->m_texture->textureId : -1;
     return t0 - t1;
@@ -275,8 +280,7 @@
     if (oldMaterial == 0
            || material->styleColor() != oldMaterial->styleColor()
            || (state.isOpacityDirty())) {
-        QVector4D color(material->styleColor().redF(), material->styleColor().greenF(),
-                        material->styleColor().blueF(), material->styleColor().alphaF());
+        QVector4D color = material->styleColor();
         color *= state.opacity();
         program()->setUniformValue(m_styleColor_id, color);
     }
@@ -291,15 +295,20 @@
 {
 }
 
+void QSGDistanceFieldStyledTextMaterial::setStyleColor(const QColor &color)
+{
+    m_styleColor = QVector4D(color.redF() * color.alphaF(),
+                             color.greenF() * color.alphaF(),
+                             color.blueF() * color.alphaF(),
+                             color.alphaF());
+}
+
 int QSGDistanceFieldStyledTextMaterial::compare(const QSGMaterial *o) const
 {
     Q_ASSERT(o && type() == o->type());
     const QSGDistanceFieldStyledTextMaterial *other = static_cast<const QSGDistanceFieldStyledTextMaterial *>(o);
-    if (m_styleColor != other->m_styleColor) {
-        QRgb c1 = m_styleColor.rgba();
-        QRgb c2 = other->m_styleColor.rgba();
-        return int(c2 < c1) - int(c1 < c2);
-    }
+    if (m_styleColor != other->m_color)
+        return &m_styleColor < &other->m_styleColor ? -1 : 1;
     return QSGDistanceFieldTextMaterial::compare(o);
 }
 
@@ -634,8 +643,8 @@
     QSGDistanceFieldTextMaterial *oldMaterial = static_cast<QSGDistanceFieldTextMaterial *>(oldEffect);
 
     if (oldMaterial == 0 || material->color() != oldMaterial->color()) {
-        QColor c = material->color();
-        state.context()->functions()->glBlendColor(c.redF(), c.greenF(), c.blueF(), 1.0f);
+        QVector4D c = material->color();
+        state.context()->functions()->glBlendColor(c.x(), c.y(), c.z(), 1.0f);
     }
 
     if (oldMaterial == 0 || material->fontScale() != oldMaterial->fontScale())

=== modified file 'src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h'
--- src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h	2013-04-29 16:27:13 +0000
+++ src/quick/scenegraph/qsgdistancefieldglyphnode_p_p.h	2013-07-08 09:40:35 +0000
@@ -58,8 +58,8 @@
     virtual QSGMaterialShader *createShader() const;
     virtual int compare(const QSGMaterial *other) const;
 
-    void setColor(const QColor &color) { m_color = color; }
-    const QColor &color() const { return m_color; }
+    virtual void setColor(const QColor &color);
+    const QVector4D &color() const { return m_color; }
 
     void setGlyphCache(QSGDistanceFieldGlyphCache *a) { m_glyph_cache = a; }
     QSGDistanceFieldGlyphCache *glyphCache() const { return m_glyph_cache; }
@@ -76,7 +76,7 @@
 
 protected:
     QSize m_size;
-    QColor m_color;
+    QVector4D m_color;
     QSGDistanceFieldGlyphCache *m_glyph_cache;
     const QSGDistanceFieldGlyphCache::Texture *m_texture;
     qreal m_fontScale;
@@ -92,11 +92,11 @@
     virtual QSGMaterialShader *createShader() const = 0;
     virtual int compare(const QSGMaterial *other) const;
 
-    void setStyleColor(const QColor &color) { m_styleColor = color; }
-    const QColor &styleColor() const { return m_styleColor; }
+    void setStyleColor(const QColor &color);
+    const QVector4D &styleColor() const { return m_styleColor; }
 
 protected:
-    QColor m_styleColor;
+    QVector4D m_styleColor;
 };
 
 class Q_QUICK_PRIVATE_EXPORT QSGDistanceFieldOutlineTextMaterial : public QSGDistanceFieldStyledTextMaterial
@@ -130,6 +130,7 @@
 public:
     virtual QSGMaterialType *type() const;
     virtual QSGMaterialShader *createShader() const;
+    void setColor(const QColor &color) { m_color = QVector4D(color.redF(), color.greenF(), color.blueF(), color.alphaF()); }
 };
 
 class Q_QUICK_PRIVATE_EXPORT QSGLoQSubPixelDistanceFieldTextMaterial : public QSGDistanceFieldTextMaterial
@@ -137,6 +138,7 @@
 public:
     virtual QSGMaterialType *type() const;
     virtual QSGMaterialShader *createShader() const;
+    void setColor(const QColor &color) { m_color = QVector4D(color.redF(), color.greenF(), color.blueF(), color.alphaF()); }
 };
 
 QT_END_NAMESPACE

