Accepting request 734738 from home:Vogtinator:qt5.14

Qt 5.14 Alpha

OBS-URL: https://build.opensuse.org/request/show/734738
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.14/libqt5-qtbase?expand=0&rev=2
This commit is contained in:
Fabian Vogt 2019-10-05 16:00:52 +00:00 committed by Git OBS Bridge
parent f7e7f0965b
commit 233b64e611
11 changed files with 92 additions and 240 deletions

View File

@ -18,10 +18,10 @@ a Change-Id: Ib70715d331e8f380a3c9039011bb8521986652aa
src/plugins/printsupport/cups/qppdprintdevice.cpp | 33 +++++++-
4 files changed, 160 insertions(+), 11 deletions(-)
Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintengine.cpp
Index: qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintengine.cpp
===================================================================
--- qtbase-everywhere-src-5.12.1.orig/src/plugins/printsupport/cups/qcupsprintengine.cpp
+++ qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintengine.cpp
--- qtbase-everywhere-src-5.14.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintengine.cpp
+++ qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintengine.cpp
@@ -48,6 +48,7 @@
#include <qbuffer.h>
#include "private/qcups_p.h" // Only needed for PPK_CupsOptions
@ -72,10 +72,10 @@ Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintengi
QFile::remove(tempFile);
}
Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersupport.cpp
Index: qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport.cpp
===================================================================
--- qtbase-everywhere-src-5.12.1.orig/src/plugins/printsupport/cups/qcupsprintersupport.cpp
+++ qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersupport.cpp
--- qtbase-everywhere-src-5.14.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintersupport.cpp
+++ qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport.cpp
@@ -61,6 +61,35 @@
# include <cups/language.h>
#endif
@ -206,10 +206,10 @@ Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersu
+
+
QT_END_NAMESPACE
Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersupport_p.h
Index: qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport_p.h
===================================================================
--- qtbase-everywhere-src-5.12.1.orig/src/plugins/printsupport/cups/qcupsprintersupport_p.h
+++ qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersupport_p.h
--- qtbase-everywhere-src-5.14.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintersupport_p.h
+++ qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport_p.h
@@ -56,6 +56,8 @@
#include <QtCore/qstringlist.h>
@ -234,19 +234,11 @@ Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qcupsprintersu
};
QT_END_NAMESPACE
Index: qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qppdprintdevice.cpp
Index: qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qppdprintdevice.cpp
===================================================================
--- qtbase-everywhere-src-5.12.1.orig/src/plugins/printsupport/cups/qppdprintdevice.cpp
+++ qtbase-everywhere-src-5.12.1/src/plugins/printsupport/cups/qppdprintdevice.cpp
@@ -41,6 +41,7 @@
#include "qcupsprintersupport_p.h"
+#include "qcupsprintersupport_p.h"
#include <QtCore/QMimeDatabase>
#include <qdebug.h>
@@ -65,10 +66,36 @@ QPpdPrintDevice::QPpdPrintDevice(const Q
--- qtbase-everywhere-src-5.14.0-alpha.orig/src/plugins/printsupport/cups/qppdprintdevice.cpp
+++ qtbase-everywhere-src-5.14.0-alpha/src/plugins/printsupport/cups/qppdprintdevice.cpp
@@ -65,10 +65,36 @@ QPpdPrintDevice::QPpdPrintDevice(const Q
if (parts.size() > 1)
m_cupsInstance = parts.at(1).toUtf8();

View File

@ -1,37 +0,0 @@
From dc5362ac7d766a9c1b4ae328bc6ce8a1aa332773 Mon Sep 17 00:00:00 2001
From: Joerg Bornemann <joerg.bornemann@qt.io>
Date: Fri, 6 Sep 2019 10:54:44 +0200
Subject: [PATCH] Fix CMake config files for -libdir different from "lib"
When Qt was configured with -libdir different from "lib", one could not
build with CMake whenever a static lib was pulled in (e.g. uitools).
Do not hard-code "/lib" but use the correct variable also for static
libraries.
Fixes: QTBUG-76255
Change-Id: I28c6861752e29e461247628d2b1f8a9ec32f0790
---
mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index d4fd057682..f4a34d6e48 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -53,7 +53,11 @@ function(_qt5_$${CMAKE_MODULE_NAME}_process_prl_file prl_file_location Configura
set(_lib_deps)
set(_link_flags)
- get_filename_component(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" ABSOLUTE)
+!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+ set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
+!!ELSE
+ set(_qt5_install_libs \"$${CMAKE_LIB_DIR}\")
+!!ENDIF
if(EXISTS \"${prl_file_location}\")
file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=\")
--
2.22.0

View File

@ -1,51 +0,0 @@
From a69373ff735e1ae3e14b5a05a08e4aebf9216185 Mon Sep 17 00:00:00 2001
From: Dmitry Kazakov <dimula73@gmail.com>
Date: Thu, 6 Dec 2018 16:16:27 +0300
Subject: [PATCH 1/3] Fix notification of QDockWidget when it gets undocked
Before the patch the notification was emitted only when the docker
was attached to the panel or changed a position on it.
It looks like the old behavior was documented in a unittest,
so this patch might actually be a "behavior change".
Change-Id: Id3ffbd2018a8e68844d174328dd1c4ceb7fa01d3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
---
src/widgets/widgets/qdockwidget.cpp | 2 ++
tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp
index 4041c730b8..f98e0e44db 100644
--- a/src/widgets/widgets/qdockwidget.cpp
+++ b/src/widgets/widgets/qdockwidget.cpp
@@ -1182,6 +1182,8 @@ void QDockWidgetPrivate::setWindowState(bool floating, bool unplug, const QRect
QMainWindowLayout *mwlayout = qt_mainwindow_layout_from_dock(q);
if (mwlayout)
emit q->dockLocationChanged(mwlayout->dockWidgetArea(q));
+ } else {
+ emit q->dockLocationChanged(Qt::NoDockWidgetArea);
}
}
diff --git a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
index f8ce6a2c0a..625116654d 100644
--- a/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
+++ b/tests/auto/widgets/widgets/qdockwidget/tst_qdockwidget.cpp
@@ -670,7 +670,11 @@ void tst_QDockWidget::dockLocationChanged()
spy.clear();
dw.setFloating(true);
- QTest::qWait(100);
+ QTRY_COMPARE(spy.count(), 1);
+ QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
+ Qt::NoDockWidgetArea);
+ spy.clear();
+
dw.setFloating(false);
QTRY_COMPARE(spy.count(), 1);
QCOMPARE(qvariant_cast<Qt::DockWidgetArea>(spy.at(0).at(0)),
--
2.21.0

View File

@ -1,41 +0,0 @@
From edc15323b4ef13a2a58ba4bebd46a78449b628ee Mon Sep 17 00:00:00 2001
From: Antonio Larrosa <alarrosa@suse.com>
Date: Fri, 21 Dec 2018 12:33:39 +0100
Subject: [PATCH] Fix qfloat16 methods definition without declaration when
using Q_QDOC
This fixes qtdoc failing to build on i586 because of an assertion in
libclang since Q_QDOC is defined and thus the declaration of the
qfloat16(float) constructor and operator float() are removed, thus
their definitions should be removed too, which is what this patch
does.
This patch was done together with Michal Srb <msrb@suse.com>.
Fixes: QTBUG-72725
Change-Id: I6424873425d46345e09f411f9ce88f2520825da4
---
src/corelib/global/qfloat16.h | 2 ++
1 file changed, 2 insertions(+)
Index: qtbase-everywhere-src-5.12.1/src/corelib/global/qfloat16.h
===================================================================
--- qtbase-everywhere-src-5.12.1.orig/src/corelib/global/qfloat16.h
+++ qtbase-everywhere-src-5.12.1/src/corelib/global/qfloat16.h
@@ -207,6 +207,7 @@ QF16_MAKE_ARITH_OP_INT(*)
QF16_MAKE_ARITH_OP_INT(/)
#undef QF16_MAKE_ARITH_OP_INT
+#ifndef Q_QDOC
QT_WARNING_PUSH
QT_WARNING_DISABLE_CLANG("-Wfloat-equal")
QT_WARNING_DISABLE_GCC("-Wfloat-equal")
@@ -254,6 +255,7 @@ Q_REQUIRED_RESULT inline bool qFuzzyIsNu
{
return qAbs(static_cast<float>(f)) <= 0.001f;
}
+#endif
QT_END_NAMESPACE

View File

@ -1,32 +0,0 @@
From 75bb439f45608b21781d18170a88aaa2aedefb04 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Fri, 9 Mar 2018 18:28:00 +0100
Subject: [PATCH 1/2] Sanitize QXcbScreen's pixelDensity values
When the monitor's EDID contains invalid values, we should catch that now
and fall back to 96dpi instead of returning unexpected values.
---
src/plugins/platforms/xcb/qxcbscreen.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
Index: qtbase-everywhere-src-5.12.0-beta3/src/plugins/platforms/xcb/qxcbscreen.cpp
===================================================================
--- qtbase-everywhere-src-5.12.0-beta3.orig/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ qtbase-everywhere-src-5.12.0-beta3/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -752,6 +752,16 @@ void QXcbScreen::updateGeometry(const QR
qreal referenceDpi = physicalSize().width() <= 320 ? 128 : 96;
m_pixelDensity = qMax(1, qRound(dpi/referenceDpi));
+
+ if(m_pixelDensity > 1 && qEnvironmentVariableIsEmpty("QT_XCB_FORCE_ACCEPT_DPI")) {
+ // If we have no physical size or the resolution is untypical, fall back to 1x
+ if (physicalSize().height() <= 0
+ || geometry.height() < 1440
+ || m_pixelDensity > 3) {
+ m_pixelDensity = 1;
+ }
+ }
+
m_geometry = geometry;
m_availableGeometry = geometry & m_virtualDesktop->workArea();
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);

View File

@ -0,0 +1,33 @@
From c56c1cceae0ad3f45606838a9390aeebd94d41d1 Mon Sep 17 00:00:00 2001
From: Rolf Eike Beer <eb@emlix.com>
Date: Mon, 30 Sep 2019 16:36:30 +0200
Subject: [PATCH] tslib plugin: remove debug print on old tslib versions
This introduces a dependency on ts_get_eventpath(), which is only
available in tslib 1.15 and newer. This raises the required version to
an unneeded level, so just drop the debug message if the API is not
available.
Change-Id: I4a1cd7abec8d139e70555506d9d21edacf0f4d71
Fixes: QTBUG-78867
---
src/platformsupport/input/tslib/qtslib.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/platformsupport/input/tslib/qtslib.cpp b/src/platformsupport/input/tslib/qtslib.cpp
index df57147af6..e105f5ea98 100644
--- a/src/platformsupport/input/tslib/qtslib.cpp
+++ b/src/platformsupport/input/tslib/qtslib.cpp
@@ -68,7 +68,9 @@ QTsLibMouseHandler::QTsLibMouseHandler(const QString &key,
return;
}
+#ifdef TSLIB_VERSION_EVENTPATH /* also introduced in 1.15 */
qCDebug(qLcTsLib) << "tslib device is" << ts_get_eventpath(m_dev);
+#endif
m_notify = new QSocketNotifier(ts_fd(m_dev), QSocketNotifier::Read, this);
connect(m_notify, &QSocketNotifier::activated, this, &QTsLibMouseHandler::readMouseData);
}
--
2.22.0

View File

@ -1,36 +0,0 @@
From 267ab09b87dd7e2ae7dd3e85a76398506e7f1ae9 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Wed, 25 Apr 2018 18:34:01 +0200
Subject: [PATCH 2/2] xcb: Use the screen's physical DPI as logical DPI, unless
overwritten
The size of the virtual screen is most of the time meaningless, as X fakes it
to result in 96 DPI, irregardless of the actual monitor DPI.
This results in wrong font rendering on non-96 DPI monitors.
Task-number: QTBUG-67928
---
src/plugins/platforms/xcb/qxcbscreen.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
Index: qtbase-everywhere-src-5.13.1/src/plugins/platforms/xcb/qxcbscreen.cpp
===================================================================
--- qtbase-everywhere-src-5.13.1.orig/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ qtbase-everywhere-src-5.13.1/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -676,7 +676,14 @@ QDpi QXcbScreen::logicalDpi() const
if (forcedDpi > 0)
return QDpi(forcedDpi, forcedDpi);
- return m_virtualDesktop->dpi();
+ // By default, X fakes the virtual size to be 96 dpi (+-rounding),
+ // so if it's different the user overwrote it.
+ if (qRound(m_virtualDesktop->dpi().first) != 96 ||
+ qRound(m_virtualDesktop->dpi().second) != 96) {
+ return m_virtualDesktop->dpi();
+ }
+
+ return QDpi(m_pixelDensity * 96, m_pixelDensity * 96);
}
qreal QXcbScreen::pixelDensity() const

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Wed Oct 2 19:53:24 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
- Disable relocatability, it breaks /usr/lib/sse2 (QTBUG-78948)
-------------------------------------------------------------------
Mon Sep 30 13:29:55 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.14.0-alpha:
* New feature release
* No changelog available
* For more details about Qt 5.14 please see:
https://wiki.qt.io/New_Features_in_Qt_5.14
- Refresh patches:
* 0001-Add-remote-print-queue-support.patch
- Drop patches, don't apply anymore after upstream refactoring and the
main bug for them seems fixed:
* 0001-Sanitize-QXcbScreen-s-pixelDensity-values.patch
* 0002-xcb-Use-the-screen-s-physical-DPI-as-logical-DPI-unl.patch
- Drop patches, now upstream:
* 0001-Fix-notification-of-QDockWidget-when-it-gets-undocke.patch
* 0001-Fix-CMake-config-files-for-libdir-different-from-lib.patch
* 0001-Fix-qfloat16-methods-definition-without-declaration-.patch
- Enable zstd support again, issues got fixed upstream meanwhile
- Add patch to fix build against older tslib:
* 0001-tslib-plugin-remove-debug-print-on-old-tslib-version.patch
-------------------------------------------------------------------
Thu Sep 19 08:08:00 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>

View File

@ -36,17 +36,17 @@
%endif
Name: libqt5-qtbase
Version: 5.13.1
Version: 5.14.0~alpha
Release: 0
Summary: C++ Program Library, Core Components
License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
Group: System/Libraries
Url: https://www.qt.io
%define base_name libqt5
%define real_version 5.13.1
%define so_version 5.13.1
%define tar_version qtbase-everywhere-src-5.13.1
Source: https://download.qt.io/official_releases/qt/5.13/%{real_version}/submodules/%{tar_version}.tar.xz
%define real_version 5.14.0-alpha
%define so_version 5.14.0
%define tar_version qtbase-everywhere-src-5.14.0-alpha
Source: https://download.qt.io/development_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
# to get mtime of file:
Source1: libqt5-qtbase.changes
Source2: macros.qt5
@ -65,24 +65,18 @@ Patch12: 0001-Add-remote-print-queue-support.patch
# PATCH-FIX-OPENSUSE
Patch13: 0001-Revert-QWidgetWindow-Immediately-forward-close-event.patch
# PATCH-FIX-OPENSUSE
Patch17: 0001-Sanitize-QXcbScreen-s-pixelDensity-values.patch
Patch18: 0002-xcb-Use-the-screen-s-physical-DPI-as-logical-DPI-unl.patch
# PATCH-FIX-UPSTREAM
Patch20: 0001-Fix-qfloat16-methods-definition-without-declaration-.patch
# PATCH-FIX-OPENSUSE
Patch21: 0001-Revert-Blacklist-nouveau-and-llvmpipe-for-multithrea.patch
Patch22: 0002-Revert-qtlite-Fix-build-libs-with-no-feature-regular.patch
Patch23: 0003-Revert-White-list-more-recent-Mesa-version-for-multi.patch
Patch24: fix-fixqt4headers.patch
# Revert to restore compatibility with akonadi and possibly other applications
Patch30: 0001-Revert-Always-escape-the-table-names-when-creating-t.patch
# patches 1000-2000 and above from upstream 5.13 branch #
# patches 2000-3000 and above from upstream 5.14/dev branch #
Patch2000: 0001-Fix-notification-of-QDockWidget-when-it-gets-undocke.patch
# patches 1000-2000 and above from upstream 5.14 branch #
# patches 2000-3000 and above from upstream 5.15/dev branch #
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/255384
Patch2001: 0002-Synthesize-Enter-LeaveEvent-for-accepted-QTabletEven.patch
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/273050
Patch2002: 0001-Fix-CMake-config-files-for-libdir-different-from-lib.patch
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/275700
Patch2002: 0001-tslib-plugin-remove-debug-print-on-old-tslib-version.patch
# Not accepted yet, https://codereview.qt-project.org/c/qt/qtbase/+/273365
Patch2003: 0001-QWidget-setFocusProxy-adjust-focus-widget-properly.patch
BuildRequires: alsa-devel
@ -124,6 +118,8 @@ BuildRequires: vulkan-devel
%endif
BuildRequires: pkgconfig(pango)
# Not packaged yet
#BuildRequires: pkgconfig(md4c)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(xcb-randr)
BuildRequires: pkgconfig(xcb-renderutil)
@ -156,8 +152,7 @@ BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(xkbcommon) >= 0.4.1
BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1
BuildRequires: pkgconfig(zlib)
# Breaks various existing codebases, see QTBUG-76521
# BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(libzstd)
%if %journald
BuildRequires: pkgconfig(libsystemd)
%endif
@ -848,6 +843,8 @@ sed -i 's|qt_instdate=`date +%Y-%m-%d`|qt_instdate=$CHANGES|g' configure
# so non-qt5 apps/libs don't get stripped
sed -i -e 's|^\(QMAKE_STRIP.*=\).*$|\1|g' mkspecs/common/linux.conf
# -no-feature-relocatable is needed to support /usr/lib/sse2 etc., see QTBUG-78948
echo yes | ./configure \
-prefix %{_prefix} \
-L %{libqt5_libdir} \
@ -894,13 +891,12 @@ echo yes | ./configure \
-system-freetype \
-cups \
-system-zlib \
-no-zstd \
-zstd \
-no-pch \
-glib \
-sctp \
-system-sqlite \
-no-sql-mysql \
-no-strip \
%if %journald
-journald \
%endif
@ -920,6 +916,7 @@ echo yes | ./configure \
-plugin-sql-odbc \
-plugin-sql-mysql -I/usr/include/mysql/ \
-qpa "xcb;wayland" \
-no-feature-relocatable \
-v \
QMAKE_CFLAGS+="$CFLAGS" \
QMAKE_CXXFLAGS+="$CXXFLAGS"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:110cd08cdacab26274bf2519d3508046616c0b638f0d2f5e00bc8bad87469eab
size 48807960

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1ab8b1319e822b31d8a57b137d3311f0d517227653087a43b31e70932363709a
size 49707164