diff --git a/extra/qt5/PKGBUILD b/extra/qt5/PKGBUILD index 032b41e1d..c04e1baad 100644 --- a/extra/qt5/PKGBUILD +++ b/extra/qt5/PKGBUILD @@ -38,7 +38,7 @@ pkgname=('qt5-base' 'qt5-x11extras' 'qt5-xmlpatterns') pkgver=5.4.0 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') url='http://qt-project.org/' license=('GPL3' 'LGPL' 'FDL' 'custom') @@ -53,6 +53,7 @@ groups=('qt' 'qt5') _pkgfqn="qt-everywhere-opensource-src-${pkgver}" source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgver}/single/${_pkgfqn}.tar.xz" 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop' + 'kdebug-329174.patch' 'rpi.patch' 'qt5webkit-0002-Fix-QtWebKit-build-on-ARM-softfp.patch') md5sums=('21843b00ecde8956217faab391bc007b' @@ -60,6 +61,7 @@ md5sums=('21843b00ecde8956217faab391bc007b' '9638a78e502719ef8fe5f8d10d0361a9' '188da8f4c87316e730ebf1c6217bf5a0' '322b419b16c75d4de0ee7ad0a246caa1' + 'f69ac1589a661f232fb86ad32e293b28' '9fe115d2c1d4778b8cb8e7f1b2e2bca6' 'd55ad1f1c90725834b44eada5db4e401') @@ -104,9 +106,13 @@ prepare() { find . -name '*.py' -exec sed -i \ 's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} + - # There are still a lot of relative calls which need a workaround + # in qtwebengine there are still a lot of relative calls which need a workaround mkdir "${srcdir}"/python2-path ln -s /usr/bin/python2 "${srcdir}"/python2-path/python + + # Fixed in 5.4.1 + cd qtbase + patch -p1 -i "${srcdir}"/kdebug-329174.patch } build() { @@ -187,9 +193,9 @@ package_qt5-base() { install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; # Fix wrong qmake path in pri file sed -i "s|${srcdir}/${_pkgfqn}/qtbase|/usr|" \ @@ -209,9 +215,9 @@ package_qt5-connectivity() { cd ${_pkgfqn}/qtconnectivity make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -225,9 +231,9 @@ package_qt5-declarative() { cd ${_pkgfqn}/qtdeclarative make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; # Useful symlinks install -d "${pkgdir}"/usr/bin @@ -263,9 +269,9 @@ package_qt5-enginio() { cd ${_pkgfqn}/qtenginio make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -279,9 +285,9 @@ package_qt5-xmlpatterns() { cd ${_pkgfqn}/qtxmlpatterns make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; # Useful symlinks install -d "${pkgdir}"/usr/bin @@ -314,9 +320,9 @@ package_qt5-multimedia() { cd ${_pkgfqn}/qtmultimedia make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -352,9 +358,9 @@ package_qt5-location() { cd ${_pkgfqn}/qtlocation make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -368,9 +374,9 @@ package_qt5-quick1() { cd ${_pkgfqn}/qtquick1 make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; # Useful symlinks install -d "${pkgdir}"/usr/bin @@ -401,9 +407,9 @@ package_qt5-script() { cd ${_pkgfqn}/qtscript make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -416,9 +422,9 @@ package_qt5-sensors() { cd ${_pkgfqn}/qtsensors make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -431,9 +437,9 @@ package_qt5-serialport() { cd ${_pkgfqn}/qtserialport make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -447,9 +453,9 @@ package_qt5-svg() { cd ${_pkgfqn}/qtsvg make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -488,9 +494,9 @@ package_qt5-tools() { install -m644 "${srcdir}"/{linguist,designer,assistant,qdbusviewer}.desktop \ "${pkgdir}/usr/share/applications/" - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; # Useful symlinks install -d "${pkgdir}"/usr/bin @@ -512,9 +518,9 @@ package_qt5-webkit() { cd ${_pkgfqn}/qtwebkit make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; # Fix wrong path in pc file perl -pi -e "s, -L${srcdir}/?\S+,,g" "${pkgdir}"/usr/lib/pkgconfig/Qt5WebKit.pc @@ -527,9 +533,9 @@ package_qt5-wayland() { cd ${_pkgfqn}/qtwayland make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -542,9 +548,9 @@ package_qt5-webchannel() { cd ${_pkgfqn}/qtwebchannel make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt @@ -558,9 +564,9 @@ package_qt5-websockets() { cd ${_pkgfqn}/qtwebsockets make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; } package_qt5-x11extras() { @@ -570,9 +576,9 @@ package_qt5-x11extras() { cd ${_pkgfqn}/qtx11extras make INSTALL_ROOT="${pkgdir}" install - # Fix wrong path in prl files + # 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;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; + -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; install -D -m644 LGPL_EXCEPTION.txt \ "${pkgdir}"/usr/share/licenses/${pkgname}/LGPL_EXCEPTION.txt diff --git a/extra/qt5/kdebug-329174.patch b/extra/qt5/kdebug-329174.patch new file mode 100644 index 000000000..bf0b65784 --- /dev/null +++ b/extra/qt5/kdebug-329174.patch @@ -0,0 +1,39 @@ +From 6a7ee92b3958e3a3ebc16be15f8bd34217ec7bd2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= +Date: Wed, 10 Dec 2014 07:27:23 +0100 +Subject: [PATCH] Handle SelectionClientClose in QXcbClipboard +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +QXcbClipboard listens for subtype SelectionClientClose of Xfixes +SelectionNotify event, but doesn't handle it. When the client holding +the clipboard selection closes the Clipboard becomes empty and thus the +change should be emitted. + +This fixes downstream KDE Bug #329174. + +Change-Id: I19fb8cfd7bd3b249c0bc6ca2a724a9aeeb05ac7e +Reviewed-by: Jørgen Lind +Reviewed-by: Aleix Pol Gonzalez +--- + src/plugins/platforms/xcb/qxcbclipboard.cpp | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/src/plugins/platforms/xcb/qxcbclipboard.cpp b/src/plugins/platforms/xcb/qxcbclipboard.cpp +index 8b3893e..f56a29d 100644 +--- a/src/plugins/platforms/xcb/qxcbclipboard.cpp ++++ b/src/plugins/platforms/xcb/qxcbclipboard.cpp +@@ -742,7 +742,8 @@ void QXcbClipboard::handleXFixesSelectionRequest(xcb_xfixes_selection_notify_eve + m_xClipboard[mode]->reset(); + } + emitChanged(mode); +- } ++ } else if (event->subtype == XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE) ++ emitChanged(mode); + } + + +-- +1.7.1 +