diff options
-rw-r--r-- | recipes-python/pyqt5/python-pyqt5.inc | 9 | ||||
-rw-r--r-- | recipes-python/pyqt5/python-pyqt5_5.13.2.bb (renamed from recipes-python/pyqt5/python-pyqt5_5.12.1.bb) | 1 | ||||
-rw-r--r-- | recipes-python/pyqt5/python3-pyqt5_5.13.2.bb (renamed from recipes-python/pyqt5/python3-pyqt5_5.12.1.bb) | 0 | ||||
-rw-r--r-- | recipes-qt/qt5/nativesdk-qtbase_git.bb | 1 | ||||
-rw-r--r-- | recipes-qt/qt5/qt5-creator_git.bb | 2 | ||||
-rw-r--r-- | recipes-qt/qt5/qtbase-native_git.bb | 1 | ||||
-rw-r--r-- | recipes-qt/qt5/qtbase/0018-input-Make-use-of-timeval-portable-for-64bit-time_t.patch | 62 | ||||
-rw-r--r-- | recipes-qt/qt5/qtbase_git.bb | 5 | ||||
-rw-r--r-- | recipes-qt/qt5/qtdeclarative/0001-Use-python3-explicitly.patch | 60 | ||||
-rw-r--r-- | recipes-qt/qt5/qtdeclarative_git.bb | 5 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch | 29 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebengine/chromium/0021-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch | 70 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebengine_git.bb | 1 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebkit_git.bb | 2 |
14 files changed, 238 insertions, 10 deletions
diff --git a/recipes-python/pyqt5/python-pyqt5.inc b/recipes-python/pyqt5/python-pyqt5.inc index bbeb75af..b830c9a9 100644 --- a/recipes-python/pyqt5/python-pyqt5.inc +++ b/recipes-python/pyqt5/python-pyqt5.inc @@ -7,11 +7,12 @@ LIC_FILES_CHKSUM = "\ file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \ " SRC_URI = "\ - https://www.riverbankcomputing.com/static/Downloads/PyQt5/${PV}/PyQt5_gpl-${PV}.tar.gz \ + https://www.riverbankcomputing.com/static/Downloads/PyQt5/${PV}/PyQt5-${PV}.tar.gz \ " -SRC_URI[md5sum] = "67508b652098d2e05c4c2b5baeb170cc" -SRC_URI[sha256sum] = "3718ce847d824090fd5f95ff3f13847ee75c2507368d4cbaeb48338f506e59bf" -S = "${WORKDIR}/PyQt5_gpl-${PV}" +SRC_URI[md5sum] = "c1023cb9c3d29a89fc109b163a0175c0" +SRC_URI[sha256sum] = "adc17c077bf233987b8e43ada87d1e0deca9bd71a13e5fd5fc377482ed69c827" + +S = "${WORKDIR}/PyQt5-${PV}" inherit qmake5 DEPENDS = "qtbase qtdeclarative qtquickcontrols2" diff --git a/recipes-python/pyqt5/python-pyqt5_5.12.1.bb b/recipes-python/pyqt5/python-pyqt5_5.13.2.bb index 6b1b5701..b8b1d086 100644 --- a/recipes-python/pyqt5/python-pyqt5_5.12.1.bb +++ b/recipes-python/pyqt5/python-pyqt5_5.13.2.bb @@ -6,3 +6,4 @@ DEPENDS += "sip sip-native python" RDEPENDS_${PN} += "python-core python-sip" +PNBLACKLIST[python-pyqt5] = "Sip fails in do_configure sip: QOpenGLFramebufferObject is undefined" diff --git a/recipes-python/pyqt5/python3-pyqt5_5.12.1.bb b/recipes-python/pyqt5/python3-pyqt5_5.13.2.bb index 200a8154..200a8154 100644 --- a/recipes-python/pyqt5/python3-pyqt5_5.12.1.bb +++ b/recipes-python/pyqt5/python3-pyqt5_5.13.2.bb diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 461f0d75..34349570 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -42,6 +42,7 @@ SRC_URI += "\ file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \ file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ file://0017-qfloat16-check-for-__ARM_FP-2.patch \ + file://0018-input-Make-use-of-timeval-portable-for-64bit-time_t.patch \ " # common for qtbase-native and nativesdk-qtbase diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb index a3960042..a2717ee6 100644 --- a/recipes-qt/qt5/qt5-creator_git.bb +++ b/recipes-qt/qt5/qt5-creator_git.bb @@ -66,7 +66,7 @@ FILES_${PN}-dev += " \ ${libdir}${QT_DIR_NAME}/qtcreator/*${SOLIBSDEV} \ " -RDEPENDS_${PN} += "perl python" +RDEPENDS_${PN} += "perl python3" RCONFLICTS_${PN} = "qt-creator" # To give best user experience out of the box.. diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index ae1afbfc..a88fde1b 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -37,6 +37,7 @@ SRC_URI += "\ file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \ file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ file://0017-qfloat16-check-for-__ARM_FP-2.patch \ + file://0018-input-Make-use-of-timeval-portable-for-64bit-time_t.patch \ " # common for qtbase-native and nativesdk-qtbase diff --git a/recipes-qt/qt5/qtbase/0018-input-Make-use-of-timeval-portable-for-64bit-time_t.patch b/recipes-qt/qt5/qtbase/0018-input-Make-use-of-timeval-portable-for-64bit-time_t.patch new file mode 100644 index 00000000..76b4671c --- /dev/null +++ b/recipes-qt/qt5/qtbase/0018-input-Make-use-of-timeval-portable-for-64bit-time_t.patch @@ -0,0 +1,62 @@ +From e06ac2e26c8490a7b8702e9462d1f38244ac3f0f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 25 Nov 2019 08:27:39 -0800 +Subject: [PATCH] input: Make use of timeval portable for 64bit time_t + +This patch avoids using time field of input_event structure which is not available +on 32bit arches supporting 64bit time_t structs, Patch makes it compatible with new +and keeps old input.h implementation functional as well. + +See https://sourceware.org/glibc/wiki/Y2038ProofnessDesign + +Upstream-Status: Submitted [https://codereview.qt-project.org/c/qt/qtbase/+/282610] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + .../input/evdevkeyboard/qevdevkeyboardhandler.cpp | 10 +++++++++- + .../input/evdevtouch/qevdevtouchhandler.cpp | 2 +- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp +index 666613f09d..0e3e0ea0de 100644 +--- a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp ++++ b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp +@@ -58,6 +58,11 @@ + #include <linux/input.h> + #endif + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + QT_BEGIN_NAMESPACE + + Q_LOGGING_CATEGORY(qLcEvdevKey, "qt.qpa.input") +@@ -149,7 +154,10 @@ void QEvdevKeyboardHandler::switchLed(int led, bool state) + qCDebug(qLcEvdevKey) << "switchLed" << led << state; + + struct ::input_event led_ie; +- ::gettimeofday(&led_ie.time, 0); ++ struct timeval tval; ++ ::gettimeofday(&tval, 0); ++ led_ie.input_event_sec = tval.tv_sec; ++ led_ie.input_event_usec = tval.tv_usec; + led_ie.type = EV_LED; + led_ie.code = led; + led_ie.value = state; +diff --git a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp +index f86f80785e..3914698f2a 100644 +--- a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp ++++ b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp +@@ -568,7 +568,7 @@ void QEvdevTouchScreenData::processInputEvent(input_event *data) + + // update timestamps + m_lastTimeStamp = m_timeStamp; +- m_timeStamp = data->time.tv_sec + data->time.tv_usec / 1000000.0; ++ m_timeStamp = data->input_event_sec + data->input_event_usec / 1000000.0; + + m_lastTouchPoints = m_touchPoints; + m_touchPoints.clear(); +-- +2.24.0 + diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index 4211c59b..650fdeef 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -33,6 +33,7 @@ SRC_URI += "\ file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \ file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \ file://0017-qfloat16-check-for-__ARM_FP-2.patch \ + file://0018-input-Make-use-of-timeval-portable-for-64bit-time_t.patch \ " # for syncqt @@ -267,8 +268,8 @@ do_install_append() { generate_target_qt_config_file ${D}${OE_QMAKE_PATH_BINS}/qt.conf - # Fix up absolute paths in scripts - sed -i -e '1s,#!/usr/bin/python,#! ${USRBINPATH}/env python,' \ + # Fix up absolute paths in scripts and use python3 instead of python + sed -i -e '1s,#!/usr/bin/python$,#! ${USRBINPATH}/env python3,' \ ${D}${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/features/uikit/devices.py } diff --git a/recipes-qt/qt5/qtdeclarative/0001-Use-python3-explicitly.patch b/recipes-qt/qt5/qtdeclarative/0001-Use-python3-explicitly.patch new file mode 100644 index 00000000..e1067016 --- /dev/null +++ b/recipes-qt/qt5/qtdeclarative/0001-Use-python3-explicitly.patch @@ -0,0 +1,60 @@ +From dc94032e6132b41bd6927357e4a57c31436294eb Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 26 Nov 2019 21:10:03 -0800 +Subject: [PATCH] Use python3 explicitly + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + qtdeclarative.pro | 2 +- + src/3rdparty/masm/masm.pri | 4 ++-- + tests/auto/qml/ecmascripttests/test262.py | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/qtdeclarative.pro b/qtdeclarative.pro +index 5b94da9b6..0e3496ce8 100644 +--- a/qtdeclarative.pro ++++ b/qtdeclarative.pro +@@ -2,7 +2,7 @@ CONFIG += tests_need_tools examples_need_tools + load(qt_parts) + + !python_available { +- py_out = $$system('python -c "print(1)"') ++ py_out = $$system('python3 -c "print(1)"') + !equals(py_out, 1): error("Building QtQml requires Python.") + tmp = python_available + CONFIG += $$tmp +diff --git a/src/3rdparty/masm/masm.pri b/src/3rdparty/masm/masm.pri +index 0e63ac2ce..7a30ab64e 100644 +--- a/src/3rdparty/masm/masm.pri ++++ b/src/3rdparty/masm/masm.pri +@@ -58,7 +58,7 @@ contains(DEFINES, WTF_USE_UDIS86=1) { + udis86.output = udis86_itab.h + udis86.input = ITAB + udis86.CONFIG += no_link +- udis86.commands = python $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN} ++ udis86.commands = python3 $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN} + QMAKE_EXTRA_COMPILERS += udis86 + + udis86_tab_cfile.target = $$OUT_PWD/udis86_itab.c +@@ -113,7 +113,7 @@ retgen.output = $$GENERATEDDIR/RegExpJitTables.h + retgen.script = $$PWD/yarr/create_regex_tables + retgen.input = retgen.script + retgen.CONFIG += no_link +-retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT} ++retgen.commands = python3 $$retgen.script > ${QMAKE_FILE_OUT} + QMAKE_EXTRA_COMPILERS += retgen + + # Taken from WebKit/Tools/qmake/mkspecs/features/unix/default_post.prf +diff --git a/tests/auto/qml/ecmascripttests/test262.py b/tests/auto/qml/ecmascripttests/test262.py +index 19551e3ba..bf3f79a45 100755 +--- a/tests/auto/qml/ecmascripttests/test262.py ++++ b/tests/auto/qml/ecmascripttests/test262.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + ############################################################################# + ## + ## Copyright (C) 2017 The Qt Company Ltd. +-- +2.24.0 + diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 18c612fb..037c0991 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -12,12 +12,13 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " -DEPENDS += "qtbase" - SRC_URI += "\ file://0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch \ + file://0001-Use-python3-explicitly.patch \ " +DEPENDS += "qtbase" + PACKAGECONFIG ??= "qml-debug qml-network ${@bb.utils.contains('DISTRO_FEATURES', 'qt5-static', 'static', '', d)}" PACKAGECONFIG[qml-debug] = "-qml-debug,-no-qml-debug" PACKAGECONFIG[qml-network] = "-qml-network, -no-qml-network" diff --git a/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch b/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch new file mode 100644 index 00000000..73ef469f --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0004-mkspecs-Allow-builds-with-libc-glibc.patch @@ -0,0 +1,29 @@ +From a5c8d833ffb8b54626b7b670b2782a6cf9a45075 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 12 Nov 2019 19:53:59 -0800 +Subject: [PATCH] mkspecs: Allow builds with libc != glibc + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + mkspecs/features/configure.prf | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf +index cc84182b..c278ffae 100644 +--- a/mkspecs/features/configure.prf ++++ b/mkspecs/features/configure.prf +@@ -75,11 +75,6 @@ defineTest(runConfigure) { + return(false) + } + +- !qtConfig(webengine-system-glibc) { +- skipBuild("A suitable version >= 2.27 of libc could not be found.") +- return(false) +- } +- + QT_FOR_CONFIG += gui-private + + !qtConfig(webengine-system-khr) { +-- +2.24.0 + diff --git a/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 00000000..ac16068c --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0021-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,70 @@ +From 6ae9112ffea9a5b7d41a06c3d33e55e4f32d8b5a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 30 Nov 2019 10:07:43 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + chromium/ui/events/ozone/evdev/event_converter_evdev.cc | 4 ++-- + chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc | 6 +++--- + chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.h | 5 +++++ + 3 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/chromium/ui/events/ozone/evdev/event_converter_evdev.cc b/chromium/ui/events/ozone/evdev/event_converter_evdev.cc +index 684514ff011..e2f2ae0b633 100644 +--- a/chromium/ui/events/ozone/evdev/event_converter_evdev.cc ++++ b/chromium/ui/events/ozone/evdev/event_converter_evdev.cc +@@ -168,8 +168,8 @@ void EventConverterEvdev::SetPalmSuppressionCallback( + base::TimeTicks EventConverterEvdev::TimeTicksFromInputEvent( + const input_event& event) { + base::TimeTicks timestamp = +- ui::EventTimeStampFromSeconds(event.time.tv_sec) + +- base::TimeDelta::FromMicroseconds(event.time.tv_usec); ++ ui::EventTimeStampFromSeconds(event.input_event_sec) + ++ base::TimeDelta::FromMicroseconds(event.input_event_usec); + ValidateEventTimeClock(×tamp); + return timestamp; + } +diff --git a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc +index 363c3183e05..4fccfd62f84 100644 +--- a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc ++++ b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.cc +@@ -59,11 +59,11 @@ void TouchEventLogEvdev::DumpLog(const char* filename) { + for (int i = 0; i < kDebugBufferSize; ++i) { + struct TouchEvent* te = + &logged_events_[(debug_buffer_tail_ + i) % kDebugBufferSize]; +- if (te->ev.time.tv_sec == 0 && te->ev.time.tv_usec == 0) ++ if (te->ev.input_event_sec == 0 && te->ev.input_event_usec == 0) + continue; + std::string event_string = base::StringPrintf( +- "E: %ld.%06ld %04x %04x %d %d\n", te->ev.time.tv_sec, +- te->ev.time.tv_usec, te->ev.type, te->ev.code, te->ev.value, te->slot); ++ "E: %ld.%06ld %04x %04x %d %d\n", te->ev.input_event_sec, ++ te->ev.input_event_usec, te->ev.type, te->ev.code, te->ev.value, te->slot); + report_content += event_string; + } + file.Write(0, report_content.c_str(), report_content.length()); +diff --git a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.h b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.h +index ccd3a499a38..5a2da89d09a 100644 +--- a/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.h ++++ b/chromium/ui/events/ozone/evdev/touch_evdev_debug_buffer.h +@@ -14,6 +14,11 @@ + + #include "ui/events/ozone/evdev/events_ozone_evdev_export.h" + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + namespace ui { + + class EventDeviceInfo; +-- +2.24.0 + diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index dca7507b..8eec4783 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -159,6 +159,7 @@ SRC_URI += " \ file://chromium/0005-chromium-Do-not-try-to-set-the-guessed-values-for-ma.patch;patchdir=src/3rdparty \ file://chromium/0006-chromium-aarch64-skia-build-fix.patch;patchdir=src/3rdparty \ file://chromium/0007-chromium-fix-build-after-y2038-changes-in-glibc.patch;patchdir=src/3rdparty \ + file://chromium/0021-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ " SRC_URI_append_libc-musl = "\ diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index 5138e99f..abf63097 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = " \ file://Source/JavaScriptCore/parser/Parser.h;endline=21;md5=bd69f72183a7af673863f057576e21ee \ " -DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native bison-native" +DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf-native bison-native flex-native" # Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.13 # 5.13.meta-qt5.1 |