From a7186a15ba7c15fb7af41c729cdf2cbebd89fcfc Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Thu, 14 Feb 2019 22:32:30 +0100 Subject: Updated deps for the next ktown release libxkbcommon: updated to 0.8.3 qt5: updated to 5.12.1 qt5-webkit: recompiled against the new qt5 sip: updated to 4.19.14 PyQt: updated to 4.12.3 (only managed to compile on 64bit) PyQt5: updated to 5.12 QScintilla: updated to 2.11 (dropped the Qt4 support which would not compile) --- deps/qt5/.deps | 2 + deps/qt5/.url | 2 +- deps/qt5/patches/qt5.delayed_highlight.patch | 72 ++++++++++++++++++++++++++++ deps/qt5/patches/qt5.qtbug-69310.patch | 37 ++++++++++++++ deps/qt5/qt5.SlackBuild | 33 +++++++------ 5 files changed, 131 insertions(+), 15 deletions(-) create mode 100644 deps/qt5/.deps create mode 100644 deps/qt5/patches/qt5.delayed_highlight.patch create mode 100644 deps/qt5/patches/qt5.qtbug-69310.patch (limited to 'deps/qt5') diff --git a/deps/qt5/.deps b/deps/qt5/.deps new file mode 100644 index 0000000..d1eaacd --- /dev/null +++ b/deps/qt5/.deps @@ -0,0 +1,2 @@ +OpenAL +libxkbcommon diff --git a/deps/qt5/.url b/deps/qt5/.url index 2aea31e..91a8b0c 100644 --- a/deps/qt5/.url +++ b/deps/qt5/.url @@ -1 +1 @@ -https://download.qt.io/official_releases/qt/5.11/5.11.3/single/qt-everywhere-src-5.11.3.tar.xz +https://download.qt.io/official_releases/qt/5.12/5.12.1/single/qt-everywhere-src-5.12.1.tar.xz diff --git a/deps/qt5/patches/qt5.delayed_highlight.patch b/deps/qt5/patches/qt5.delayed_highlight.patch new file mode 100644 index 0000000..201179b --- /dev/null +++ b/deps/qt5/patches/qt5.delayed_highlight.patch @@ -0,0 +1,72 @@ +From f8f0f3eef1151c9377a5c76ccfa6432e930e1307 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= +Date: Mon, 14 Jan 2019 10:37:42 +0100 +Subject: QSyntaxHighlighter: cancel delayed highlight if done manually +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It was an implicit effect before which stopped working after +dec7961709c90f6977d2447f7fa6c6625af41cb2. Reintroduce it as some +projects used this side-effect as a way to abort the initial +highlighting. + +Change-Id: I5340ee9882a242bc8b5f7f843f1cfe793a65d357 +Reviewed-by: J?drzej Nowacki +--- + src/gui/text/qsyntaxhighlighter.cpp | 1 + + .../qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp | 19 +++++++++++++++++++ + 2 files changed, 20 insertions(+) + +diff --git a/src/gui/text/qsyntaxhighlighter.cpp b/src/gui/text/qsyntaxhighlighter.cpp +index b09f8b565a..0e07b69868 100644 +--- a/src/gui/text/qsyntaxhighlighter.cpp ++++ b/src/gui/text/qsyntaxhighlighter.cpp +@@ -376,6 +376,7 @@ void QSyntaxHighlighter::rehighlight() + + QTextCursor cursor(d->doc); + d->rehighlight(cursor, QTextCursor::End); ++ d->rehighlightPending = false; // user manually did a full rehighlight + } + + /*! +diff --git a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp +index 9d6ce78b24..c683ecd424 100644 +--- a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp ++++ b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp +@@ -82,6 +82,7 @@ private slots: + void preservePreeditArea(); + void task108530(); + void avoidUnnecessaryRehighlight(); ++ void avoidUnnecessaryDelayedRehighlight(); + void noContentsChangedDuringHighlight(); + void rehighlight(); + void rehighlightBlock(); +@@ -478,6 +479,24 @@ void tst_QSyntaxHighlighter::avoidUnnecessaryRehighlight() + QTRY_VERIFY(!hl->highlighted); + } + ++void tst_QSyntaxHighlighter::avoidUnnecessaryDelayedRehighlight() ++{ ++ // Having text in the document before creating the highlighter starts the delayed rehighlight ++ cursor.insertText("Hello World"); ++ ++ TestHighlighter *hl = new TestHighlighter(doc); ++ QVERIFY(!hl->highlighted); ++ ++ hl->rehighlight(); ++ QVERIFY(hl->highlighted); ++ ++ hl->highlighted = false; ++ // Process events, including delayed rehighlight emission ++ QCoreApplication::processEvents(); ++ // Should be cancelled and no extra rehighlight should be done ++ QVERIFY(!hl->highlighted); ++} ++ + void tst_QSyntaxHighlighter::noContentsChangedDuringHighlight() + { + QVector formats; +-- +cgit v1.2.1 + diff --git a/deps/qt5/patches/qt5.qtbug-69310.patch b/deps/qt5/patches/qt5.qtbug-69310.patch new file mode 100644 index 0000000..b924627 --- /dev/null +++ b/deps/qt5/patches/qt5.qtbug-69310.patch @@ -0,0 +1,37 @@ +From fcba9fa861574f33e1d2e54d8c8d6da8062927cd Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Wed, 23 Jan 2019 10:42:12 +0100 +Subject: Fix regression in QPlainTextEdit updating + +It was incorrectly counting a block having more than one line as having +changed visibility. + +Fixes: QTBUG-69310 +Change-Id: I502cda1d3e8a4efb1c14122353cc0a4731d8581c +Reviewed-by: Richard Moe Gustavsen +--- + src/widgets/widgets/qplaintextedit.cpp | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp +index d6f6a364a8..57f2dec8f7 100644 +--- a/src/widgets/widgets/qplaintextedit.cpp ++++ b/src/widgets/widgets/qplaintextedit.cpp +@@ -312,10 +312,11 @@ void QPlainTextDocumentLayout::documentChanged(int from, int charsRemoved, int c + QTextBlock block = changeStartBlock; + do { + block.clearLayout(); +- const int lineCount = block.isVisible() ? 1 : 0; +- if (block.lineCount() != lineCount) { ++ if (block.isVisible() ++ ? (block.lineCount() == 0) ++ : (block.lineCount() > 0)) { + blockVisibilityChanged = true; +- block.setLineCount(lineCount); ++ block.setLineCount(block.isVisible() ? 1 : 0); + } + if (block == changeEndBlock) + break; +-- +cgit v1.2.1 + diff --git a/deps/qt5/qt5.SlackBuild b/deps/qt5/qt5.SlackBuild index cfe76ad..d257bd0 100755 --- a/deps/qt5/qt5.SlackBuild +++ b/deps/qt5/qt5.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -36,7 +36,7 @@ # Alternate method (we don't use this): # wget http://qt.gitorious.org/qt/kde-qt/archive-tarball/4.6.2-patched # -# Modifications 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Eric Hameleers, Eindhoven, NL +# Modifications 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018,2019 Eric Hameleers, Eindhoven, NL # qt 4.7.3, 4.7.4, 4.8.0, 4.8.1, 4.8.2, 4.8.4, are built from original nokia sources. # # Modifications for qt 5.2.0 2013 by Michael James, AU @@ -60,11 +60,12 @@ # Modifications for qt 5.11.1 2018 by Eric Hameleers, Eindhoven, NL # Modifications for qt 5.11.2 2018 by Eric Hameleers, Eindhoven, NL # Modifications for qt 5.11.3 2018 by Eric Hameleers, Eindhoven, NL +# Modifications for qt 5.12.1 2019 by Eric Hameleers, Eindhoven, NL cd $(dirname $0) ; CWD=$(pwd) PKGNAM=qt5 -VERSION=${VERSION:-5.11.3} +VERSION=${VERSION:-5.12.1} BUILD=${BUILD:-1} PKGSRC=$(echo $VERSION |cut -d- -f1) PKGVER=$(echo $VERSION |tr - _) @@ -154,14 +155,19 @@ fi # Fix path to mysql header: cat $CWD/patches/qt5.mysql.h.diff | patch -p1 --verbose || exit 1 -## Fix missing private includes: QTBUG-37417 -#cd qtbase -# cat $CWD/patches/qt5.private-includes.patch | patch -p1 --verbose || exit 1 +## Fix compilation error in chromium caused by gcc8: +#cd qtwebengine +# cat $CWD/patches/qt5.webengine_gcc8.patch | patch -p1 --verbose || exit 1 #cd - 1>/dev/null -# Fix compilation error in chromium caused by gcc8: -cd qtwebengine - cat $CWD/patches/qt5.webengine_gcc8.patch | patch -p1 --verbose || exit 1 +# QSyntaxHighlighter: cancel delayed highlight if done manually: +cd qtbase + cat $CWD/patches/qt5.delayed_highlight.patch | patch -p1 --verbose || exit 1 +cd - 1>/dev/null + +# Fix regression in QPlainTextEdit updating (QTBUG-69310): +cd qtbase + cat $CWD/patches/qt5.qtbug-69310.patch | patch -p1 --verbose || exit 1 cd - 1>/dev/null if ! pkg-config --exists libpulse 2>/dev/null ; then @@ -179,11 +185,9 @@ sed -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${SLKCFLAGS}|" \ sed -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${SLKLDFLAGS}|" \ -i qtbase/mkspecs/common/g++-unix.conf || exit 1 -# Enable h.264 codec support (no longer works with Qt 5.11)): -echo "WEBENGINE_CONFIG += use_proprietary_codecs" >> qtwebengine/.qmake.conf - -# Enable all languages in the virtual keyboard (required by Plasma 5.11): -echo "CONFIG += lang-all" >> qtvirtualkeyboard/.qmake.conf +# All languages are now enabled by default in the virtual keyboard +# (required by Plasma 5.11): +#echo "CONFIG += lang-all" >> qtvirtualkeyboard/.qmake.conf export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" @@ -227,6 +231,7 @@ export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins" -no-separate-debug-info \ -no-strip \ -no-use-gold-linker \ + -webengine-proprietary-codecs \ ${PACONF} \ ${RELOCATIONS} \ -no-pch \ -- cgit v1.2.3