diff options
Diffstat (limited to 'abs/core/qt5-declarative')
| -rw-r--r-- | abs/core/qt5-declarative/PKGBUILD | 57 | ||||
| -rw-r--r-- | abs/core/qt5-declarative/qtbug-61754.patch | 25 | 
2 files changed, 82 insertions, 0 deletions
diff --git a/abs/core/qt5-declarative/PKGBUILD b/abs/core/qt5-declarative/PKGBUILD new file mode 100644 index 0000000..9a76eb6 --- /dev/null +++ b/abs/core/qt5-declarative/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $ +# Maintainer: Felix Yan <felixonmars@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> + +pkgname=qt5-declarative +_qtver=5.10.1 +pkgver=${_qtver/-/} +pkgrel=2 +arch=('x86_64') +url='http://qt-project.org/' +license=('GPL3' 'LGPL3' 'FDL' 'custom') +pkgdesc='Classes for QML and JavaScript languages' +depends=('qt5-xmlpatterns') +makedepends=('python2') +groups=('qt' 'qt5') +conflicts=('qtchooser' 'qt5-declarative-render2d') +replaces=('qt5-declarative-render2d') +_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}" +source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" +        qtbug-65789.patch::"https://github.com/qt/qtdeclarative/commit/f42f1366.patch") +sha256sums=('3af9ed51bce5b5c6f04c4a67a6008f98765ccde897c43fff670621ab70789553' +            '4a44baeb8b08d8e9e6ac76ffc0a0baf521b09c2396ae5926f56d0794cedd2586') + +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 -Rp1 -i ../qtbug-65789.patch # https://bugreports.qt.io/browse/QTBUG-65789 +} + +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} +} diff --git a/abs/core/qt5-declarative/qtbug-61754.patch b/abs/core/qt5-declarative/qtbug-61754.patch new file mode 100644 index 0000000..e5352ec --- /dev/null +++ b/abs/core/qt5-declarative/qtbug-61754.patch @@ -0,0 +1,25 @@ +From 768f606cd3cd37c235e85225127201a42d272946 Mon Sep 17 00:00:00 2001 +From: Joni Poikelin <joni.poikelin@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@qt.io> +Reviewed-by: Roger Zanoni <rogerzanoni@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;  | 
