diff --git a/share/qtcreator/qml-type-descriptions/qml-builtin-types.xml b/share/qtcreator/qml-type-descriptions/qml-builtin-types.xml
index d711e5dbdd2ce67710d27f4b2b3c08732b261289..586ca0bbfdd0f90d355a068f51f491707ec0942c 100644
--- a/share/qtcreator/qml-type-descriptions/qml-builtin-types.xml
+++ b/share/qtcreator/qml-type-descriptions/qml-builtin-types.xml
@@ -1449,6 +1449,13 @@
             <enumerator name="MinimumDescent" value="3"/>
             <enumerator name="NSizeHints" value="4"/>
         </enum>
+        <enum name="GestureState">
+            <enumerator name="NoGesture" value="0"/>
+            <enumerator name="GestureStarted" value="1"/>
+            <enumerator name="GestureUpdated" value="2"/>
+            <enumerator name="GestureFinished" value="3"/>
+            <enumerator name="GestureCanceled" value="4"/>
+        </enum>
     </type>
     <type name="Qt.AnchorAnimation" version="4.7" extends="Qt.Animation">
         <property name="targets" type="Qt.Item" isList="true"/>
@@ -1579,6 +1586,7 @@
         <property name="minimumY" type="qreal"/>
         <property name="maximumY" type="qreal"/>
         <property name="active" type="bool"/>
+        <property name="filterChildren" type="bool"/>
         <signal name="targetChanged"/>
         <signal name="axisChanged"/>
         <signal name="minimumXChanged"/>
@@ -1586,6 +1594,7 @@
         <signal name="minimumYChanged"/>
         <signal name="maximumYChanged"/>
         <signal name="activeChanged"/>
+        <signal name="filterChildrenChanged"/>
     </type>
     <type name="Qt.Easing" version="4.7" extends="QDeclarativeValueType">
         <enum name="Type">
@@ -1656,6 +1665,7 @@
         <property name="contentHeight" type="qreal"/>
         <property name="contentX" type="qreal"/>
         <property name="contentY" type="qreal"/>
+        <property name="contentItem" type="Qt.Item"/>
         <property name="horizontalVelocity" type="qreal"/>
         <property name="verticalVelocity" type="qreal"/>
         <property name="boundsBehavior" type="BoundsBehavior"/>
@@ -1667,7 +1677,6 @@
         <property name="flicking" type="bool"/>
         <property name="flickingHorizontally" type="bool"/>
         <property name="flickingVertically" type="bool"/>
-        <property name="flickDirection" type="FlickableDirection"/>
         <property name="flickableDirection" type="FlickableDirection"/>
         <property name="interactive" type="bool"/>
         <property name="pressDelay" type="int"/>
@@ -1869,11 +1878,9 @@
             <enumerator name="TileVertically" value="4"/>
             <enumerator name="TileHorizontally" value="5"/>
         </enum>
-        <property name="pixmap" type="QPixmap"/>
         <property name="fillMode" type="FillMode"/>
         <property name="paintedWidth" type="qreal"/>
         <property name="paintedHeight" type="qreal"/>
-        <signal name="pixmapChanged"/>
         <signal name="fillModeChanged"/>
         <signal name="paintedGeometryChanged"/>
     </type>
@@ -1911,11 +1918,11 @@
         <property name="baselineOffset" type="qreal"/>
         <property name="clip" type="bool"/>
         <property name="focus" type="bool"/>
-        <property name="wantsFocus" type="bool"/>
+        <property name="activeFocus" type="bool"/>
         <property name="transform" type="QGraphicsTransform" isList="true"/>
         <property name="transformOrigin" type="TransformOrigin"/>
+        <property name="transformOriginPoint" type="QPointF"/>
         <property name="smooth" type="bool"/>
-        <signal name="childrenChanged"/>
         <signal name="childrenRectChanged">
             <param type="QRectF"/>
         </signal>
@@ -1928,7 +1935,7 @@
         <signal name="focusChanged">
             <param type="bool"/>
         </signal>
-        <signal name="wantsFocusChanged">
+        <signal name="activeFocusChanged">
             <param type="bool"/>
         </signal>
         <signal name="parentChanged">
@@ -1953,7 +1960,7 @@
             <param name="x" type="qreal"/>
             <param name="y" type="qreal"/>
         </method>
-        <method name="forceFocus"/>
+        <method name="forceActiveFocus"/>
         <method name="childAt" type="QDeclarativeItem*">
             <param name="x" type="qreal"/>
             <param name="y" type="qreal"/>
@@ -2522,36 +2529,19 @@
         <signal name="reversingModeChanged"/>
         <signal name="maximumEasingTimeChanged"/>
     </type>
-    <type name="Qt.SmoothedFollow" version="4.7" extends="Qt.QtObject">
-        <enum name="ReversingMode">
-            <enumerator name="Eased" value="0"/>
-            <enumerator name="Immediate" value="1"/>
-            <enumerator name="Sync" value="2"/>
-        </enum>
-        <property name="to" type="qreal"/>
-        <property name="velocity" type="qreal"/>
-        <property name="duration" type="int"/>
-        <property name="reversingMode" type="ReversingMode"/>
-        <property name="maximumEasingTime" type="qreal"/>
-        <property name="enabled" type="bool"/>
-        <signal name="velocityChanged"/>
-        <signal name="durationChanged"/>
-        <signal name="reversingModeChanged"/>
-        <signal name="maximumEasingTimeChanged"/>
-        <signal name="enabledChanged"/>
-    </type>
-    <type name="Qt.SpringFollow" version="4.7" extends="Qt.QtObject">
+    <type name="Qt.SpringAnimation" version="4.7" extends="Qt.Animation">
         <property name="to" type="qreal"/>
+        <property name="from" type="qreal"/>
         <property name="velocity" type="qreal"/>
         <property name="spring" type="qreal"/>
         <property name="damping" type="qreal"/>
         <property name="epsilon" type="qreal"/>
-        <property name="enabled" type="bool"/>
-        <property name="value" type="qreal"/>
         <property name="modulus" type="qreal"/>
         <property name="mass" type="qreal"/>
-        <property name="inSync" type="bool"/>
-        <signal name="valueChanged">
+        <signal name="toChanged">
+            <param type="qreal"/>
+        </signal>
+        <signal name="fromChanged">
             <param type="qreal"/>
         </signal>
         <signal name="modulusChanged"/>
@@ -2723,7 +2713,7 @@
         <property name="selectionStart" type="int"/>
         <property name="selectionEnd" type="int"/>
         <property name="selectedText" type="string"/>
-        <property name="focusOnPress" type="bool"/>
+        <property name="activeFocusOnPress" type="bool"/>
         <property name="persistentSelection" type="bool"/>
         <property name="textMargin" type="qreal"/>
         <property name="inputMethodHints" type="Qt.InputMethodHints"/>
@@ -2766,8 +2756,8 @@
             <param name="isCursorVisible" type="bool"/>
         </signal>
         <signal name="cursorDelegateChanged"/>
-        <signal name="focusOnPressChanged">
-            <param name="focusIsPressed" type="bool"/>
+        <signal name="activeFocusOnPressChanged">
+            <param name="activeFocusOnPressed" type="bool"/>
         </signal>
         <signal name="persistentSelectionChanged">
             <param name="isPersistentSelection" type="bool"/>
@@ -2832,7 +2822,7 @@
         <property name="inputMethodHints" type="Qt.InputMethodHints"/>
         <property name="acceptableInput" type="bool"/>
         <property name="echoMode" type="EchoMode"/>
-        <property name="focusOnPress" type="bool"/>
+        <property name="activeFocusOnPress" type="bool"/>
         <property name="passwordCharacter" type="string"/>
         <property name="displayText" type="string"/>
         <property name="autoScroll" type="bool"/>
@@ -2877,11 +2867,9 @@
             <param name="echoMode" type="EchoMode"/>
         </signal>
         <signal name="passwordCharacterChanged"/>
-        <signal name="displayTextChanged">
-            <param name="text" type="string"/>
-        </signal>
-        <signal name="focusOnPressChanged">
-            <param name="focusOnPress" type="bool"/>
+        <signal name="displayTextChanged"/>
+        <signal name="activeFocusOnPressChanged">
+            <param name="activeFocusOnPress" type="bool"/>
         </signal>
         <signal name="autoScrollChanged">
             <param name="autoScroll" type="bool"/>
@@ -2895,6 +2883,9 @@
             <param name="start" type="int"/>
             <param name="end" type="int"/>
         </method>
+        <method name="cut"/>
+        <method name="copy"/>
+        <method name="paste"/>
         <method name="positionAt" type="int">
             <param name="x" type="int"/>
         </method>
@@ -3046,8 +3037,62 @@
             <param name="index" type="int"/>
         </method>
     </type>
+    <type name="Qt.labs.gestures.Gesture" version="1.0" extends="Qt.QtObject">
+        <property name="state" type="Qt.GestureState"/>
+        <property name="gestureType" type="Qt.GestureType"/>
+        <property name="gestureCancelPolicy" type="QGesture.GestureCancelPolicy"/>
+        <property name="hotSpot" type="QPointF"/>
+        <property name="hasHotSpot" type="bool"/>
+    </type>
     <type name="Qt.labs.gestures.GestureArea" version="1.0" defaultProperty="data" extends="Qt.Item">
-        <property name="gesture" type="QGesture"/>
+        <property name="gesture" type="Qt.labs.gestures.Gesture"/>
+    </type>
+    <type name="Qt.labs.gestures.PanGesture" version="1.0" extends="Qt.labs.gestures.Gesture">
+        <property name="lastOffset" type="QPointF"/>
+        <property name="offset" type="QPointF"/>
+        <property name="delta" type="QPointF"/>
+        <property name="acceleration" type="qreal"/>
+    </type>
+    <type name="Qt.labs.gestures.PinchGesture" version="1.0" extends="Qt.labs.gestures.Gesture">
+        <enum name="ChangeFlag">
+            <enumerator name="ScaleFactorChanged" value="1"/>
+            <enumerator name="RotationAngleChanged" value="2"/>
+            <enumerator name="CenterPointChanged" value="4"/>
+        </enum>
+        <enum name="ChangeFlags">
+            <enumerator name="ScaleFactorChanged" value="1"/>
+            <enumerator name="RotationAngleChanged" value="2"/>
+            <enumerator name="CenterPointChanged" value="4"/>
+        </enum>
+        <property name="totalChangeFlags" type="ChangeFlags"/>
+        <property name="changeFlags" type="ChangeFlags"/>
+        <property name="totalScaleFactor" type="qreal"/>
+        <property name="lastScaleFactor" type="qreal"/>
+        <property name="scaleFactor" type="qreal"/>
+        <property name="totalRotationAngle" type="qreal"/>
+        <property name="lastRotationAngle" type="qreal"/>
+        <property name="rotationAngle" type="qreal"/>
+        <property name="startCenterPoint" type="QPointF"/>
+        <property name="lastCenterPoint" type="QPointF"/>
+        <property name="centerPoint" type="QPointF"/>
+    </type>
+    <type name="Qt.labs.gestures.SwipeGesture" version="1.0" extends="Qt.labs.gestures.Gesture">
+        <enum name="SwipeDirection">
+            <enumerator name="NoDirection" value="0"/>
+            <enumerator name="Left" value="1"/>
+            <enumerator name="Right" value="2"/>
+            <enumerator name="Up" value="3"/>
+            <enumerator name="Down" value="4"/>
+        </enum>
+        <property name="horizontalDirection" type="SwipeDirection"/>
+        <property name="verticalDirection" type="SwipeDirection"/>
+        <property name="swipeAngle" type="qreal"/>
+    </type>
+    <type name="Qt.labs.gestures.TapAndHoldGesture" version="1.0" extends="Qt.labs.gestures.Gesture">
+        <property name="position" type="QPointF"/>
+    </type>
+    <type name="Qt.labs.gestures.TapGesture" version="1.0" extends="Qt.labs.gestures.Gesture">
+        <property name="position" type="QPointF"/>
     </type>
     <type name="Qt.labs.particles.ParticleMotion" version="1.0" extends="Qt.QtObject"/>
     <type name="Qt.labs.particles.ParticleMotionGravity" version="1.0" extends="Qt.labs.particles.ParticleMotion">
@@ -3103,26 +3148,7 @@
             <param name="count" type="int"/>
         </method>
     </type>
-    <type name="__extended__.Qt.QGraphicsWidget" version="4.7" defaultProperty="children" extends="QGraphicsObject">
-        <property name="palette" type="QPalette"/>
-        <property name="font" type="QFont"/>
-        <property name="layoutDirection" type="Qt.LayoutDirection"/>
-        <property name="size" type="QSizeF"/>
-        <property name="minimumSize" type="QSizeF"/>
-        <property name="preferredSize" type="QSizeF"/>
-        <property name="maximumSize" type="QSizeF"/>
-        <property name="sizePolicy" type="QSizePolicy"/>
-        <property name="focusPolicy" type="Qt.FocusPolicy"/>
-        <property name="windowFlags" type="Qt.WindowFlags"/>
-        <property name="windowTitle" type="string"/>
-        <property name="geometry" type="QRectF"/>
-        <property name="autoFillBackground" type="bool"/>
-        <property name="layout" type="QGraphicsLayout"/>
-        <signal name="geometryChanged"/>
-        <signal name="layoutChanged"/>
-        <method name="close" type="bool"/>
-    </type>
-    <type name="org.webkit.WebView" version="1.0" defaultProperty="data" extends="Qt.Item">
+    <type name="QtWebKit.WebView" version="1.0" defaultProperty="data" extends="Qt.Item">
         <enum name="Status">
             <enumerator name="Null" value="0"/>
             <enumerator name="Ready" value="1"/>
@@ -3131,7 +3157,6 @@
         </enum>
         <property name="title" type="string"/>
         <property name="icon" type="QPixmap"/>
-        <property name="zoomFactor" type="qreal"/>
         <property name="statusText" type="string"/>
         <property name="html" type="string"/>
         <property name="pressGrabTime" type="int"/>
@@ -3165,7 +3190,6 @@
         <signal name="statusTextChanged"/>
         <signal name="htmlChanged"/>
         <signal name="pressGrabTimeChanged"/>
-        <signal name="zoomFactorChanged"/>
         <signal name="newWindowComponentChanged"/>
         <signal name="newWindowParentChanged"/>
         <signal name="renderingEnabledChanged"/>
@@ -3198,4 +3222,23 @@
         </method>
     </type>
     <type name="QEasingCurve" extends="Qt.Easing"/>
+    <type name="__extended__.Qt.QGraphicsWidget" version="4.7" defaultProperty="children" extends="QGraphicsObject">
+        <property name="palette" type="QPalette"/>
+        <property name="font" type="QFont"/>
+        <property name="layoutDirection" type="Qt.LayoutDirection"/>
+        <property name="size" type="QSizeF"/>
+        <property name="minimumSize" type="QSizeF"/>
+        <property name="preferredSize" type="QSizeF"/>
+        <property name="maximumSize" type="QSizeF"/>
+        <property name="sizePolicy" type="QSizePolicy"/>
+        <property name="focusPolicy" type="Qt.FocusPolicy"/>
+        <property name="windowFlags" type="Qt.WindowFlags"/>
+        <property name="windowTitle" type="string"/>
+        <property name="geometry" type="QRectF"/>
+        <property name="autoFillBackground" type="bool"/>
+        <property name="layout" type="QGraphicsLayout"/>
+        <signal name="geometryChanged"/>
+        <signal name="layoutChanged"/>
+        <method name="close" type="bool"/>
+    </type>
 </module>
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
index 0b1dfa2f8deb0ac5de8a4d5ad874c07482e2f8f4..cc4946fc9357aa5c6629675d227ddacf4cef40b0 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
@@ -199,10 +199,6 @@ bool MaemoPackageCreationStep::createPackage()
         rulesContents.replace("DESTDIR", "INSTALL_ROOT");
         rulesContents.replace("dh_shlibdeps", "# dh_shlibdeps");
 
-        // Would be the right solution, but does not work (on Windows),
-        // because dpkg-genchanges doesn't know about it (and can't be told).
-        // rulesContents.replace("dh_builddeb", "dh_builddeb --destdir=.");
-
         rulesFile.resize(0);
         rulesFile.write(rulesContents);
         if (rulesFile.error() != QFile::NoError) {
@@ -224,7 +220,7 @@ bool MaemoPackageCreationStep::createPackage()
         }
     }
 
-    if (!runCommand(QLatin1String("dpkg-buildpackage -nc -uc -us")))
+    if (!runCommand(QLatin1String("dh_installdirs")))
         return false;
 
     // Workaround for non-working dh_builddeb --destdir=.
@@ -248,6 +244,22 @@ bool MaemoPackageCreationStep::createPackage()
                 .arg(packageSourceDir, buildDir));
             return false;
         }
+
+        if (!QFile::copy(d.localFilePath, targetFile)) {
+            raiseError(tr("Packaging Error: Could not copy '%1' to '%2'.")
+                       .arg(QDir::toNativeSeparators(d.localFilePath))
+                       .arg(QDir::toNativeSeparators(targetFile)));
+            return false;
+        }
+    }
+
+    const QStringList commands = QStringList() << QLatin1String("dh_link")
+        << QLatin1String("dh_fixperms") << QLatin1String("dh_installdeb")
+        << QLatin1String("dh_gencontrol") << QLatin1String("dh_md5sums")
+        << QLatin1String("dh_builddeb --destdir=.");
+    foreach (const QString &command, commands) {
+        if (!runCommand(command))
+            return false;
     }
 
     emit addOutput(tr("Package created."), BuildStep::MessageOutput);