Accepting request 895953 from home:Vogtinator:qt5.15

- Add patch to fix possible crash caused by GCC 11 build fix:
  * 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch
- Add patches to fix build with GCC 11 (boo#1181861, QTBUG-90395):
  * 0001-Fix-build-with-GCC-11-include-limits.patch
  * 0002-Build-fixes-for-GCC-11.patch

OBS-URL: https://build.opensuse.org/request/show/895953
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtdoc?expand=0&rev=14
This commit is contained in:
Christophe Giboudeaux 2021-05-28 12:28:44 +00:00 committed by Git OBS Bridge
parent 9edbad86cc
commit cc59245245
5 changed files with 163 additions and 6 deletions

View File

@ -0,0 +1,53 @@
From 924424120a2c468511256072e05d1ecc7c0c74a7 Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@intel.com>
Date: Mon, 18 Jan 2021 07:40:54 -0800
Subject: [PATCH 1/2] Fix build with GCC 11: include <limits>
Fixes: QTBUG-90395
Change-Id: Iecc74d2000eb40dfbe7bfffd165b5dd3708b7a40
(cherry picked from commit 9c56d4da2ff631a8c1c30475bd792f6c86bda53c)
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit b2af6332ea37e45ab230a7a5d2d278f86d961b83)
---
src/corelib/global/qendian.h | 6 ++++--
src/corelib/global/qfloat16.h | 1 +
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/qtbase/src/corelib/global/qendian.h b/qtbase/src/corelib/global/qendian.h
index 257efbbdbe..339f53abb6 100644
--- a/qtbase/src/corelib/global/qendian.h
+++ b/qtbase/src/corelib/global/qendian.h
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Copyright (C) 2016 Intel Corporation.
+** Copyright (C) 2021 The Qt Company Ltd.
+** Copyright (C) 2021 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -44,6 +44,8 @@
#include <QtCore/qfloat16.h>
#include <QtCore/qglobal.h>
+#include <limits>
+
// include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems
#include <stdlib.h>
#include <string.h>
diff --git a/qtbase/src/corelib/global/qfloat16.h b/qtbase/src/corelib/global/qfloat16.h
index c7a9c87af3..5302be072e 100644
--- a/qtbase/src/corelib/global/qfloat16.h
+++ b/qtbase/src/corelib/global/qfloat16.h
@@ -43,6 +43,7 @@
#include <QtCore/qglobal.h>
#include <QtCore/qmetatype.h>
+#include <limits>
#include <string.h>
#if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__)
--
2.25.1

View File

@ -0,0 +1,32 @@
From 45b201ea42f69510713ddd09fb092ed6f93ad1db Mon Sep 17 00:00:00 2001
From: Ulf Hermann <ulf.hermann@qt.io>
Date: Wed, 20 Jan 2021 10:42:36 +0100
Subject: [PATCH] Partially revert 813a928c7c3cf98670b6043149880ed5c955efb9
Otherwise ASAN complains about mismatched new/delete.
Change-Id: I76ddcc388309e20055c93c68b9b6fa8a11b884e1
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
(cherry picked from commit 606b03d0a35e71565c3a91588ef2db45b9262e27)
---
src/corelib/tools/qsharedpointer_impl.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/qtbase/src/corelib/tools/qsharedpointer_impl.h b/qtbase/src/corelib/tools/qsharedpointer_impl.h
index 4aee98af53..790c187cb9 100644
--- a/qtbase/src/corelib/tools/qsharedpointer_impl.h
+++ b/qtbase/src/corelib/tools/qsharedpointer_impl.h
@@ -155,6 +155,9 @@ namespace QtSharedPointer {
#endif
inline void checkQObjectShared(...) { }
inline void setQObjectShared(...) { }
+
+ inline void operator delete(void *ptr) { ::operator delete(ptr); }
+ inline void operator delete(void *, void *) { }
};
// sizeof(ExternalRefCountData) = 12 (32-bit) / 16 (64-bit)
--
2.25.1

View File

@ -0,0 +1,59 @@
From 896bcb186161c38965bd002b28156a2aab4b4a76 Mon Sep 17 00:00:00 2001
From: Ville Voutilainen <ville.voutilainen@qt.io>
Date: Mon, 18 Jan 2021 09:58:17 +0200
Subject: [PATCH 2/2] Build fixes for GCC 11
Task-number: QTBUG-89977
Change-Id: Ic1b7ddbffb8a0a00f8c621d09a868f1d94a52c21
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 813a928c7c3cf98670b6043149880ed5c955efb9)
---
src/corelib/text/qbytearraymatcher.h | 2 ++
src/corelib/tools/qsharedpointer_impl.h | 3 ---
src/plugins/platforms/xcb/qxcbwindow.cpp | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/qtbase/src/corelib/text/qbytearraymatcher.h b/qtbase/src/corelib/text/qbytearraymatcher.h
index 0eedfc1d20..f5f9bef7b8 100644
--- a/qtbase/src/corelib/text/qbytearraymatcher.h
+++ b/qtbase/src/corelib/text/qbytearraymatcher.h
@@ -42,6 +42,8 @@
#include <QtCore/qbytearray.h>
+#include <limits>
+
QT_BEGIN_NAMESPACE
diff --git a/qtbase/src/corelib/tools/qsharedpointer_impl.h b/qtbase/src/corelib/tools/qsharedpointer_impl.h
index 790c187cb9..4aee98af53 100644
--- a/qtbase/src/corelib/tools/qsharedpointer_impl.h
+++ b/qtbase/src/corelib/tools/qsharedpointer_impl.h
@@ -155,9 +155,6 @@ namespace QtSharedPointer {
#endif
inline void checkQObjectShared(...) { }
inline void setQObjectShared(...) { }
-
- inline void operator delete(void *ptr) { ::operator delete(ptr); }
- inline void operator delete(void *, void *) { }
};
// sizeof(ExternalRefCountData) = 12 (32-bit) / 16 (64-bit)
diff --git a/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp b/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp
index 9e7e1a5572..f0866a90ac 100644
--- a/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -698,7 +698,7 @@ void QXcbWindow::show()
if (isTransient(window())) {
const QWindow *tp = window()->transientParent();
if (tp && tp->handle())
- transientXcbParent = static_cast<const QXcbWindow *>(tp->handle())->winId();
+ transientXcbParent = tp->handle()->winId();
// Default to client leader if there is no transient parent, else modal dialogs can
// be hidden by their parents.
if (!transientXcbParent)
--
2.25.1

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Fri May 28 08:17:31 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Add patch to fix possible crash caused by GCC 11 build fix:
* 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch
- Add patches to fix build with GCC 11 (boo#1181861, QTBUG-90395):
* 0001-Fix-build-with-GCC-11-include-limits.patch
* 0002-Build-fixes-for-GCC-11.patch
-------------------------------------------------------------------
Fri Nov 20 12:09:16 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>

View File

@ -27,6 +27,10 @@ License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
Group: Documentation/Other
URL: https://www.qt.io
Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/single/%{tar_version}.tar.xz
# PATCH-FIX-UPSTREAM
Patch1: 0001-Fix-build-with-GCC-11-include-limits.patch
Patch2: 0002-Build-fixes-for-GCC-11.patch
Patch3: 0001-Partially-revert-813a928c7c3cf98670b6043149880ed5c95.patch
# Breaks make_jobs
#!BuildIgnore: cmake
BuildRequires: alsa-devel
@ -126,7 +130,7 @@ required.
%autopatch -p1
%build
# We need to link to some of the programs used as that the source assumes they were just build.
# We need to link to some of the programs used as that the source assumes they were just built.
ln -s %{_bindir}/rcc-qt5 qtbase/bin/rcc
ln -s %{_bindir}/uic-qt5 qtbase/bin/uic
ln -s %{_bindir}/moc-qt5 qtbase/bin/moc
@ -137,13 +141,13 @@ ln -s %{_libqt5_bindir} qttools/bin
# FIXME: you should use the %%configure macro
./configure \
-verbose \
-verbose \
-prefix %{_prefix} \
-bindir %{_libqt5_bindir} \
-docdir %{_libqt5_docdir} \
-accessibility \
-no-strip \
-opensource \
-docdir %{_libqt5_docdir} \
-accessibility \
-no-strip \
-opensource \
-confirm-license \
-release \
-nomake tests \