[gentoo-commits] proj/qt:master commit in: dev-qt/qtcore/files/, dev-qt/qtcore/

2022-06-15 Thread Andreas Sturmlechner
commit: f53329f738bfbd9ce93be632a5da4a0bd5767272
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Tue Jun 14 11:41:24 2022 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Tue Jun 14 18:21:17 2022 +
URL:https://gitweb.gentoo.org/proj/qt.git/commit/?id=f53329f7

dev-qt/qtcore: Cleanup and make use of gentoo-patchset

Ends the which-hunt.

Bug: https://bugs.gentoo.org/828100
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 dev-qt/qtcore/Manifest |  1 +
 ...qtcore-5.14.1-cmake-macro-backward-compat.patch | 50 --
 dev-qt/qtcore/files/qtcore-5.15.3-pthread.patch| 41 --
 dev-qt/qtcore/qtcore-5.15.4..ebuild|  5 ---
 4 files changed, 1 insertion(+), 96 deletions(-)

diff --git a/dev-qt/qtcore/Manifest b/dev-qt/qtcore/Manifest
new file mode 100644
index ..1e41118d
--- /dev/null
+++ b/dev-qt/qtcore/Manifest
@@ -0,0 +1 @@
+DIST qtbase-5.15-gentoo-patchset-1.tar.xz 4204 BLAKE2B 
1399eb6f4c776d370e1837351a72b604440658a3a2d1bd0c725b9ef149b09d236347f5f4b37f652c33310048a0a7df54e24453b404dc45507fd4f7c5fdf144cd
 SHA512 
c857fc746bacb047321cdb762f3c7c48ce2a0d24045a9e708edd38532568dbbc74e9e971425a72a3c2a5ca0662b3e6333831f6c1b7746525b99d46000b63111f

diff --git 
a/dev-qt/qtcore/files/qtcore-5.14.1-cmake-macro-backward-compat.patch 
b/dev-qt/qtcore/files/qtcore-5.14.1-cmake-macro-backward-compat.patch
deleted file mode 100644
index 30b5abc3..
--- a/dev-qt/qtcore/files/qtcore-5.14.1-cmake-macro-backward-compat.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From: Andreas Sturmlechner 
-Date: Sun, 9 Feb 2020 11:45:00 +0100
-Subject: [PATCH] qtcore: Fix cmake macro compat. for upgrade from https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14=63d9cd17
-
-_populate_$${CMAKE_MODULE_NAME}_plugin_properties in 5.14.0 gained an 
additional argument
-IsDebugAndRelease without providing backward compatibility. This macro is used 
(at least) for
-QtGui and QtDesigner plugins added by qtimageformats, qtsvg, qtvirtualkeyboard 
and qtwayland.
-During upgrade from =Qt-5.14, as a consequence of slot upgrade 
rebuilds, some
-reverse dependencies are slated for rebuild before these Qt consumers have 
been rebuilt and their
-cmake files regenerated, leading to cmake errors like:
-
-https://bugs.gentoo.org/703306
-https://bugs.gentoo.org/705198
-
-From mkspecs/features/create_cmake.prf:
-
-# CMAKE_DEBUG_AND_RELEASE is used to tell the 
_populate_$${CMAKE_MODULE_NAME}_target_properties
-# functions whether a Configuration specific generator expression needs to be 
added to the values
-# of INTERFACE_LINK_LIBRARIES and INTERFACE_LINK_OPTIONS. For 
debug_and_release builds, we do need
-# configuration specific values. For singular builds (only release or only 
debug), we want the
-# values to be applied regardless of the configuration.
-# This would allow on Linux and macOS (and with a recent enough version of 
CMake on Windows) to
-# build a Debug configuration of an application, even if Qt was built in a 
Release configuration.
-
-qt5-build.eclass is configuring either as 'release' or as 'debug', so we make 
IsDebugAndRelease
-optional and default to FALSE.
-
 a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in  2020-01-23 
13:37:32.0 +0100
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in  2020-02-09 
15:15:21.156219814 +0100
-@@ -538,8 +538,14 @@
- 
- file(GLOB pluginTargets 
\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
- 
--macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin 
Configuration PLUGIN_LOCATION
--  IsDebugAndRelease)
-+macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin 
Configuration PLUGIN_LOCATION)
-+set(IsDebugAndRelease FALSE)
-+set (list_var ${ARGN})
-+list(LENGTH list_var num_extra_arg)
-+if (${num_extra_arg} GREATER 0)
-+list(GET list_var 0 IsDebugAndRelease)
-+endif()
-+
- set_property(TARGET Qt5::${Plugin} APPEND PROPERTY 
IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)

diff --git a/dev-qt/qtcore/files/qtcore-5.15.3-pthread.patch 
b/dev-qt/qtcore/files/qtcore-5.15.3-pthread.patch
deleted file mode 100644
index c83c59ac..
--- a/dev-qt/qtcore/files/qtcore-5.15.3-pthread.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-# Use link option -pthread instead of -lpthread
-
-# https://github.com/riscv-collab/riscv-gcc/issues/12 use Option 4
-# 
https://stackoverflow.com/questions/23250863/difference-between-pthread-and-lpthread-while-compiling
-# In riscv, "-pthread" equivalent to add link option "--push-state --as-needed 
-latomic --pop-state"
-
-diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
-index 544cc227..add969be 100644
 a/mkspecs/common/linux.conf
-+++ b/mkspecs/common/linux.conf
-@@ -33,7 +33,7 @@ QMAKE_LIBS_EGL  = -lEGL
- 

[gentoo-commits] proj/qt:master commit in: dev-qt/qtcore/files/, dev-qt/qtcore/

2022-04-01 Thread Andreas Sturmlechner
commit: ebcfd362f1047bbb7c09021bad242dc9fd8a030f
Author: Han Gao  gmail  com>
AuthorDate: Sun Mar 27 13:05:18 2022 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Fri Apr  1 17:57:49 2022 +
URL:https://gitweb.gentoo.org/proj/qt.git/commit/?id=ebcfd362

dev-qt/qtcore: use link option -pthread instead of -lpthread

Bug: https://bugs.gentoo.org/803470
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Han Gao  gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/24711
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 dev-qt/qtcore/files/qtcore-5.15.3-pthread.patch | 41 +
 dev-qt/qtcore/qtcore-5.15.3..ebuild |  1 +
 2 files changed, 42 insertions(+)

diff --git a/dev-qt/qtcore/files/qtcore-5.15.3-pthread.patch 
b/dev-qt/qtcore/files/qtcore-5.15.3-pthread.patch
new file mode 100644
index ..c83c59ac
--- /dev/null
+++ b/dev-qt/qtcore/files/qtcore-5.15.3-pthread.patch
@@ -0,0 +1,41 @@
+# Use link option -pthread instead of -lpthread
+
+# https://github.com/riscv-collab/riscv-gcc/issues/12 use Option 4
+# 
https://stackoverflow.com/questions/23250863/difference-between-pthread-and-lpthread-while-compiling
+# In riscv, "-pthread" equivalent to add link option "--push-state --as-needed 
-latomic --pop-state"
+
+diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
+index 544cc227..add969be 100644
+--- a/mkspecs/common/linux.conf
 b/mkspecs/common/linux.conf
+@@ -33,7 +33,7 @@ QMAKE_LIBS_EGL  = -lEGL
+ QMAKE_LIBS_OPENGL   = -lGL
+ QMAKE_LIBS_OPENGL_ES2   = -lGLESv2
+ QMAKE_LIBS_OPENVG   = -lOpenVG
+-QMAKE_LIBS_THREAD   = -lpthread
++QMAKE_LIBS_THREAD   = -pthread
+ QMAKE_LIBS_VULKAN   =
+ 
+ QMAKE_INCDIR_WAYLAND=
+diff --git a/src/corelib/configure.json b/src/corelib/configure.json
+index 9b5d19d4..da028fb2 100644
+--- a/src/corelib/configure.json
 b/src/corelib/configure.json
+@@ -355,7 +355,7 @@
+ "std::future f = std::async([]() { return 42; });",
+ "(void)f.get();"
+ ],
+-"qmake": "unix:LIBS += -lpthread"
++"qmake": "unix:LIBS += -pthread"
+ }
+ },
+ "cxx11_random": {
+@@ -466,7 +466,7 @@
+ "shm_open(\"test\", O_RDWR | O_CREAT | O_EXCL, 0666);",
+ "shm_unlink(\"test\");"
+ ],
+-"qmake": "linux: LIBS += -lpthread -lrt"
++"qmake": "linux: LIBS += -pthread -lrt"
+ }
+ },
+ "linkat": {

diff --git a/dev-qt/qtcore/qtcore-5.15.3..ebuild 
b/dev-qt/qtcore/qtcore-5.15.3..ebuild
index 3d3b8751..f8c7d657 100644
--- a/dev-qt/qtcore/qtcore-5.15.3..ebuild
+++ b/dev-qt/qtcore/qtcore-5.15.3..ebuild
@@ -44,6 +44,7 @@ QT5_GENTOO_PRIVATE_CONFIG=(
 
 PATCHES=(
"${FILESDIR}"/${PN}-5.14.1-cmake-macro-backward-compat.patch # bug 
703306
+   "${FILESDIR}"/${PN}-5.15.3-pthread.patch # bug 803470
 )
 
 pkg_pretend() {



[gentoo-commits] proj/qt:master commit in: dev-qt/qtcore/files/, dev-qt/qtcore/

2022-01-19 Thread Andreas Sturmlechner
commit: 99ee62b2dd16d747c666d86a12c005c5c356dbe9
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Wed Jan 19 16:49:25 2022 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Wed Jan 19 16:49:39 2022 +
URL:https://gitweb.gentoo.org/proj/qt.git/commit/?id=99ee62b2

dev-qt/qtcore: Drop obsolete downstream reverts

Upstream MR was merged:
https://invent.kde.org/qt/qt/qtbase/-/merge_requests/111

QTBUG: https://bugreports.qt.io/browse/QTBUG-87326

Bug: https://bugs.gentoo.org/737914
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 dev-qt/qtcore/files/qtcore-5.15.1-timezone-1.patch | 271 -
 dev-qt/qtcore/files/qtcore-5.15.1-timezone-2.patch |  47 
 dev-qt/qtcore/qtcore-5.15.2..ebuild|   3 +-
 3 files changed, 1 insertion(+), 320 deletions(-)

diff --git a/dev-qt/qtcore/files/qtcore-5.15.1-timezone-1.patch 
b/dev-qt/qtcore/files/qtcore-5.15.1-timezone-1.patch
deleted file mode 100644
index 1c8f1e89..
--- a/dev-qt/qtcore/files/qtcore-5.15.1-timezone-1.patch
+++ /dev/null
@@ -1,271 +0,0 @@
-From c337f6fae51b987ce7dbed1fd9bea41e6073efbb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= 
-Date: Sat, 10 Oct 2020 19:26:13 +0200
-Subject: [PATCH 1/2] Revert "Cache system zone ID when fetched from the
- file-system"
-
-This reverts commit c70ce3d042025c858faffe661f85d2482a2a0d8c.

- src/corelib/time/qtimezoneprivate_tz.cpp | 205 +++
- 1 file changed, 64 insertions(+), 141 deletions(-)
-
-diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp 
b/src/corelib/time/qtimezoneprivate_tz.cpp
-index c5c70b7364..01f9a6cce0 100644
 a/src/corelib/time/qtimezoneprivate_tz.cpp
-+++ b/src/corelib/time/qtimezoneprivate_tz.cpp
-@@ -1,6 +1,5 @@
- /
- **
--** Copyright (C) 2020 The Qt Company Ltd.
- ** Copyright (C) 2019 Crimson AS 
- ** Copyright (C) 2013 John Layt 
- ** Contact: https://www.qt.io/licensing/
-@@ -43,19 +42,18 @@
- #include "qtimezoneprivate_p.h"
- #include "private/qlocale_tools_p.h"
- 
--#include 
--#include 
- #include 
--#include 
- #include 
-+#include 
-+#include 
-+#include 
- 
- #include 
--#include 
- 
- #include 
- #include 
- #include 
--#ifndef Q_OS_INTEGRITY
-+#if !defined(Q_OS_INTEGRITY)
- #include  // to use MAXSYMLINKS constant
- #endif
- #include // to use _SC_SYMLOOP_MAX constant
-@@ -1102,146 +1100,28 @@ QTimeZonePrivate::Data 
QTzTimeZonePrivate::previousTransition(qint64 beforeMSecs
- return last > tranCache().cbegin() ? dataForTzTransition(*--last) : 
invalidData();
- }
- 
--bool QTzTimeZonePrivate::isTimeZoneIdAvailable(const QByteArray ) const
--{
--return tzZones->contains(ianaId);
--}
--
--QList QTzTimeZonePrivate::availableTimeZoneIds() const
--{
--QList result = tzZones->keys();
--std::sort(result.begin(), result.end());
--return result;
--}
--
--QList QTzTimeZonePrivate::availableTimeZoneIds(QLocale::Country 
country) const
-+static long getSymloopMax()
- {
--// TODO AnyCountry
--QList result;
--for (auto it = tzZones->cbegin(), end = tzZones->cend(); it != end; ++it) 
{
--if (it.value().country == country)
--result << it.key();
--}
--std::sort(result.begin(), result.end());
--return result;
--}
--
--// Getting the system zone's ID:
--
--namespace {
--class ZoneNameReader : public QObject
--{
--public:
--QByteArray name()
--{
--/* Assumptions:
--   a) Systems don't change which of localtime and TZ they use without 
a
--  reboot.
--   b) When they change, they use atomic renames, hence a new device 
and
--  inode for the new file.
--   c) If we change which *name* is used for a zone, while referencing
--  the same final zoneinfo file, we don't care about the change of
--  name (e.g. if Europe/Oslo and Europe/Berlin are both symlinks to
--  the same CET file, continuing to use the old name, after
--  /etc/localtime changes which of the two it points to, is
--  harmless).
--
--   The alternative would be to use a file-system watcher, but they 
are a
--   scarce resource.
-- */
--const StatIdent local = identify("/etc/localtime");
--const StatIdent tz = identify("/etc/TZ");
--if (!m_name.isEmpty() && m_last.isValid() && (m_last == local || 
m_last == tz))
--return m_name;
--
--m_name = etcLocalTime();
--if (!m_name.isEmpty()) {
--m_last = local;
--return m_name;
--}
--
--m_name = etcTZ();
--m_last = m_name.isEmpty() ? StatIdent() : tz;
--return m_name;
--}
--
--
--private:
--QByteArray m_name;
--struct StatIdent
--{
--static constexpr unsigned long bad = ~0ul;
--unsigned long m_dev, m_ino;

[gentoo-commits] proj/qt:master commit in: dev-qt/qtcore/files/, dev-qt/qtcore/

2021-09-30 Thread Andreas Sturmlechner
commit: e65b89b6e937ac0a2b3a37e07b08407511b6a692
Author: Andreas K. Hüttel  gentoo  org>
AuthorDate: Sat Oct 10 17:39:33 2020 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Thu Sep 30 10:55:51 2021 +
URL:https://gitweb.gentoo.org/proj/qt.git/commit/?id=e65b89b6

dev-qt/qtcore: Revert timezone handling to 5.14 state

This is an obvious workaround, until we and upstream have
decided what to do...

(sync with Gentoo ebuild repository)

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Andreas K. Hüttel  gentoo.org>
Signed-off-by: Andreas Sturmlechner  gentoo.org>

 dev-qt/qtcore/files/qtcore-5.15.1-timezone-1.patch | 271 +
 dev-qt/qtcore/files/qtcore-5.15.1-timezone-2.patch |  47 
 dev-qt/qtcore/qtcore-5.15.2..ebuild|   5 +-
 3 files changed, 322 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtcore/files/qtcore-5.15.1-timezone-1.patch 
b/dev-qt/qtcore/files/qtcore-5.15.1-timezone-1.patch
new file mode 100644
index ..1c8f1e89
--- /dev/null
+++ b/dev-qt/qtcore/files/qtcore-5.15.1-timezone-1.patch
@@ -0,0 +1,271 @@
+From c337f6fae51b987ce7dbed1fd9bea41e6073efbb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= 
+Date: Sat, 10 Oct 2020 19:26:13 +0200
+Subject: [PATCH 1/2] Revert "Cache system zone ID when fetched from the
+ file-system"
+
+This reverts commit c70ce3d042025c858faffe661f85d2482a2a0d8c.
+---
+ src/corelib/time/qtimezoneprivate_tz.cpp | 205 +++
+ 1 file changed, 64 insertions(+), 141 deletions(-)
+
+diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp 
b/src/corelib/time/qtimezoneprivate_tz.cpp
+index c5c70b7364..01f9a6cce0 100644
+--- a/src/corelib/time/qtimezoneprivate_tz.cpp
 b/src/corelib/time/qtimezoneprivate_tz.cpp
+@@ -1,6 +1,5 @@
+ /
+ **
+-** Copyright (C) 2020 The Qt Company Ltd.
+ ** Copyright (C) 2019 Crimson AS 
+ ** Copyright (C) 2013 John Layt 
+ ** Contact: https://www.qt.io/licensing/
+@@ -43,19 +42,18 @@
+ #include "qtimezoneprivate_p.h"
+ #include "private/qlocale_tools_p.h"
+ 
+-#include 
+-#include 
+ #include 
+-#include 
+ #include 
++#include 
++#include 
++#include 
+ 
+ #include 
+-#include 
+ 
+ #include 
+ #include 
+ #include 
+-#ifndef Q_OS_INTEGRITY
++#if !defined(Q_OS_INTEGRITY)
+ #include  // to use MAXSYMLINKS constant
+ #endif
+ #include // to use _SC_SYMLOOP_MAX constant
+@@ -1102,146 +1100,28 @@ QTimeZonePrivate::Data 
QTzTimeZonePrivate::previousTransition(qint64 beforeMSecs
+ return last > tranCache().cbegin() ? dataForTzTransition(*--last) : 
invalidData();
+ }
+ 
+-bool QTzTimeZonePrivate::isTimeZoneIdAvailable(const QByteArray ) const
+-{
+-return tzZones->contains(ianaId);
+-}
+-
+-QList QTzTimeZonePrivate::availableTimeZoneIds() const
+-{
+-QList result = tzZones->keys();
+-std::sort(result.begin(), result.end());
+-return result;
+-}
+-
+-QList QTzTimeZonePrivate::availableTimeZoneIds(QLocale::Country 
country) const
++static long getSymloopMax()
+ {
+-// TODO AnyCountry
+-QList result;
+-for (auto it = tzZones->cbegin(), end = tzZones->cend(); it != end; ++it) 
{
+-if (it.value().country == country)
+-result << it.key();
+-}
+-std::sort(result.begin(), result.end());
+-return result;
+-}
+-
+-// Getting the system zone's ID:
+-
+-namespace {
+-class ZoneNameReader : public QObject
+-{
+-public:
+-QByteArray name()
+-{
+-/* Assumptions:
+-   a) Systems don't change which of localtime and TZ they use without 
a
+-  reboot.
+-   b) When they change, they use atomic renames, hence a new device 
and
+-  inode for the new file.
+-   c) If we change which *name* is used for a zone, while referencing
+-  the same final zoneinfo file, we don't care about the change of
+-  name (e.g. if Europe/Oslo and Europe/Berlin are both symlinks to
+-  the same CET file, continuing to use the old name, after
+-  /etc/localtime changes which of the two it points to, is
+-  harmless).
+-
+-   The alternative would be to use a file-system watcher, but they 
are a
+-   scarce resource.
+- */
+-const StatIdent local = identify("/etc/localtime");
+-const StatIdent tz = identify("/etc/TZ");
+-if (!m_name.isEmpty() && m_last.isValid() && (m_last == local || 
m_last == tz))
+-return m_name;
+-
+-m_name = etcLocalTime();
+-if (!m_name.isEmpty()) {
+-m_last = local;
+-return m_name;
+-}
+-
+-m_name = etcTZ();
+-m_last = m_name.isEmpty() ? StatIdent() : tz;
+-return m_name;
+-}
+-
+-
+-private:
+-QByteArray m_name;
+-struct StatIdent
+-{
+-static constexpr unsigned long bad = ~0ul;
+-unsigned long m_dev, m_ino;
+- 

[gentoo-commits] proj/qt:master commit in: dev-qt/qtcore/files/, dev-qt/qtcore/

2020-02-09 Thread Andreas Sturmlechner
commit: 91b38cc3ab9bb6c70c9e40ba6a5fbbe41b2da753
Author: Andreas Sturmlechner  gentoo  org>
AuthorDate: Sun Feb  9 10:59:22 2020 +
Commit: Andreas Sturmlechner  gentoo  org>
CommitDate: Sun Feb  9 19:22:20 2020 +
URL:https://gitweb.gentoo.org/proj/qt.git/commit/?id=91b38cc3

dev-qt/qtcore: Fix cmake macro compat. for upgrade from https://bugs.gentoo.org/703306
Closes: https://bugs.gentoo.org/705198
Package-Manager: Portage-2.3.87, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner  gentoo.org>
(cherry picked from commit fe1eb44a73d1a8e99aae1eeb2b7504b326df2cd1)

 ...qtcore-5.14.1-cmake-macro-backward-compat.patch | 50 ++
 dev-qt/qtcore/qtcore-5.14..ebuild  |  4 +-
 dev-qt/qtcore/qtcore-5.15..ebuild  |  4 +-
 3 files changed, 56 insertions(+), 2 deletions(-)

diff --git 
a/dev-qt/qtcore/files/qtcore-5.14.1-cmake-macro-backward-compat.patch 
b/dev-qt/qtcore/files/qtcore-5.14.1-cmake-macro-backward-compat.patch
new file mode 100644
index ..30b5abc3
--- /dev/null
+++ b/dev-qt/qtcore/files/qtcore-5.14.1-cmake-macro-backward-compat.patch
@@ -0,0 +1,50 @@
+From: Andreas Sturmlechner 
+Date: Sun, 9 Feb 2020 11:45:00 +0100
+Subject: [PATCH] qtcore: Fix cmake macro compat. for upgrade from https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14=63d9cd17
+
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties in 5.14.0 gained an 
additional argument
+IsDebugAndRelease without providing backward compatibility. This macro is used 
(at least) for
+QtGui and QtDesigner plugins added by qtimageformats, qtsvg, qtvirtualkeyboard 
and qtwayland.
+During upgrade from =Qt-5.14, as a consequence of slot upgrade 
rebuilds, some
+reverse dependencies are slated for rebuild before these Qt consumers have 
been rebuilt and their
+cmake files regenerated, leading to cmake errors like:
+
+https://bugs.gentoo.org/703306
+https://bugs.gentoo.org/705198
+
+From mkspecs/features/create_cmake.prf:
+
+# CMAKE_DEBUG_AND_RELEASE is used to tell the 
_populate_$${CMAKE_MODULE_NAME}_target_properties
+# functions whether a Configuration specific generator expression needs to be 
added to the values
+# of INTERFACE_LINK_LIBRARIES and INTERFACE_LINK_OPTIONS. For 
debug_and_release builds, we do need
+# configuration specific values. For singular builds (only release or only 
debug), we want the
+# values to be applied regardless of the configuration.
+# This would allow on Linux and macOS (and with a recent enough version of 
CMake on Windows) to
+# build a Debug configuration of an application, even if Qt was built in a 
Release configuration.
+
+qt5-build.eclass is configuring either as 'release' or as 'debug', so we make 
IsDebugAndRelease
+optional and default to FALSE.
+
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in  2020-01-23 
13:37:32.0 +0100
 b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in  2020-02-09 
15:15:21.156219814 +0100
+@@ -538,8 +538,14 @@
+ 
+ file(GLOB pluginTargets 
\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*Plugin.cmake\")
+ 
+-macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin 
Configuration PLUGIN_LOCATION
+-  IsDebugAndRelease)
++macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin 
Configuration PLUGIN_LOCATION)
++set(IsDebugAndRelease FALSE)
++set (list_var ${ARGN})
++list(LENGTH list_var num_extra_arg)
++if (${num_extra_arg} GREATER 0)
++list(GET list_var 0 IsDebugAndRelease)
++endif()
++
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY 
IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)

diff --git a/dev-qt/qtcore/qtcore-5.14..ebuild 
b/dev-qt/qtcore/qtcore-5.14..ebuild
index e6a7a124..9b476abf 100644
--- a/dev-qt/qtcore/qtcore-5.14..ebuild
+++ b/dev-qt/qtcore/qtcore-5.14..ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -42,6 +42,8 @@ QT5_GENTOO_PRIVATE_CONFIG=(
!:xml
 )
 
+PATCHES=( "${FILESDIR}/${PN}-5.14.1-cmake-macro-backward-compat.patch" ) # bug 
703306
+
 src_prepare() {
# don't add -O3 to CXXFLAGS, bug 549140
sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/corelib/corelib.pro || 
die

diff --git a/dev-qt/qtcore/qtcore-5.15..ebuild 
b/dev-qt/qtcore/qtcore-5.15..ebuild
index e6a7a124..9b476abf 100644
--- a/dev-qt/qtcore/qtcore-5.15..ebuild
+++ b/dev-qt/qtcore/qtcore-5.15..ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -42,6 +42,8 @@ QT5_GENTOO_PRIVATE_CONFIG=(
!:xml
 )
 
+PATCHES=( "${FILESDIR}/${PN}-5.14.1-cmake-macro-backward-compat.patch" ) # bug 
703306
+
 src_prepare() {
# don't add -O3 to CXXFLAGS, bug