[arch-commits] Commit in qt5-declarative/repos (8 files)

Antonio Rojas arojas at archlinux.org
Wed Nov 1 18:40:17 UTC 2017


    Date: Wednesday, November 1, 2017 @ 18:40:17
  Author: arojas
Revision: 308815

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  qt5-declarative/repos/extra-i686/PKGBUILD
    (from rev 308814, qt5-declarative/trunk/PKGBUILD)
  qt5-declarative/repos/extra-i686/qtbug-64017.patch
    (from rev 308814, qt5-declarative/trunk/qtbug-64017.patch)
  qt5-declarative/repos/extra-x86_64/PKGBUILD
    (from rev 308814, qt5-declarative/trunk/PKGBUILD)
  qt5-declarative/repos/extra-x86_64/qtbug-64017.patch
    (from rev 308814, qt5-declarative/trunk/qtbug-64017.patch)
Deleted:
  qt5-declarative/repos/extra-i686/PKGBUILD
  qt5-declarative/repos/extra-i686/qtbug-61754.patch
  qt5-declarative/repos/extra-x86_64/PKGBUILD
  qt5-declarative/repos/extra-x86_64/qtbug-61754.patch

--------------------------------+
 /PKGBUILD                      |  112 +++++++++++++++++++++++++++++++++++++++
 extra-i686/PKGBUILD            |   52 ------------------
 extra-i686/qtbug-61754.patch   |   25 --------
 extra-i686/qtbug-64017.patch   |   69 ++++++++++++++++++++++++
 extra-x86_64/PKGBUILD          |   52 ------------------
 extra-x86_64/qtbug-61754.patch |   25 --------
 extra-x86_64/qtbug-64017.patch |   69 ++++++++++++++++++++++++
 7 files changed, 250 insertions(+), 154 deletions(-)

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2017-11-01 18:39:43 UTC (rev 308814)
+++ extra-i686/PKGBUILD	2017-11-01 18:40:17 UTC (rev 308815)
@@ -1,52 +0,0 @@
-# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-
-pkgname=qt5-declarative
-_qtver=5.9.2
-pkgver=${_qtver/-/}
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://qt-project.org/'
-license=('GPL3' 'LGPL3' 'FDL' 'custom')
-pkgdesc='Classes for QML and JavaScript languages'
-depends=('qt5-xmlpatterns')
-makedepends=('python2' 'cmake')
-groups=('qt' 'qt5')
-conflicts=('qtchooser' 'qt5-declarative-render2d')
-replaces=('qt5-declarative-render2d')
-_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
-source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
-sha256sums=('0d40fd4de9c73b9173d8308c0dc37952bf5c747d87ff221962dd2f848d820b08')
-
-prepare() {
-  mkdir -p build
-
-  # Use python2 for Python 2.x
-  find -name '*.pro' -o -name '*.pri' | xargs sed -i -e 's|python -c|python2 -c|g' -e 's|python \$|python2 \$|g'
-}
-
-build() {
-  cd build
-
-  export PYTHON=python2
-  qmake ../${_pkgfqn}
-  make
-}
-
-package() {
-  cd build
-  make INSTALL_ROOT="$pkgdir" install
-
-  # Symlinks for backwards compatibility
-  for b in "$pkgdir"/usr/bin/*; do
-    ln -s /usr/bin/$(basename $b) "$pkgdir"/usr/bin/$(basename $b)-qt5
-  done
-
-  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
-  find "$pkgdir/usr/lib" -type f -name '*.prl' \
-    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
-  install -d "$pkgdir"/usr/share/licenses
-  ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
-}

Copied: qt5-declarative/repos/extra-i686/PKGBUILD (from rev 308814, qt5-declarative/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2017-11-01 18:40:17 UTC (rev 308815)
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-declarative
+_qtver=5.9.2
+pkgver=${_qtver/-/}
+pkgrel=2
+arch=('i686' 'x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Classes for QML and JavaScript languages'
+depends=('qt5-xmlpatterns')
+makedepends=('python2' 'cmake')
+groups=('qt' 'qt5')
+conflicts=('qtchooser' 'qt5-declarative-render2d')
+replaces=('qt5-declarative-render2d')
+_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qtbug-64017.patch)
+sha256sums=('0d40fd4de9c73b9173d8308c0dc37952bf5c747d87ff221962dd2f848d820b08'
+            'fb2bfbef21f60943dc1c540c4d63bfc41465577b6438d6c552b993127f27d68f')
+
+prepare() {
+  mkdir -p build
+
+  # Use python2 for Python 2.x
+  find -name '*.pro' -o -name '*.pri' | xargs sed -i -e 's|python -c|python2 -c|g' -e 's|python \$|python2 \$|g'
+
+  cd ${_pkgfqn}
+  patch -p1 -i ../qtbug-64017.patch # Fix loading of QML applications https://bugreports.qt.io/browse/QTBUG-64017
+}
+
+build() {
+  cd build
+
+  export PYTHON=python2
+  qmake ../${_pkgfqn}
+  make
+}
+
+package() {
+  cd build
+  make INSTALL_ROOT="$pkgdir" install
+
+  # Symlinks for backwards compatibility
+  for b in "$pkgdir"/usr/bin/*; do
+    ln -s /usr/bin/$(basename $b) "$pkgdir"/usr/bin/$(basename $b)-qt5
+  done
+
+  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+  find "$pkgdir/usr/lib" -type f -name '*.prl' \
+    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+  install -d "$pkgdir"/usr/share/licenses
+  ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}

Deleted: extra-i686/qtbug-61754.patch
===================================================================
--- extra-i686/qtbug-61754.patch	2017-11-01 18:39:43 UTC (rev 308814)
+++ extra-i686/qtbug-61754.patch	2017-11-01 18:40:17 UTC (rev 308815)
@@ -1,25 +0,0 @@
-From 768f606cd3cd37c235e85225127201a42d272946 Mon Sep 17 00:00:00 2001
-From: Joni Poikelin <joni.poikelin at qt.io>
-Date: Thu, 17 Aug 2017 09:49:25 +0300
-Subject: [PATCH] Fix memory leaks with threaded renderer
-
-Reverts 39061af50cc3092289cdd71d17802139590ecb59 and calls endSync()
-instead after syncSceneGraph().
-
-Task-number: QTBUG-61754
-Change-Id: I7b51ffdc93557bacd93927dd642ec3715980b21c
-Reviewed-by: Laszlo Agocs <laszlo.agocs at qt.io>
-Reviewed-by: Roger Zanoni <rogerzanoni at gmail.com>
----
-diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
-index 3a8e673c0..d28a73da2 100644
---- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
-+++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
-@@ -553,6 +553,7 @@ void QSGRenderThread::sync(bool inExpose)
-         if (d->renderer)
-             d->renderer->clearChangedFlag();
-         d->syncSceneGraph();
-+        sgrc->endSync();
-         if (!hadRenderer && d->renderer) {
-             qCDebug(QSG_LOG_RENDERLOOP) << QSG_RT_PAD << "- renderer was created";
-             syncResultedInChanges = true;

Copied: qt5-declarative/repos/extra-i686/qtbug-64017.patch (from rev 308814, qt5-declarative/trunk/qtbug-64017.patch)
===================================================================
--- extra-i686/qtbug-64017.patch	                        (rev 0)
+++ extra-i686/qtbug-64017.patch	2017-11-01 18:40:17 UTC (rev 308815)
@@ -0,0 +1,69 @@
+From b96e3fa733379e58dd4225f535eb13df8bb83734 Mon Sep 17 00:00:00 2001
+From: Erik Verbruggen <erik.verbruggen at qt.io>
+Date: Wed, 1 Nov 2017 12:48:12 +0100
+Subject: [PATCH] Prevent the QML engine from registering circular dependencies
+
+Change-Id: Ic4fd2bde745e7dfaf0909e8cc575441bb04cefa3
+Task-number: QTBUG-64017
+---
+ src/qml/qml/qqmltypeloader.cpp | 10 +++++++++-
+ src/qml/qml/qqmltypeloader_p.h |  1 +
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
+index 193acb04be7..d9d7c193127 100644
+--- a/src/qml/qml/qqmltypeloader.cpp
++++ b/src/qml/qml/qqmltypeloader.cpp
+@@ -316,7 +316,8 @@ Returns true if the status is WaitingForDependencies.
+ */
+ bool QQmlDataBlob::isWaiting() const
+ {
+-    return status() == WaitingForDependencies;
++    return status() == WaitingForDependencies ||
++            status() == ResolvingDependencies;
+ }
+ 
+ /*!
+@@ -608,6 +609,7 @@ The default implementation does nothing.
+ */
+ void QQmlDataBlob::allDependenciesDone()
+ {
++    m_data.setStatus(QQmlDataBlob::ResolvingDependencies);
+ }
+ 
+ /*!
+@@ -2499,6 +2501,8 @@ void QQmlTypeData::continueLoadFromIR()
+ 
+ void QQmlTypeData::allDependenciesDone()
+ {
++    QQmlTypeLoader::Blob::allDependenciesDone();
++
+     if (!m_typesResolved) {
+         // Check that all imports were resolved
+         QList<QQmlError> errors;
+@@ -2618,6 +2622,10 @@ void QQmlTypeData::resolveTypes()
+ 
+         if (ref.type.isCompositeSingleton()) {
+             ref.typeData = typeLoader()->getType(ref.type.sourceUrl());
++            if (ref.typeData->status() == QQmlDataBlob::ResolvingDependencies) {
++                // TODO: give an error message? If so, we should record and show the path of the cycle.
++                continue;
++            }
+             addDependency(ref.typeData);
+             ref.prefix = csRef.prefix;
+ 
+diff --git a/src/qml/qml/qqmltypeloader_p.h b/src/qml/qml/qqmltypeloader_p.h
+index ef63e02b4f0..22ac61968fc 100644
+--- a/src/qml/qml/qqmltypeloader_p.h
++++ b/src/qml/qml/qqmltypeloader_p.h
+@@ -98,6 +98,7 @@ public:
+         Null,                    // Prior to QQmlTypeLoader::load()
+         Loading,                 // Prior to data being received and dataReceived() being called
+         WaitingForDependencies,  // While there are outstanding addDependency()s
++        ResolvingDependencies,   // While resolving outstanding dependencies, to detect cycles
+         Complete,                // Finished
+         Error                    // Error
+     };
+-- 
+2.14.2
+

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2017-11-01 18:39:43 UTC (rev 308814)
+++ extra-x86_64/PKGBUILD	2017-11-01 18:40:17 UTC (rev 308815)
@@ -1,52 +0,0 @@
-# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-
-pkgname=qt5-declarative
-_qtver=5.9.2
-pkgver=${_qtver/-/}
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://qt-project.org/'
-license=('GPL3' 'LGPL3' 'FDL' 'custom')
-pkgdesc='Classes for QML and JavaScript languages'
-depends=('qt5-xmlpatterns')
-makedepends=('python2' 'cmake')
-groups=('qt' 'qt5')
-conflicts=('qtchooser' 'qt5-declarative-render2d')
-replaces=('qt5-declarative-render2d')
-_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
-source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
-sha256sums=('0d40fd4de9c73b9173d8308c0dc37952bf5c747d87ff221962dd2f848d820b08')
-
-prepare() {
-  mkdir -p build
-
-  # Use python2 for Python 2.x
-  find -name '*.pro' -o -name '*.pri' | xargs sed -i -e 's|python -c|python2 -c|g' -e 's|python \$|python2 \$|g'
-}
-
-build() {
-  cd build
-
-  export PYTHON=python2
-  qmake ../${_pkgfqn}
-  make
-}
-
-package() {
-  cd build
-  make INSTALL_ROOT="$pkgdir" install
-
-  # Symlinks for backwards compatibility
-  for b in "$pkgdir"/usr/bin/*; do
-    ln -s /usr/bin/$(basename $b) "$pkgdir"/usr/bin/$(basename $b)-qt5
-  done
-
-  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
-  find "$pkgdir/usr/lib" -type f -name '*.prl' \
-    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
-  install -d "$pkgdir"/usr/share/licenses
-  ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
-}

Copied: qt5-declarative/repos/extra-x86_64/PKGBUILD (from rev 308814, qt5-declarative/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2017-11-01 18:40:17 UTC (rev 308815)
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-declarative
+_qtver=5.9.2
+pkgver=${_qtver/-/}
+pkgrel=2
+arch=('i686' 'x86_64')
+url='http://qt-project.org/'
+license=('GPL3' 'LGPL3' 'FDL' 'custom')
+pkgdesc='Classes for QML and JavaScript languages'
+depends=('qt5-xmlpatterns')
+makedepends=('python2' 'cmake')
+groups=('qt' 'qt5')
+conflicts=('qtchooser' 'qt5-declarative-render2d')
+replaces=('qt5-declarative-render2d')
+_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qtbug-64017.patch)
+sha256sums=('0d40fd4de9c73b9173d8308c0dc37952bf5c747d87ff221962dd2f848d820b08'
+            'fb2bfbef21f60943dc1c540c4d63bfc41465577b6438d6c552b993127f27d68f')
+
+prepare() {
+  mkdir -p build
+
+  # Use python2 for Python 2.x
+  find -name '*.pro' -o -name '*.pri' | xargs sed -i -e 's|python -c|python2 -c|g' -e 's|python \$|python2 \$|g'
+
+  cd ${_pkgfqn}
+  patch -p1 -i ../qtbug-64017.patch # Fix loading of QML applications https://bugreports.qt.io/browse/QTBUG-64017
+}
+
+build() {
+  cd build
+
+  export PYTHON=python2
+  qmake ../${_pkgfqn}
+  make
+}
+
+package() {
+  cd build
+  make INSTALL_ROOT="$pkgdir" install
+
+  # Symlinks for backwards compatibility
+  for b in "$pkgdir"/usr/bin/*; do
+    ln -s /usr/bin/$(basename $b) "$pkgdir"/usr/bin/$(basename $b)-qt5
+  done
+
+  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+  find "$pkgdir/usr/lib" -type f -name '*.prl' \
+    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+  install -d "$pkgdir"/usr/share/licenses
+  ln -s /usr/share/licenses/qt5-base "$pkgdir"/usr/share/licenses/${pkgname}
+}

Deleted: extra-x86_64/qtbug-61754.patch
===================================================================
--- extra-x86_64/qtbug-61754.patch	2017-11-01 18:39:43 UTC (rev 308814)
+++ extra-x86_64/qtbug-61754.patch	2017-11-01 18:40:17 UTC (rev 308815)
@@ -1,25 +0,0 @@
-From 768f606cd3cd37c235e85225127201a42d272946 Mon Sep 17 00:00:00 2001
-From: Joni Poikelin <joni.poikelin at qt.io>
-Date: Thu, 17 Aug 2017 09:49:25 +0300
-Subject: [PATCH] Fix memory leaks with threaded renderer
-
-Reverts 39061af50cc3092289cdd71d17802139590ecb59 and calls endSync()
-instead after syncSceneGraph().
-
-Task-number: QTBUG-61754
-Change-Id: I7b51ffdc93557bacd93927dd642ec3715980b21c
-Reviewed-by: Laszlo Agocs <laszlo.agocs at qt.io>
-Reviewed-by: Roger Zanoni <rogerzanoni at gmail.com>
----
-diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
-index 3a8e673c0..d28a73da2 100644
---- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp
-+++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp
-@@ -553,6 +553,7 @@ void QSGRenderThread::sync(bool inExpose)
-         if (d->renderer)
-             d->renderer->clearChangedFlag();
-         d->syncSceneGraph();
-+        sgrc->endSync();
-         if (!hadRenderer && d->renderer) {
-             qCDebug(QSG_LOG_RENDERLOOP) << QSG_RT_PAD << "- renderer was created";
-             syncResultedInChanges = true;

Copied: qt5-declarative/repos/extra-x86_64/qtbug-64017.patch (from rev 308814, qt5-declarative/trunk/qtbug-64017.patch)
===================================================================
--- extra-x86_64/qtbug-64017.patch	                        (rev 0)
+++ extra-x86_64/qtbug-64017.patch	2017-11-01 18:40:17 UTC (rev 308815)
@@ -0,0 +1,69 @@
+From b96e3fa733379e58dd4225f535eb13df8bb83734 Mon Sep 17 00:00:00 2001
+From: Erik Verbruggen <erik.verbruggen at qt.io>
+Date: Wed, 1 Nov 2017 12:48:12 +0100
+Subject: [PATCH] Prevent the QML engine from registering circular dependencies
+
+Change-Id: Ic4fd2bde745e7dfaf0909e8cc575441bb04cefa3
+Task-number: QTBUG-64017
+---
+ src/qml/qml/qqmltypeloader.cpp | 10 +++++++++-
+ src/qml/qml/qqmltypeloader_p.h |  1 +
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
+index 193acb04be7..d9d7c193127 100644
+--- a/src/qml/qml/qqmltypeloader.cpp
++++ b/src/qml/qml/qqmltypeloader.cpp
+@@ -316,7 +316,8 @@ Returns true if the status is WaitingForDependencies.
+ */
+ bool QQmlDataBlob::isWaiting() const
+ {
+-    return status() == WaitingForDependencies;
++    return status() == WaitingForDependencies ||
++            status() == ResolvingDependencies;
+ }
+ 
+ /*!
+@@ -608,6 +609,7 @@ The default implementation does nothing.
+ */
+ void QQmlDataBlob::allDependenciesDone()
+ {
++    m_data.setStatus(QQmlDataBlob::ResolvingDependencies);
+ }
+ 
+ /*!
+@@ -2499,6 +2501,8 @@ void QQmlTypeData::continueLoadFromIR()
+ 
+ void QQmlTypeData::allDependenciesDone()
+ {
++    QQmlTypeLoader::Blob::allDependenciesDone();
++
+     if (!m_typesResolved) {
+         // Check that all imports were resolved
+         QList<QQmlError> errors;
+@@ -2618,6 +2622,10 @@ void QQmlTypeData::resolveTypes()
+ 
+         if (ref.type.isCompositeSingleton()) {
+             ref.typeData = typeLoader()->getType(ref.type.sourceUrl());
++            if (ref.typeData->status() == QQmlDataBlob::ResolvingDependencies) {
++                // TODO: give an error message? If so, we should record and show the path of the cycle.
++                continue;
++            }
+             addDependency(ref.typeData);
+             ref.prefix = csRef.prefix;
+ 
+diff --git a/src/qml/qml/qqmltypeloader_p.h b/src/qml/qml/qqmltypeloader_p.h
+index ef63e02b4f0..22ac61968fc 100644
+--- a/src/qml/qml/qqmltypeloader_p.h
++++ b/src/qml/qml/qqmltypeloader_p.h
+@@ -98,6 +98,7 @@ public:
+         Null,                    // Prior to QQmlTypeLoader::load()
+         Loading,                 // Prior to data being received and dataReceived() being called
+         WaitingForDependencies,  // While there are outstanding addDependency()s
++        ResolvingDependencies,   // While resolving outstanding dependencies, to detect cycles
+         Complete,                // Finished
+         Error                    // Error
+     };
+-- 
+2.14.2
+



More information about the arch-commits mailing list