diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2020-10-13 16:26:11 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2020-10-18 18:15:28 +0200 |
commit | 1c0947091db651f4e7d136e22d4887b47d9245cd (patch) | |
tree | dd264a79b23c6103b138807ca5b05d76fcd07959 /dev-qt/qtcore | |
parent | media-sound/alsa-utils: x86 stable (bug #749159) (diff) | |
download | gentoo-1c0947091db651f4e7d136e22d4887b47d9245cd.tar.gz gentoo-1c0947091db651f4e7d136e22d4887b47d9245cd.tar.bz2 gentoo-1c0947091db651f4e7d136e22d4887b47d9245cd.zip |
dev-qt: Drop Qt 5.14.2
Bug: https://bugs.gentoo.org/734600
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'dev-qt/qtcore')
-rw-r--r-- | dev-qt/qtcore/Manifest | 1 | ||||
-rw-r--r-- | dev-qt/qtcore/files/qtcore-5.14.2-QLibrary-deadlock.patch | 106 | ||||
-rw-r--r-- | dev-qt/qtcore/qtcore-5.14.2.ebuild | 103 |
3 files changed, 0 insertions, 210 deletions
diff --git a/dev-qt/qtcore/Manifest b/dev-qt/qtcore/Manifest index d72f3b48819d..98e054ddcf58 100644 --- a/dev-qt/qtcore/Manifest +++ b/dev-qt/qtcore/Manifest @@ -1,2 +1 @@ -DIST qtbase-everywhere-src-5.14.2.tar.xz 49865752 BLAKE2B ed8eb18dfc79e9983248655eb62e8305ef8b79f96c7880c88533250fef8f0d187cf576082d41df08314711b4c007b94686486abd77bf9bc201336caa02ced300 SHA512 8c83e06d58b56e9f288e83d6c3dd4ad6cc9f1eb1a32c7b44fb912fda34ed7255766fd9fa60cd740ee001df7d6172f25df05f1f95e986c3e793fbcd9bf4f18de9 DIST qtbase-everywhere-src-5.15.1.tar.xz 50153132 BLAKE2B 5a8cbbf8d44c7affc8ee43db04bd024bb529e0707b1feee2c7ae439cdf1331b1cf3e89b84c6a6f5bab3ec34025fbd634a8f4d259bd64ece172f288500e5b59e6 SHA512 40b687c046b25a6717834ffe2616ee4f373d75214ec1c7e3a26502cd0cde9f0a872eaee99f06c54c7a3625ae85df5cdd3a3b54a160e8e37c7cfeb5800d026fe4 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 deleted file mode 100644 index 6a9c9921b7d0..000000000000 --- a/dev-qt/qtcore/files/qtcore-5.14.2-QLibrary-deadlock.patch +++ /dev/null @@ -1,106 +0,0 @@ -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/qtcore-5.14.2.ebuild b/dev-qt/qtcore/qtcore-5.14.2.ebuild deleted file mode 100644 index 48df292f53b7..000000000000 --- a/dev-qt/qtcore/qtcore-5.14.2.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -QT5_MODULE="qtbase" -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" -fi - -IUSE="icu old-kernel 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/corelib - src/tools/qlalr - doc -) - -QT5_GENTOO_PRIVATE_CONFIG=( - !:network - !:sql - !:testlib - !: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 - - # 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) - ) - 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 -} - -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 -} |