From d3ed8a71264e6a136e6a3a48b39baa7e69335855 Mon Sep 17 00:00:00 2001 From: Michael Olbrich Date: Fri, 27 Nov 2020 11:14:40 +0100 Subject: qt5: version bump 5.15.1 -> 5.15.2 Signed-off-by: Michael Olbrich --- ...se-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch | 87 ---------------------- ...node-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch | 47 ------------ .../0003-qt3d-link-with-latomic-if-necessary.patch | 25 ------- ...0004-eglfs_kms-device-ordering-robustness.patch | 58 --------------- ...t-qtwebengine-allow-building-with-ptxdist.patch | 23 ------ ...t-qtwebengine-let-ninja-use-the-jobserver.patch | 24 ------ ...engine-workaround-for-too-long-file-names.patch | 39 ---------- patches/qt-everywhere-src-5.15.1/series | 10 --- ...se-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch | 87 ++++++++++++++++++++++ ...node-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch | 47 ++++++++++++ .../0003-qt3d-link-with-latomic-if-necessary.patch | 25 +++++++ ...0004-eglfs_kms-device-ordering-robustness.patch | 58 +++++++++++++++ ...t-qtwebengine-allow-building-with-ptxdist.patch | 23 ++++++ ...t-qtwebengine-let-ninja-use-the-jobserver.patch | 24 ++++++ ...engine-workaround-for-too-long-file-names.patch | 39 ++++++++++ patches/qt-everywhere-src-5.15.2/series | 10 +++ rules/qt5.make | 5 +- 17 files changed, 315 insertions(+), 316 deletions(-) delete mode 100644 patches/qt-everywhere-src-5.15.1/0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch delete mode 100644 patches/qt-everywhere-src-5.15.1/0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch delete mode 100644 patches/qt-everywhere-src-5.15.1/0003-qt3d-link-with-latomic-if-necessary.patch delete mode 100644 patches/qt-everywhere-src-5.15.1/0004-eglfs_kms-device-ordering-robustness.patch delete mode 100644 patches/qt-everywhere-src-5.15.1/0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch delete mode 100644 patches/qt-everywhere-src-5.15.1/0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch delete mode 100644 patches/qt-everywhere-src-5.15.1/0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch delete mode 100644 patches/qt-everywhere-src-5.15.1/series create mode 100644 patches/qt-everywhere-src-5.15.2/0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch create mode 100644 patches/qt-everywhere-src-5.15.2/0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch create mode 100644 patches/qt-everywhere-src-5.15.2/0003-qt3d-link-with-latomic-if-necessary.patch create mode 100644 patches/qt-everywhere-src-5.15.2/0004-eglfs_kms-device-ordering-robustness.patch create mode 100644 patches/qt-everywhere-src-5.15.2/0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch create mode 100644 patches/qt-everywhere-src-5.15.2/0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch create mode 100644 patches/qt-everywhere-src-5.15.2/0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch create mode 100644 patches/qt-everywhere-src-5.15.2/series diff --git a/patches/qt-everywhere-src-5.15.1/0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch b/patches/qt-everywhere-src-5.15.1/0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch deleted file mode 100644 index 218dc7e79..000000000 --- a/patches/qt-everywhere-src-5.15.1/0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Michael Olbrich -Date: Tue, 7 Nov 2017 14:51:03 +0100 -Subject: [PATCH] qtwayland: use QT_EGL_NO_X11 and qt_egl_p.h everywhere - -Otherwise egl.h is included without MESA_EGL_NO_X11_HEADERS - -Signed-off-by: Michael Olbrich ---- - .../src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri | 4 ++++ - .../client/drm-egl-server/drmeglserverbufferintegration.h | 4 ++-- - .../hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri | 3 +++ - .../compositor/drm-egl-server/drmeglserverbufferintegration.h | 4 ++-- - .../src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri | 2 ++ - 5 files changed, 13 insertions(+), 4 deletions(-) - -diff --git a/qtwayland/src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri b/qtwayland/src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri -index 700e95e32df5..7667b5418261 100644 ---- a/qtwayland/src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri -+++ b/qtwayland/src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri -@@ -2,6 +2,10 @@ INCLUDEPATH += $$PWD - - QMAKE_USE += egl wayland-client - -+QT += egl_support-private -+ -+DEFINES += QT_EGL_NO_X11 -+ - SOURCES += \ - $$PWD/drmeglserverbufferintegration.cpp - -diff --git a/qtwayland/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h b/qtwayland/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h -index 64201476da10..a0a44611b476 100644 ---- a/qtwayland/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h -+++ b/qtwayland/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h -@@ -48,8 +48,8 @@ - #include - #include - --#include --#include -+#include -+ - #ifndef EGL_KHR_image - typedef void *EGLImageKHR; - typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); -diff --git a/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri b/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri -index 7d6841748c5a..553b49f3fe38 100644 ---- a/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri -+++ b/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri -@@ -5,6 +5,9 @@ QMAKE_USE_PRIVATE += egl wayland-server - SOURCES += \ - $$PWD/drmeglserverbufferintegration.cpp - -+QT += egl_support-private -+ -+DEFINES += QT_EGL_NO_X11 - - HEADERS += \ - $$PWD/drmeglserverbufferintegration.h -diff --git a/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h b/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h -index eab5f0c567f2..0342ed19f7ba 100644 ---- a/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h -+++ b/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h -@@ -42,8 +42,8 @@ - #include - - #include --#include --#include -+ -+#include - - #ifndef EGL_KHR_image - typedef void *EGLImageKHR; -diff --git a/qtwayland/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri b/qtwayland/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri -index e20c6802c200..078b74839cb1 100644 ---- a/qtwayland/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri -+++ b/qtwayland/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri -@@ -4,6 +4,8 @@ QMAKE_USE_PRIVATE += egl wayland-server wayland-egl - - QT += egl_support-private - -+DEFINES += QT_EGL_NO_X11 -+ - SOURCES += \ - $$PWD/waylandeglclientbufferintegration.cpp - diff --git a/patches/qt-everywhere-src-5.15.1/0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch b/patches/qt-everywhere-src-5.15.1/0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch deleted file mode 100644 index f17db71aa..000000000 --- a/patches/qt-everywhere-src-5.15.1/0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Michael Olbrich -Date: Tue, 7 Nov 2017 14:51:03 +0100 -Subject: [PATCH] videonode: egl: use QT_EGL_NO_X11 and qt_egl_p.h - -Otherwise egl.h is included without MESA_EGL_NO_X11_HEADERS - -Signed-off-by: Michael Olbrich ---- - qtmultimedia/src/plugins/videonode/egl/egl.pro | 4 +++- - qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h | 3 +-- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/qtmultimedia/src/plugins/videonode/egl/egl.pro b/qtmultimedia/src/plugins/videonode/egl/egl.pro -index 7151123ea7a3..106f982e5ec0 100644 ---- a/qtmultimedia/src/plugins/videonode/egl/egl.pro -+++ b/qtmultimedia/src/plugins/videonode/egl/egl.pro -@@ -1,6 +1,6 @@ - TARGET = eglvideonode - --QT += multimedia-private qtmultimediaquicktools-private -+QT += multimedia-private qtmultimediaquicktools-private egl_support-private - CONFIG += egl - - HEADERS += \ -@@ -12,6 +12,8 @@ SOURCES += \ - OTHER_FILES += \ - egl.json - -+DEFINES += QT_EGL_NO_X11 -+ - PLUGIN_TYPE = video/videonode - PLUGIN_EXTENDS = quick - PLUGIN_CLASS_NAME = QSGVideoNodeFactory_EGL -diff --git a/qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h b/qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h -index f83231e538db..5890a7994079 100644 ---- a/qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h -+++ b/qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h -@@ -45,8 +45,7 @@ - #include - #include - --#include --#include -+#include - - #ifdef Bool - # undef Bool diff --git a/patches/qt-everywhere-src-5.15.1/0003-qt3d-link-with-latomic-if-necessary.patch b/patches/qt-everywhere-src-5.15.1/0003-qt3d-link-with-latomic-if-necessary.patch deleted file mode 100644 index 6445dc4f4..000000000 --- a/patches/qt-everywhere-src-5.15.1/0003-qt3d-link-with-latomic-if-necessary.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Michael Olbrich -Date: Thu, 21 Apr 2016 16:25:30 +0200 -Subject: [PATCH] qt3d: link with -latomic if necessary - -Without this, building qt3d on PowerPC fails with: - -.obj/qnodeid.o:qnodeid.cpp:function Qt3DCore::QNodeId::createId(): error: undefined reference to '__atomic_fetch_add_8' - -Signed-off-by: Michael Olbrich ---- - qt3d/src/core/nodes/nodes.pri | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/qt3d/src/core/nodes/nodes.pri b/qt3d/src/core/nodes/nodes.pri -index 785ae2b21472..de97caee8662 100644 ---- a/qt3d/src/core/nodes/nodes.pri -+++ b/qt3d/src/core/nodes/nodes.pri -@@ -1,5 +1,7 @@ - INCLUDEPATH += $$PWD - -+atomic64-libatomic: LIBS += -latomic -+ - HEADERS += \ - $$PWD/qnode.h \ - $$PWD/qnode_p.h \ diff --git a/patches/qt-everywhere-src-5.15.1/0004-eglfs_kms-device-ordering-robustness.patch b/patches/qt-everywhere-src-5.15.1/0004-eglfs_kms-device-ordering-robustness.patch deleted file mode 100644 index 0532aa660..000000000 --- a/patches/qt-everywhere-src-5.15.1/0004-eglfs_kms-device-ordering-robustness.patch +++ /dev/null @@ -1,58 +0,0 @@ -From: Lucas Stach -Date: Mon, 29 Jan 2018 14:02:03 +0100 -Subject: [PATCH] eglfs_kms: device ordering robustness - -Check the DRM device for available mode resources before deciding to -use it as the KMS device. This way we are robust against changes in -DRM device ordering, where some of the devices are render only. - -Signed-off-by: Lucas Stach ---- - .../eglfs_kms/qeglfskmsgbmintegration.cpp | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp -index caa1187b4018..debcbd7a6d7b 100644 ---- a/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp -+++ b/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp -@@ -47,6 +47,7 @@ - #include "private/qeglfscursor_p.h" - - #include -+#include - #include - #include - -@@ -128,6 +129,20 @@ void QEglFSKmsGbmIntegration::presentBuffer(QPlatformSurface *surface) - screen->flip(); - } - -+static bool check_modesetting(QString devpath) -+{ -+ bool moderes = false; -+ struct drm_mode_card_res res = { }; -+ int fd = qt_safe_open(devpath.toLocal8Bit().constData(), O_RDWR | O_CLOEXEC); -+ -+ if (!drmIoctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res)) -+ moderes = true; -+ -+ qt_safe_close(fd); -+ -+ return moderes; -+} -+ - QKmsDevice *QEglFSKmsGbmIntegration::createDevice() - { - QString path = screenConfig()->devicePath(); -@@ -143,6 +158,11 @@ QKmsDevice *QEglFSKmsGbmIntegration::createDevice() - qFatal("Could not find DRM device!"); - - path = devices.first(); -+ for (int i = 0; i < devices.count(); i++) { -+ path = devices.at(i); -+ if (check_modesetting(path)) -+ break; -+ } - qCDebug(qLcEglfsKmsDebug) << "Using" << path; - } - diff --git a/patches/qt-everywhere-src-5.15.1/0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch b/patches/qt-everywhere-src-5.15.1/0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch deleted file mode 100644 index ce0652dc7..000000000 --- a/patches/qt-everywhere-src-5.15.1/0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Michael Olbrich -Date: Tue, 12 May 2015 11:38:35 +0200 -Subject: [PATCH] ptxdist: qtwebengine: allow building with ptxdist - -Signed-off-by: Michael Olbrich -[m.felsch@pengutronix.de: port to 5.14.1] -Signed-off-by: Marco Felsch ---- - qtwebengine/src/buildtools/config/functions.pri | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/qtwebengine/src/buildtools/config/functions.pri b/qtwebengine/src/buildtools/config/functions.pri -index 8c11faa16ad2..876da9bcfb9e 100644 ---- a/qtwebengine/src/buildtools/config/functions.pri -+++ b/qtwebengine/src/buildtools/config/functions.pri -@@ -1,5 +1,6 @@ - defineReplace(qtwebengine_extractCFlag) { -- CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS -+ PTX_QMAKE_CFLAGS = $$(PTX_QMAKE_CFLAGS) -+ CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS $$split(PTX_QMAKE_CFLAGS, " ") - OPTION = $$find(CFLAGS, $$1) - OPTION = $$split(OPTION, =) - PARAM = $$member(OPTION, 1) diff --git a/patches/qt-everywhere-src-5.15.1/0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch b/patches/qt-everywhere-src-5.15.1/0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch deleted file mode 100644 index ebbb05a24..000000000 --- a/patches/qt-everywhere-src-5.15.1/0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Michael Olbrich -Date: Tue, 14 Nov 2017 21:52:24 +0100 -Subject: [PATCH] ptxdist: qtwebengine: let ninja use the jobserver - -Signed-off-by: Michael Olbrich -[m.felsch@pengutronix.de: port to 5.14.1] -Signed-off-by: Marco Felsch ---- - qtwebengine/src/core/gn_run.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/qtwebengine/src/core/gn_run.pro b/qtwebengine/src/core/gn_run.pro -index 3d6fda80eaa3..73b15dd15731 100644 ---- a/qtwebengine/src/core/gn_run.pro -+++ b/qtwebengine/src/core/gn_run.pro -@@ -51,7 +51,7 @@ build_pass|!debug_and_release { - ninjaflags = $$(NINJAFLAGS) - isEmpty(ninjaflags):!silent: ninjaflags = "-v" - -- runninja.commands = $$NINJA $$ninjaflags \$\(NINJAJOBS\) -C $$gn_build_root QtWebEngineCore -+ runninja.commands = +$$NINJA $$ninjaflags \$\(NINJAJOBS\) -C $$gn_build_root QtWebEngineCore - QMAKE_EXTRA_TARGETS += runninja - - build_pass:build_all: default_target.target = all diff --git a/patches/qt-everywhere-src-5.15.1/0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch b/patches/qt-everywhere-src-5.15.1/0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch deleted file mode 100644 index be6f6378d..000000000 --- a/patches/qt-everywhere-src-5.15.1/0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Michael Olbrich -Date: Tue, 7 Nov 2017 10:20:09 +0100 -Subject: [PATCH] HACK: qtwebengine: workaround for too long file names - -Without this building fails with: -ninja: error: WriteFile(__third_party_WebKit_Source_bindings_modules_v8_bindings_modules_v8_generated_init_partial__XXX_path_to_the_bsp_platform_XX_build-target_qt-everywhere-opensource-src-5.9.2-build_qtwebengine_src_toolchain_target__rule.rsp): Unable to create file. File name too long - -Hack taken from the upstream bugreport: -https://bugreports.qt.io/browse/QTBUG-59769 - -Signed-off-by: Michael Olbrich -Signed-off-by: Philipp Zabel ---- - .../src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/qtwebengine/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc b/qtwebengine/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc -index 5f4fbaad8827..d579072e3d27 100644 ---- a/qtwebengine/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc -+++ b/qtwebengine/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc -@@ -119,9 +119,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() { - // strictly necessary for regular one-shot actions, but it's easier to - // just always define unique_name. - std::string rspfile = custom_rule_name; -+ -+ //quick workaround if filename length > 255 - ".rsp", just cut the dirs starting from the end -+ //please note ".$unique_name" is not used at the moment -+ int pos = 0; -+ std::string delimiter("_"); -+ while (rspfile.length() > 250 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos) -+ rspfile = rspfile.substr(0,pos); -+ - if (!target_->sources().empty()) - rspfile += ".$unique_name"; - rspfile += ".rsp"; -+ - out_ << " rspfile = " << rspfile << std::endl; - - // Response file contents. diff --git a/patches/qt-everywhere-src-5.15.1/series b/patches/qt-everywhere-src-5.15.1/series deleted file mode 100644 index 68b5075b3..000000000 --- a/patches/qt-everywhere-src-5.15.1/series +++ /dev/null @@ -1,10 +0,0 @@ -# generated by git-ptx-patches -#tag:base --start-number 1 -0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch -0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch -0003-qt3d-link-with-latomic-if-necessary.patch -0004-eglfs_kms-device-ordering-robustness.patch -0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch -0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch -0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch -# 4b456a724e88b1f3c6125e3941898e96 - git-ptx-patches magic diff --git a/patches/qt-everywhere-src-5.15.2/0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch b/patches/qt-everywhere-src-5.15.2/0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch new file mode 100644 index 000000000..218dc7e79 --- /dev/null +++ b/patches/qt-everywhere-src-5.15.2/0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch @@ -0,0 +1,87 @@ +From: Michael Olbrich +Date: Tue, 7 Nov 2017 14:51:03 +0100 +Subject: [PATCH] qtwayland: use QT_EGL_NO_X11 and qt_egl_p.h everywhere + +Otherwise egl.h is included without MESA_EGL_NO_X11_HEADERS + +Signed-off-by: Michael Olbrich +--- + .../src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri | 4 ++++ + .../client/drm-egl-server/drmeglserverbufferintegration.h | 4 ++-- + .../hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri | 3 +++ + .../compositor/drm-egl-server/drmeglserverbufferintegration.h | 4 ++-- + .../src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri | 2 ++ + 5 files changed, 13 insertions(+), 4 deletions(-) + +diff --git a/qtwayland/src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri b/qtwayland/src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri +index 700e95e32df5..7667b5418261 100644 +--- a/qtwayland/src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri ++++ b/qtwayland/src/hardwareintegration/client/drm-egl-server/drm-egl-server.pri +@@ -2,6 +2,10 @@ INCLUDEPATH += $$PWD + + QMAKE_USE += egl wayland-client + ++QT += egl_support-private ++ ++DEFINES += QT_EGL_NO_X11 ++ + SOURCES += \ + $$PWD/drmeglserverbufferintegration.cpp + +diff --git a/qtwayland/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h b/qtwayland/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h +index 64201476da10..a0a44611b476 100644 +--- a/qtwayland/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h ++++ b/qtwayland/src/hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h +@@ -48,8 +48,8 @@ + #include + #include + +-#include +-#include ++#include ++ + #ifndef EGL_KHR_image + typedef void *EGLImageKHR; + typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); +diff --git a/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri b/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri +index 7d6841748c5a..553b49f3fe38 100644 +--- a/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri ++++ b/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drm-egl-server.pri +@@ -5,6 +5,9 @@ QMAKE_USE_PRIVATE += egl wayland-server + SOURCES += \ + $$PWD/drmeglserverbufferintegration.cpp + ++QT += egl_support-private ++ ++DEFINES += QT_EGL_NO_X11 + + HEADERS += \ + $$PWD/drmeglserverbufferintegration.h +diff --git a/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h b/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h +index eab5f0c567f2..0342ed19f7ba 100644 +--- a/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h ++++ b/qtwayland/src/hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h +@@ -42,8 +42,8 @@ + #include + + #include +-#include +-#include ++ ++#include + + #ifndef EGL_KHR_image + typedef void *EGLImageKHR; +diff --git a/qtwayland/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri b/qtwayland/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri +index e20c6802c200..078b74839cb1 100644 +--- a/qtwayland/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri ++++ b/qtwayland/src/hardwareintegration/compositor/wayland-egl/wayland-egl.pri +@@ -4,6 +4,8 @@ QMAKE_USE_PRIVATE += egl wayland-server wayland-egl + + QT += egl_support-private + ++DEFINES += QT_EGL_NO_X11 ++ + SOURCES += \ + $$PWD/waylandeglclientbufferintegration.cpp + diff --git a/patches/qt-everywhere-src-5.15.2/0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch b/patches/qt-everywhere-src-5.15.2/0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch new file mode 100644 index 000000000..f17db71aa --- /dev/null +++ b/patches/qt-everywhere-src-5.15.2/0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch @@ -0,0 +1,47 @@ +From: Michael Olbrich +Date: Tue, 7 Nov 2017 14:51:03 +0100 +Subject: [PATCH] videonode: egl: use QT_EGL_NO_X11 and qt_egl_p.h + +Otherwise egl.h is included without MESA_EGL_NO_X11_HEADERS + +Signed-off-by: Michael Olbrich +--- + qtmultimedia/src/plugins/videonode/egl/egl.pro | 4 +++- + qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h | 3 +-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/qtmultimedia/src/plugins/videonode/egl/egl.pro b/qtmultimedia/src/plugins/videonode/egl/egl.pro +index 7151123ea7a3..106f982e5ec0 100644 +--- a/qtmultimedia/src/plugins/videonode/egl/egl.pro ++++ b/qtmultimedia/src/plugins/videonode/egl/egl.pro +@@ -1,6 +1,6 @@ + TARGET = eglvideonode + +-QT += multimedia-private qtmultimediaquicktools-private ++QT += multimedia-private qtmultimediaquicktools-private egl_support-private + CONFIG += egl + + HEADERS += \ +@@ -12,6 +12,8 @@ SOURCES += \ + OTHER_FILES += \ + egl.json + ++DEFINES += QT_EGL_NO_X11 ++ + PLUGIN_TYPE = video/videonode + PLUGIN_EXTENDS = quick + PLUGIN_CLASS_NAME = QSGVideoNodeFactory_EGL +diff --git a/qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h b/qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h +index f83231e538db..5890a7994079 100644 +--- a/qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h ++++ b/qtmultimedia/src/plugins/videonode/egl/qsgvideonode_egl.h +@@ -45,8 +45,7 @@ + #include + #include + +-#include +-#include ++#include + + #ifdef Bool + # undef Bool diff --git a/patches/qt-everywhere-src-5.15.2/0003-qt3d-link-with-latomic-if-necessary.patch b/patches/qt-everywhere-src-5.15.2/0003-qt3d-link-with-latomic-if-necessary.patch new file mode 100644 index 000000000..6445dc4f4 --- /dev/null +++ b/patches/qt-everywhere-src-5.15.2/0003-qt3d-link-with-latomic-if-necessary.patch @@ -0,0 +1,25 @@ +From: Michael Olbrich +Date: Thu, 21 Apr 2016 16:25:30 +0200 +Subject: [PATCH] qt3d: link with -latomic if necessary + +Without this, building qt3d on PowerPC fails with: + +.obj/qnodeid.o:qnodeid.cpp:function Qt3DCore::QNodeId::createId(): error: undefined reference to '__atomic_fetch_add_8' + +Signed-off-by: Michael Olbrich +--- + qt3d/src/core/nodes/nodes.pri | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/qt3d/src/core/nodes/nodes.pri b/qt3d/src/core/nodes/nodes.pri +index 785ae2b21472..de97caee8662 100644 +--- a/qt3d/src/core/nodes/nodes.pri ++++ b/qt3d/src/core/nodes/nodes.pri +@@ -1,5 +1,7 @@ + INCLUDEPATH += $$PWD + ++atomic64-libatomic: LIBS += -latomic ++ + HEADERS += \ + $$PWD/qnode.h \ + $$PWD/qnode_p.h \ diff --git a/patches/qt-everywhere-src-5.15.2/0004-eglfs_kms-device-ordering-robustness.patch b/patches/qt-everywhere-src-5.15.2/0004-eglfs_kms-device-ordering-robustness.patch new file mode 100644 index 000000000..0532aa660 --- /dev/null +++ b/patches/qt-everywhere-src-5.15.2/0004-eglfs_kms-device-ordering-robustness.patch @@ -0,0 +1,58 @@ +From: Lucas Stach +Date: Mon, 29 Jan 2018 14:02:03 +0100 +Subject: [PATCH] eglfs_kms: device ordering robustness + +Check the DRM device for available mode resources before deciding to +use it as the KMS device. This way we are robust against changes in +DRM device ordering, where some of the devices are render only. + +Signed-off-by: Lucas Stach +--- + .../eglfs_kms/qeglfskmsgbmintegration.cpp | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp +index caa1187b4018..debcbd7a6d7b 100644 +--- a/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp ++++ b/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp +@@ -47,6 +47,7 @@ + #include "private/qeglfscursor_p.h" + + #include ++#include + #include + #include + +@@ -128,6 +129,20 @@ void QEglFSKmsGbmIntegration::presentBuffer(QPlatformSurface *surface) + screen->flip(); + } + ++static bool check_modesetting(QString devpath) ++{ ++ bool moderes = false; ++ struct drm_mode_card_res res = { }; ++ int fd = qt_safe_open(devpath.toLocal8Bit().constData(), O_RDWR | O_CLOEXEC); ++ ++ if (!drmIoctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res)) ++ moderes = true; ++ ++ qt_safe_close(fd); ++ ++ return moderes; ++} ++ + QKmsDevice *QEglFSKmsGbmIntegration::createDevice() + { + QString path = screenConfig()->devicePath(); +@@ -143,6 +158,11 @@ QKmsDevice *QEglFSKmsGbmIntegration::createDevice() + qFatal("Could not find DRM device!"); + + path = devices.first(); ++ for (int i = 0; i < devices.count(); i++) { ++ path = devices.at(i); ++ if (check_modesetting(path)) ++ break; ++ } + qCDebug(qLcEglfsKmsDebug) << "Using" << path; + } + diff --git a/patches/qt-everywhere-src-5.15.2/0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch b/patches/qt-everywhere-src-5.15.2/0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch new file mode 100644 index 000000000..ce0652dc7 --- /dev/null +++ b/patches/qt-everywhere-src-5.15.2/0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch @@ -0,0 +1,23 @@ +From: Michael Olbrich +Date: Tue, 12 May 2015 11:38:35 +0200 +Subject: [PATCH] ptxdist: qtwebengine: allow building with ptxdist + +Signed-off-by: Michael Olbrich +[m.felsch@pengutronix.de: port to 5.14.1] +Signed-off-by: Marco Felsch +--- + qtwebengine/src/buildtools/config/functions.pri | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/qtwebengine/src/buildtools/config/functions.pri b/qtwebengine/src/buildtools/config/functions.pri +index 8c11faa16ad2..876da9bcfb9e 100644 +--- a/qtwebengine/src/buildtools/config/functions.pri ++++ b/qtwebengine/src/buildtools/config/functions.pri +@@ -1,5 +1,6 @@ + defineReplace(qtwebengine_extractCFlag) { +- CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS ++ PTX_QMAKE_CFLAGS = $$(PTX_QMAKE_CFLAGS) ++ CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS $$split(PTX_QMAKE_CFLAGS, " ") + OPTION = $$find(CFLAGS, $$1) + OPTION = $$split(OPTION, =) + PARAM = $$member(OPTION, 1) diff --git a/patches/qt-everywhere-src-5.15.2/0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch b/patches/qt-everywhere-src-5.15.2/0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch new file mode 100644 index 000000000..ebbb05a24 --- /dev/null +++ b/patches/qt-everywhere-src-5.15.2/0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch @@ -0,0 +1,24 @@ +From: Michael Olbrich +Date: Tue, 14 Nov 2017 21:52:24 +0100 +Subject: [PATCH] ptxdist: qtwebengine: let ninja use the jobserver + +Signed-off-by: Michael Olbrich +[m.felsch@pengutronix.de: port to 5.14.1] +Signed-off-by: Marco Felsch +--- + qtwebengine/src/core/gn_run.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtwebengine/src/core/gn_run.pro b/qtwebengine/src/core/gn_run.pro +index 3d6fda80eaa3..73b15dd15731 100644 +--- a/qtwebengine/src/core/gn_run.pro ++++ b/qtwebengine/src/core/gn_run.pro +@@ -51,7 +51,7 @@ build_pass|!debug_and_release { + ninjaflags = $$(NINJAFLAGS) + isEmpty(ninjaflags):!silent: ninjaflags = "-v" + +- runninja.commands = $$NINJA $$ninjaflags \$\(NINJAJOBS\) -C $$gn_build_root QtWebEngineCore ++ runninja.commands = +$$NINJA $$ninjaflags \$\(NINJAJOBS\) -C $$gn_build_root QtWebEngineCore + QMAKE_EXTRA_TARGETS += runninja + + build_pass:build_all: default_target.target = all diff --git a/patches/qt-everywhere-src-5.15.2/0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch b/patches/qt-everywhere-src-5.15.2/0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch new file mode 100644 index 000000000..be6f6378d --- /dev/null +++ b/patches/qt-everywhere-src-5.15.2/0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch @@ -0,0 +1,39 @@ +From: Michael Olbrich +Date: Tue, 7 Nov 2017 10:20:09 +0100 +Subject: [PATCH] HACK: qtwebengine: workaround for too long file names + +Without this building fails with: +ninja: error: WriteFile(__third_party_WebKit_Source_bindings_modules_v8_bindings_modules_v8_generated_init_partial__XXX_path_to_the_bsp_platform_XX_build-target_qt-everywhere-opensource-src-5.9.2-build_qtwebengine_src_toolchain_target__rule.rsp): Unable to create file. File name too long + +Hack taken from the upstream bugreport: +https://bugreports.qt.io/browse/QTBUG-59769 + +Signed-off-by: Michael Olbrich +Signed-off-by: Philipp Zabel +--- + .../src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/qtwebengine/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc b/qtwebengine/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc +index 5f4fbaad8827..d579072e3d27 100644 +--- a/qtwebengine/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc ++++ b/qtwebengine/src/3rdparty/gn/tools/gn/ninja_action_target_writer.cc +@@ -119,9 +119,18 @@ std::string NinjaActionTargetWriter::WriteRuleDefinition() { + // strictly necessary for regular one-shot actions, but it's easier to + // just always define unique_name. + std::string rspfile = custom_rule_name; ++ ++ //quick workaround if filename length > 255 - ".rsp", just cut the dirs starting from the end ++ //please note ".$unique_name" is not used at the moment ++ int pos = 0; ++ std::string delimiter("_"); ++ while (rspfile.length() > 250 && (pos = rspfile.find_last_of(delimiter)) != std::string::npos) ++ rspfile = rspfile.substr(0,pos); ++ + if (!target_->sources().empty()) + rspfile += ".$unique_name"; + rspfile += ".rsp"; ++ + out_ << " rspfile = " << rspfile << std::endl; + + // Response file contents. diff --git a/patches/qt-everywhere-src-5.15.2/series b/patches/qt-everywhere-src-5.15.2/series new file mode 100644 index 000000000..68b5075b3 --- /dev/null +++ b/patches/qt-everywhere-src-5.15.2/series @@ -0,0 +1,10 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-qtwayland-use-QT_EGL_NO_X11-and-qt_egl_p.h-everywher.patch +0002-videonode-egl-use-QT_EGL_NO_X11-and-qt_egl_p.h.patch +0003-qt3d-link-with-latomic-if-necessary.patch +0004-eglfs_kms-device-ordering-robustness.patch +0005-ptxdist-qtwebengine-allow-building-with-ptxdist.patch +0006-ptxdist-qtwebengine-let-ninja-use-the-jobserver.patch +0007-HACK-qtwebengine-workaround-for-too-long-file-names.patch +# 4b456a724e88b1f3c6125e3941898e96 - git-ptx-patches magic diff --git a/rules/qt5.make b/rules/qt5.make index fe0216293..ab7f34a8d 100644 --- a/rules/qt5.make +++ b/rules/qt5.make @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_QT5) += qt5 # # Paths and names # -QT5_VERSION := 5.15.1 -QT5_MD5 := ab16c28f4f9e6db8299096312decdbc4 +QT5_VERSION := 5.15.2 +QT5_MD5 := e1447db4f06c841d8947f0a6ce83a7b5 QT5 := qt-everywhere-src-$(QT5_VERSION) QT5_SUFFIX := tar.xz QT5_URL := \ @@ -399,7 +399,6 @@ QT5_LIBS-$(PTXCONF_QT5_MODULE_QT3D_QUICK) += Qt53DQuick Qt53DQuickAnimation Qt QT5_QML-$(PTXCONF_QT5_MODULE_QT3D_QUICK) += Qt3D QT5_PLUGINS-$(PTXCONF_QT5_MODULE_QT3D) += geometryloaders/libdefaultgeometryloader QT5_PLUGINS-$(PTXCONF_QT5_MODULE_QT3D) += geometryloaders/libgltfgeometryloader -QT5_PLUGINS-$(PTXCONF_QT5_MODULE_QT3D) += sceneparsers/libassimpsceneimport QT5_PLUGINS-$(PTXCONF_QT5_MODULE_QT3D) += sceneparsers/libgltfsceneexport QT5_PLUGINS-$(PTXCONF_QT5_MODULE_QT3D) += sceneparsers/libgltfsceneimport QT5_PLUGINS-$(PTXCONF_QT5_MODULE_QT3D_QUICK) += renderplugins/libscene2d -- cgit v1.2.3