summaryrefslogtreecommitdiff
path: root/dev-qt/qtcore
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /dev-qt/qtcore
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'dev-qt/qtcore')
-rw-r--r--dev-qt/qtcore/Manifest13
-rw-r--r--dev-qt/qtcore/files/qtcore-5.12.3-CVE-2019-18281.patch98
-rw-r--r--dev-qt/qtcore/files/qtcore-5.14.2-QLibrary-deadlock.patch106
-rw-r--r--dev-qt/qtcore/metadata.xml1
-rw-r--r--dev-qt/qtcore/qtcore-5.12.3-r2.ebuild90
-rw-r--r--dev-qt/qtcore/qtcore-5.13.2-r2.ebuild2
-rw-r--r--dev-qt/qtcore/qtcore-5.14.1-r1.ebuild2
-rw-r--r--dev-qt/qtcore/qtcore-5.14.2.ebuild (renamed from dev-qt/qtcore/qtcore-5.13.2-r1.ebuild)27
8 files changed, 138 insertions, 201 deletions
diff --git a/dev-qt/qtcore/Manifest b/dev-qt/qtcore/Manifest
index fea8e90a37dd..2d9c73d0ca71 100644
--- a/dev-qt/qtcore/Manifest
+++ b/dev-qt/qtcore/Manifest
@@ -1,12 +1,11 @@
-AUX qtcore-5.12.3-CVE-2019-18281.patch 4122 BLAKE2B 057663881e9427edc80a9fbfc97e0f026dff0722e23452d06f16f0ab9ad69af7470ea10dbbd4d076f248edab435a60a0fcc8282a38f963e316b3b262b5029628 SHA512 60b72443dab594e24167abf2dae6f46eb171a7cfbb0e114386ebdbbd8d14b935f33fe6bc086c50f4c8f94e942f88c4bb06dee6656644c619ea5fd23898303944
AUX qtcore-5.12.3-CVE-2020-0569.patch 1103 BLAKE2B e19236089dde2c6e15ef3f4c53e8cbcf8e68b09d0f61570adbb5e62a449c647e1d51c185735d2086ca336513d51eaf43d3c414eebaf9849cbe9ca3bba33a675c SHA512 721a16079acba96e784713b092543dc187b1c041889da745228b625ae727b602279ff882054929320cabc4228f47233e50fd63fcc75f543d8266f8fb0a043809
AUX qtcore-5.12.3-CVE-2020-0570.patch 2539 BLAKE2B 87282e51d64cf94cbc33eea6da901bef2135f0b25237dccb72c5f5f107f3270e5286fba15ba413d4e04d3cfa109934c97fea32f8295b727d38f047ffc85b28c7 SHA512 ed05b2efffc96dbd263dfb2714f45190b7bb61a17ff7395ec3d136c6fae2b460eb40a751df615d15394a7b22a989b3163cd1441b164554613aaac4de90cb873b
AUX qtcore-5.14.1-cmake-macro-backward-compat.patch 2555 BLAKE2B 5fe2b70232722416cb85ecce8a0742b57503c520482aa0386042f43d4cf20926a874b9a92f90c656cfe0bf93883c286b6b08c0ad2568f3a6746c776dcf208995 SHA512 c7ba0bfa6d462504ba9421abfb7f502265fd8c6bd7469326612925cd7b7667daba3350f714aa5a516aa83e5352ec6d18fc02af9ebf5494af10a4b6f8f7c47d5b
-DIST qtbase-everywhere-src-5.12.3.tar.xz 48382148 BLAKE2B 779c43a75403e0f21357a90228bbcc3f216495613f4f17a2f442c7aa93f277a79cc7addf5ae44e22964069580f4932cfd14ba4773aa0ab30405d5587577a545c SHA512 1dab927573eb22b1ae772de3a418f7d3999ea78d6e667a7f2494390dd1f0981ea93f4f892cb6e124ac18812c780ee71da3021b485c61eaf1ef2234a5c12b7fe2
+AUX qtcore-5.14.2-QLibrary-deadlock.patch 3966 BLAKE2B 79d589005de16dbbe87affa6ce2f9a499fe19f9f6687f85c9ce0d60f95706c22c6261dfab1e414cb6c6ca3f3f8d4ee1f33ad2a01f5ebee8356534d5330629822 SHA512 22d4994cb35869e8eadf158ba8a3f1ec3ca62291c93bfe8f94d6e8a89739bfc4cfc59dfb399be955ba6b00897288224c392d54fcbe24f8246d0f649c2ab22a6a
DIST qtbase-everywhere-src-5.13.2.tar.xz 48735704 BLAKE2B 50b8d69212602427b76dce6efefb9195e91e4bf5a09b732e564b66a4e27cfaf193fd860139b2c4cc774b0b1132af1426b79e381fb42eafd506239096bd87837e SHA512 b00ad017cc95876698615fd6e41c6ade366146c1f7057e1925bc1b72918f091aa39aa6bf0ea450fc6cd4d8f9810b228770d981dcb6cbe8ad30abb2c42804a204
DIST qtbase-everywhere-src-5.14.1.tar.xz 49828188 BLAKE2B d5641df96a90ec4f3f85e47444c151b2090161330df9684703883865ddc84bed507295b67953c0a8cad9c104a10727ac9fb26d7f3ec4bf2052294c843f108491 SHA512 964777323d0e3f9d355218c3493bb3b61d2750d9cb5ba71fce72cae3cd362acce88e39360f1fac0011f1b74d529a23621a7281191c622cc034ce78a77afa296b
-EBUILD qtcore-5.12.3-r2.ebuild 1755 BLAKE2B 53aeb4bf14488b8b109dd5010fd121366e78c233c57bcce087c9df5adf066d002509995e68a596162f923d36bb7b7512512d6e677a1d7413d9c9e904da449688 SHA512 81eefb280388cbdfe437c4956d6553cbd0b2f4bd718c4e2527b472dca65478d7139cafe67aede6a819d88a0f89687dfba983fc969354b99cb8dcaee884b70f44
-EBUILD qtcore-5.13.2-r1.ebuild 1659 BLAKE2B 48c8eaa36be4c1084d12b501e9e50397097eae45c62475a69d103686bb787f114e393135ecfcaa9a7475fe91412edd40bd84f6ed6312233e9a5cdde1f401f6f7 SHA512 59360b4a7671d52b0448e06db5a8935643626b5e03bfcae25f8071fa533feedc03ced5a7912f3a7b17616d51c2d5a53d4461c291ce6953b4d6f88453dee38a77
-EBUILD qtcore-5.13.2-r2.ebuild 1769 BLAKE2B 14506b5066ecd490754c23ab89077550d99eac584231ab3596e0be1bf7e56342342488c973635c448f671185fd7cd3ea5ed3a66b1cd1ff60fa1621f10149eab2 SHA512 6dd43452bd7a6540550a91aefadd43feeb3c732bfaae49832187be0a97ef0f4873aca256b8c823c75b83f0fcb5ed2397b8a9b739ee1dc2c292ea5b475c3c3891
-EBUILD qtcore-5.14.1-r1.ebuild 1716 BLAKE2B f7cbcb6d8b06dfb49b65a95901c0c47cc01dedce2a263f19f203fe94254becfd0dadf772d58c7f8297dff0b9216f3cfe685cc9be7908d6f14156bbfba9cc0b82 SHA512 8be645c3ab9d5cf4ba3391f611f1a1baa6cee2e28b5a3a6c2a6cdf5019beb5c4221595e8304b4cbaafe2b6fcdef84218026c66de421b7b8644ec5b45a7dd3a13
-MISC metadata.xml 565 BLAKE2B 3f18dd1accf6b8a781b5d2cc5c59440e31e8e7cd9210b53f19ea7c0f867be0ac3f109e823724e92be4a6b0a9a765869520e417f321a5ec53f6ee136a0b68592e SHA512 7d13e8697d2bca8b220e322b0c961d32e34d5e8fac70027c2eb8bdf2b4cd168f1d86f56e375d9bb78d3f06d1f489f66bcaa35a2074302a849a3af6e93fdfb666
+DIST qtbase-everywhere-src-5.14.2.tar.xz 49865752 BLAKE2B ed8eb18dfc79e9983248655eb62e8305ef8b79f96c7880c88533250fef8f0d187cf576082d41df08314711b4c007b94686486abd77bf9bc201336caa02ced300 SHA512 8c83e06d58b56e9f288e83d6c3dd4ad6cc9f1eb1a32c7b44fb912fda34ed7255766fd9fa60cd740ee001df7d6172f25df05f1f95e986c3e793fbcd9bf4f18de9
+EBUILD qtcore-5.13.2-r2.ebuild 1728 BLAKE2B 7e1130362b13811416afa3b8b3ec8a89c82a6bd290c33ccf08a6940183a20519f87bfaa09a9a4220ac9e6de6bb2e36e0bd2566b2e896ed903b23b178b08fec6c SHA512 c16abdfcecb671e0f6e95294bc7d804578821147a129083976e896f8d76e7701689fbd8c4f0dd0990f62c4fc4757ef6ee10597eec2ec79d192e916e2511c32cb
+EBUILD qtcore-5.14.1-r1.ebuild 1711 BLAKE2B 00fa1e8969c3109494a67376892c7331ca0f5a33a806165bc1950f7d66d1a9e094863950427249be89bf0b65a5502c523c0c72c6db3a72080600349e4bd69d7f SHA512 04615c1b40db89986f207cdd61180f84012cbd2d551d0541c7812b5670c0b58a2d0f5337f7ee685ef2dd37ae70db5482fa9a477a7d8f7cd88808fbd989ec7fec
+EBUILD qtcore-5.14.2.ebuild 2248 BLAKE2B 9e683aa79a045f1988b0c9893107bc9c8653103bc242454ba93a0ce30d98133a50a390669a72332a30f6f56a60ed8c48edfa8b2a7b6f2ba0c6e4f3531809df24 SHA512 6df482ba952c943a234660830e3f659bc1edbf26fed1117ee95cf051281c7019cf2c2cee0b411127ab0ff296ec92b6c43711c1ee6ca125b8460e5259716faa86
+MISC metadata.xml 662 BLAKE2B daf4dcfc7380ac0a25155b5a04125b4a4038ba7fd84fe8e98a9782a9cd7f886c608a21edc9b81a3af791eb22faa4a1bf1cd63f6a2f60a5b0f19d681b59313403 SHA512 571811795b3cd171751b1571ac9e601d5a0d78e56c6257546965496e94bf6a26eee6ad04972e5d01e4fbc92a248d325912f4e0bdd13e5adf3928892bb93b1d12
diff --git a/dev-qt/qtcore/files/qtcore-5.12.3-CVE-2019-18281.patch b/dev-qt/qtcore/files/qtcore-5.12.3-CVE-2019-18281.patch
deleted file mode 100644
index 055794b51964..000000000000
--- a/dev-qt/qtcore/files/qtcore-5.12.3-CVE-2019-18281.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 1232205e32464d90e871f39eb1e14fcf9b78a163 Mon Sep 17 00:00:00 2001
-From: Rainer Keller <Rainer.Keller@qt.io>
-Date: Tue, 27 Aug 2019 14:44:48 +0200
-Subject: [PATCH] Fix crash when text contains too many directional chars
-
-In case a text to be layouted contains more than 128 directional characters
-it causes the application to crash
-
-The function initScriptAnalysisAndIsolatePairs() collects information of
-RTL/LTR chaaracters into vector "isolatePairs". The size of the vector is
-capped to 128. Later the function generateDirectionalRuns() iterates
-the text again and tries to access items from the previously capped vector
-above the upper bound.
-
-Task-number: QTBUG-77819
-Change-Id: Ibb7bf12c12b1db22f43ff46236518da3fdeed26a
-Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
----
- src/gui/text/qtextengine.cpp | 15 +++++++--------
- tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp | 17 +++++++++++++++++
- 2 files changed, 24 insertions(+), 8 deletions(-)
-
-diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp
-index 2da13289bfd..a7834587b1e 100644
---- a/src/gui/text/qtextengine.cpp
-+++ b/src/gui/text/qtextengine.cpp
-@@ -399,6 +399,7 @@ struct QBidiAlgorithm {
- analysis[i].bidiDirection = (level & 1) ? QChar::DirR : QChar::DirL;
- runHasContent = true;
- lastRunWithContent = -1;
-+ ++isolatePairPosition;
- }
- int runBeforeIsolate = runs.size();
- ushort newLevel = isRtl ? ((stack.top().level + 1) | 1) : ((stack.top().level + 2) & ~1);
-@@ -440,21 +441,19 @@ struct QBidiAlgorithm {
- doEmbed(true, true, false);
- break;
- case QChar::DirLRI:
-- Q_ASSERT(isolatePairs.at(isolatePairPosition).start == i);
- doEmbed(false, false, true);
-- ++isolatePairPosition;
- break;
- case QChar::DirRLI:
-- Q_ASSERT(isolatePairs.at(isolatePairPosition).start == i);
- doEmbed(true, false, true);
-- ++isolatePairPosition;
- break;
- case QChar::DirFSI: {
-- const auto &pair = isolatePairs.at(isolatePairPosition);
-- Q_ASSERT(pair.start == i);
-- bool isRtl = QStringView(text + pair.start + 1, pair.end - pair.start - 1).isRightToLeft();
-+ bool isRtl = false;
-+ if (isolatePairPosition < isolatePairs.size()) {
-+ const auto &pair = isolatePairs.at(isolatePairPosition);
-+ Q_ASSERT(pair.start == i);
-+ isRtl = QStringView(text + pair.start + 1, pair.end - pair.start - 1).isRightToLeft();
-+ }
- doEmbed(isRtl, false, true);
-- ++isolatePairPosition;
- break;
- }
-
-diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
-index 9c477589f93..f0a32c2ed40 100644
---- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
-+++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
-@@ -138,6 +138,7 @@ private slots:
- void noModificationOfInputString();
- void superscriptCrash_qtbug53911();
- void showLineAndParagraphSeparatorsCrash();
-+ void tooManyDirectionalCharctersCrash_qtbug77819();
-
- private:
- QFont testFont;
-@@ -2309,5 +2310,21 @@ void tst_QTextLayout::nbspWithFormat()
- QCOMPARE(layout.lineAt(1).textLength(), s2.length() + 1 + s3.length());
- }
-
-+void tst_QTextLayout::tooManyDirectionalCharctersCrash_qtbug77819()
-+{
-+ QString data;
-+ data += QString::fromUtf8("\xe2\x81\xa8"); // U+2068 FSI character
-+ data += QString::fromUtf8("\xe2\x81\xa7"); // U+2067 RLI character
-+
-+ // duplicating the text
-+ for (int i = 0; i < 10; i++)
-+ data += data;
-+
-+ // Nothing to test. It must not crash in beginLayout().
-+ QTextLayout tl(data);
-+ tl.beginLayout();
-+ tl.endLayout();
-+}
-+
- QTEST_MAIN(tst_QTextLayout)
- #include "tst_qtextlayout.moc"
---
-2.16.3
diff --git a/dev-qt/qtcore/files/qtcore-5.14.2-QLibrary-deadlock.patch b/dev-qt/qtcore/files/qtcore-5.14.2-QLibrary-deadlock.patch
new file mode 100644
index 000000000000..6a9c9921b7d0
--- /dev/null
+++ b/dev-qt/qtcore/files/qtcore-5.14.2-QLibrary-deadlock.patch
@@ -0,0 +1,106 @@
+From 276fa8383a7535765be7182883ef4aade17ce013 Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Thu, 2 Apr 2020 12:08:41 -0300
+Subject: [PATCH] QLibrary: fix deadlock caused by fix to QTBUG-39642
+
+Commit ae6f73e8566fa76470937aca737141183929a5ec inserted a mutex around
+the entire load_sys(). We had reasoed that deadlocks would only occur if
+the object creation in instance() recursed into its own instance(),
+which was already a bug. But we had forgotten that dlopen()/
+LoadLibrary() executes initialization code from the module being loaded,
+which could cause a recursion back into the same QPluginLoader or
+QLibrary object. This recursion is benign because the module *is* loaded
+and dlopen()/LoadLibrary() returns the same handle.
+
+[ChangeLog][QtCore][QLibrary and QPluginLoader] Fixed a deadlock that
+would happen if the plugin or library being loaded has load-time
+initialization code (C++ global variables) that recursed back into the
+same QLibrary or QPluginLoader object.
+
+PS: QLibraryPrivate::loadPlugin() updates pluginState outside a mutex
+lock, so pluginState should be made an atomic variable. Once that is
+done, we'll only need locking the mutex to update errorString (no
+locking before loading).
+
+Fixes: QTBUG-83207
+Task-number: QTBUG-39642
+Change-Id: Ibdc95e9af7bd456a94ecfffd160209304e5ab2eb
+Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
+Reviewed-by: David Faure <david.faure@kdab.com>
+---
+ src/corelib/plugin/qlibrary.cpp | 2 --
+ src/corelib/plugin/qlibrary_unix.cpp | 4 ++++
+ src/corelib/plugin/qlibrary_win.cpp | 3 +++
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
+index ddb053c26fa..be9d92b2048 100644
+--- a/src/corelib/plugin/qlibrary.cpp
++++ b/src/corelib/plugin/qlibrary.cpp
+@@ -576,9 +576,7 @@ bool QLibraryPrivate::load()
+
+ Q_TRACE(QLibraryPrivate_load_entry, fileName);
+
+- mutex.lock();
+ bool ret = load_sys();
+- mutex.unlock();
+ if (qt_debug_component()) {
+ if (ret) {
+ qDebug() << "loaded library" << fileName;
+diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
+index 017aa97b66a..a5c72f81d96 100644
+--- a/src/corelib/plugin/qlibrary_unix.cpp
++++ b/src/corelib/plugin/qlibrary_unix.cpp
+@@ -123,6 +123,7 @@ QStringList QLibraryPrivate::prefixes_sys()
+
+ bool QLibraryPrivate::load_sys()
+ {
++ QMutexLocker locker(&mutex);
+ QString attempt;
+ QFileSystemEntry fsEntry(fileName);
+
+@@ -213,6 +214,7 @@ bool QLibraryPrivate::load_sys()
+ }
+ #endif
+
++ locker.unlock();
+ bool retry = true;
+ Handle hnd = nullptr;
+ for (int prefix = 0; retry && !hnd && prefix < prefixes.size(); prefix++) {
+@@ -273,6 +275,8 @@ bool QLibraryPrivate::load_sys()
+ }
+ }
+ #endif
++
++ locker.relock();
+ if (!hnd) {
+ errorString = QLibrary::tr("Cannot load library %1: %2").arg(fileName, qdlerror());
+ }
+diff --git a/src/corelib/plugin/qlibrary_win.cpp b/src/corelib/plugin/qlibrary_win.cpp
+index 000bf762763..ef58724be8e 100644
+--- a/src/corelib/plugin/qlibrary_win.cpp
++++ b/src/corelib/plugin/qlibrary_win.cpp
+@@ -78,6 +78,7 @@ bool QLibraryPrivate::load_sys()
+ // fileName
+ //
+ // NB If it's a plugin we do not ever try the ".dll" extension
++ QMutexLocker locker(&mutex);
+ QStringList attempts;
+
+ if (pluginState != IsAPlugin)
+@@ -95,6 +96,7 @@ bool QLibraryPrivate::load_sys()
+ attempts.prepend(QDir::rootPath() + fileName);
+ #endif
+
++ locker.unlock();
+ Handle hnd = nullptr;
+ for (const QString &attempt : qAsConst(attempts)) {
+ #ifndef Q_OS_WINRT
+@@ -115,6 +117,7 @@ bool QLibraryPrivate::load_sys()
+ #ifndef Q_OS_WINRT
+ SetErrorMode(oldmode);
+ #endif
++ locker.relock();
+ if (!hnd) {
+ errorString = QLibrary::tr("Cannot load library %1: %2").arg(
+ QDir::toNativeSeparators(fileName), qt_error_string());
diff --git a/dev-qt/qtcore/metadata.xml b/dev-qt/qtcore/metadata.xml
index c612265c6f79..8342d1e976f7 100644
--- a/dev-qt/qtcore/metadata.xml
+++ b/dev-qt/qtcore/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Qt Project</name>
</maintainer>
<use>
+ <flag name="old-kernel">Disable syscalls not available on Linux kernels older than 3.17</flag>
<flag name="systemd">Enable native journald logging support</flag>
</use>
<upstream>
diff --git a/dev-qt/qtcore/qtcore-5.12.3-r2.ebuild b/dev-qt/qtcore/qtcore-5.12.3-r2.ebuild
deleted file mode 100644
index 853f70c37ab3..000000000000
--- a/dev-qt/qtcore/qtcore-5.12.3-r2.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-QT5_MODULE="qtbase"
-inherit qt5-build
-
-DESCRIPTION="Cross-platform application development framework"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
- KEYWORDS="x86"
-fi
-
-IUSE="icu systemd"
-
-DEPEND="
- dev-libs/double-conversion:=
- dev-libs/glib:2
- dev-libs/libpcre2[pcre16,unicode]
- sys-libs/zlib:=
- icu? ( dev-libs/icu:= )
- !icu? ( virtual/libiconv )
- systemd? ( sys-apps/systemd:= )
-"
-RDEPEND="${DEPEND}
- !<dev-qt/qtcore-4.8.7-r4:4
-"
-
-QT5_TARGET_SUBDIRS=(
- src/tools/bootstrap
- src/tools/moc
- src/tools/rcc
- src/tools/qfloat16-tables
- src/corelib
- src/tools/qlalr
- doc
-)
-
-QT5_GENTOO_PRIVATE_CONFIG=(
- !:network
- !:sql
- !:testlib
- !:xml
-)
-
-PATCHES=(
- "${FILESDIR}/${P}-CVE-2019-18281.patch"
- "${FILESDIR}/${P}-CVE-2020-0569.patch"
- "${FILESDIR}/${P}-CVE-2020-0570.patch"
-)
-
-src_prepare() {
- # don't add -O3 to CXXFLAGS, bug 549140
- sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/corelib/corelib.pro || die
-
- # fix missing qt_version_tag symbol w/ LTO, bug 674382
- sed -i -e 's/^gcc:ltcg/gcc/' src/corelib/global/global.pri || die
-
- qt5-build_src_prepare
-}
-
-src_configure() {
- local myconf=(
- -no-feature-statx # bug 672856
- $(qt_use icu)
- $(qt_use !icu iconv)
- $(qt_use systemd journald)
- )
- qt5-build_src_configure
-}
-
-src_install() {
- qt5-build_src_install
-
- local flags=(
- DBUS FREETYPE IMAGEFORMAT_JPEG IMAGEFORMAT_PNG
- OPENGL OPENSSL SSL WIDGETS
- )
-
- for flag in ${flags[@]}; do
- cat >> "${D%/}"/${QT5_HEADERDIR}/QtCore/qconfig.h <<- _EOF_ || die
-
- #if defined(QT_NO_${flag}) && defined(QT_${flag})
- # undef QT_NO_${flag}
- #elif !defined(QT_NO_${flag}) && !defined(QT_${flag})
- # define QT_NO_${flag}
- #endif
- _EOF_
- done
-}
diff --git a/dev-qt/qtcore/qtcore-5.13.2-r2.ebuild b/dev-qt/qtcore/qtcore-5.13.2-r2.ebuild
index dc47b0202776..97af29b9ec1d 100644
--- a/dev-qt/qtcore/qtcore-5.13.2-r2.ebuild
+++ b/dev-qt/qtcore/qtcore-5.13.2-r2.ebuild
@@ -8,7 +8,7 @@ inherit qt5-build
DESCRIPTION="Cross-platform application development framework"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm ~arm64 ~hppa ppc ppc64 ~sparc ~x86"
+ KEYWORDS="arm"
fi
IUSE="icu systemd"
diff --git a/dev-qt/qtcore/qtcore-5.14.1-r1.ebuild b/dev-qt/qtcore/qtcore-5.14.1-r1.ebuild
index d96ec59bb319..56b38e6769cc 100644
--- a/dev-qt/qtcore/qtcore-5.14.1-r1.ebuild
+++ b/dev-qt/qtcore/qtcore-5.14.1-r1.ebuild
@@ -8,7 +8,7 @@ inherit qt5-build
DESCRIPTION="Cross-platform application development framework"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+ KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86"
fi
IUSE="icu systemd"
diff --git a/dev-qt/qtcore/qtcore-5.13.2-r1.ebuild b/dev-qt/qtcore/qtcore-5.14.2.ebuild
index 72100dc64690..e1f44b0b6e03 100644
--- a/dev-qt/qtcore/qtcore-5.13.2-r1.ebuild
+++ b/dev-qt/qtcore/qtcore-5.14.2.ebuild
@@ -2,16 +2,18 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+
QT5_MODULE="qtbase"
-inherit qt5-build
+inherit linux-info qt5-build
DESCRIPTION="Cross-platform application development framework"
+SLOT=5/$(ver_cut 1-3)
if [[ ${QT5_BUILD_TYPE} == release ]]; then
- KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~sparc ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
fi
-IUSE="icu systemd"
+IUSE="icu old-kernel systemd"
DEPEND="
dev-libs/double-conversion:=
@@ -30,7 +32,6 @@ QT5_TARGET_SUBDIRS=(
src/tools/bootstrap
src/tools/moc
src/tools/rcc
- src/tools/qfloat16-tables
src/corelib
src/tools/qlalr
doc
@@ -43,6 +44,20 @@ QT5_GENTOO_PRIVATE_CONFIG=(
!:xml
)
+PATCHES=(
+ "${FILESDIR}/${PN}-5.14.1-cmake-macro-backward-compat.patch" # bug 703306
+ "${FILESDIR}/${P}-QLibrary-deadlock.patch" # QTBUG-83207
+)
+
+pkg_pretend() {
+ use kernel_linux || return
+ get_running_version
+ if kernel_is -lt 3 17 && ! use old-kernel; then
+ ewarn "The running kernel is older than 3.17. USE=old-kernel is needed for"
+ ewarn "dev-qt/qtcore to function on this kernel properly. See Bug #669994."
+ fi
+}
+
src_prepare() {
# don't add -O3 to CXXFLAGS, bug 549140
sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/corelib/corelib.pro || die
@@ -60,6 +75,10 @@ src_configure() {
$(qt_use !icu iconv)
$(qt_use systemd journald)
)
+ use old-kernel && myconf+=(
+ -no-feature-renameat2 # needs Linux 3.16, bug 669994
+ -no-feature-getentropy # needs Linux 3.17, bug 669994
+ )
qt5-build_src_configure
}