[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