From 1365691f40dea163bd6a1b16e128429e122d6180 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 14 Jan 2020 09:35:30 +0200 Subject: qttools: remove ptest installation Remove last bit of ptest functionality from qttools as no tests are build anymore. Signed-off-by: Samuli Piippo --- recipes-qt/qt5/qttools_git.bb | 6 ------ 1 file changed, 6 deletions(-) (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb index 3f22a6e8..1c473beb 100644 --- a/recipes-qt/qt5/qttools_git.bb +++ b/recipes-qt/qt5/qttools_git.bb @@ -52,9 +52,3 @@ EXTRA_QMAKEVARS_PRE_append_class-target = "\ SRCREV = "1682033b1bdadefeb9b953f7d9d096d884f797e2" BBCLASSEXTEND = "native nativesdk" - -do_install_ptest() { - mkdir -p ${D}${PTEST_PATH} - t=${D}${PTEST_PATH} - cp ${B}/tests/auto/qtdiag/tst_tdiag $t -} -- cgit v1.2.3 From fd376e159de6ebcf659a2e083635ca1f244fab30 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 15 Jan 2020 16:58:45 -0800 Subject: qtwebengine: Fix missing headers found in build with clang Fixes chromium/third_party/perfetto/include/perfetto/base/task_runner.h:48:55: error: unknown type name 'uint32_t' | virtual void PostDelayedTask(std::function, uint32_t delay_ms) = 0; Signed-off-by: Khem Raj --- ...0011-chromium-Include-cstddef-and-cstdint.patch | 50 ++++++++++++++++++++++ recipes-qt/qt5/qtwebengine_git.bb | 1 + 2 files changed, 51 insertions(+) create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch new file mode 100644 index 00000000..32dde335 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0011-chromium-Include-cstddef-and-cstdint.patch @@ -0,0 +1,50 @@ +From c2ca4923d5e534789b205968eb01779a90ec1299 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 15 Jan 2020 16:53:46 -0800 +Subject: [PATCH] chromium: Include and + +These headers are needed for uintXX_t and size_t definitions + +Signed-off-by: Khem Raj +--- + chromium/media/cdm/supported_cdm_versions.h | 1 + + .../third_party/perfetto/include/perfetto/base/task_runner.h | 1 + + chromium/third_party/webrtc/call/rtx_receive_stream.h | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/chromium/media/cdm/supported_cdm_versions.h b/chromium/media/cdm/supported_cdm_versions.h +index 3f220da8c71..c54e3bb7d30 100644 +--- a/chromium/media/cdm/supported_cdm_versions.h ++++ b/chromium/media/cdm/supported_cdm_versions.h +@@ -6,6 +6,7 @@ + #define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_ + + #include ++#include + + #include "media/base/media_export.h" + #include "media/cdm/api/content_decryption_module.h" +diff --git a/chromium/third_party/perfetto/include/perfetto/base/task_runner.h b/chromium/third_party/perfetto/include/perfetto/base/task_runner.h +index cf60401238f..02658e7139b 100644 +--- a/chromium/third_party/perfetto/include/perfetto/base/task_runner.h ++++ b/chromium/third_party/perfetto/include/perfetto/base/task_runner.h +@@ -18,6 +18,7 @@ + #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ + + #include ++#include + + #include "perfetto/base/export.h" + +diff --git a/chromium/third_party/webrtc/call/rtx_receive_stream.h b/chromium/third_party/webrtc/call/rtx_receive_stream.h +index 8ffa4400a9c..a389fc2a574 100644 +--- a/chromium/third_party/webrtc/call/rtx_receive_stream.h ++++ b/chromium/third_party/webrtc/call/rtx_receive_stream.h +@@ -11,6 +11,7 @@ + #ifndef CALL_RTX_RECEIVE_STREAM_H_ + #define CALL_RTX_RECEIVE_STREAM_H_ + ++#include + #include + + #include "call/rtp_packet_sink_interface.h" diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 1a241547..e42cf491 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -162,6 +162,7 @@ SRC_URI += " \ file://chromium/0008-chromium-Fix-build-on-32bit-arches-with-64bit-time_t.patch;patchdir=src/3rdparty \ file://chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ file://chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ + file://chromium/0011-chromium-Include-cstddef-and-cstdint.patch;patchdir=src/3rdparty \ " SRC_URI_append_libc-musl = "\ -- cgit v1.2.3 From 47fb26deddabe331514d54a5884bb319839d7de8 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 19 Jan 2020 17:51:37 -0800 Subject: recipes: Use python3 during build Signed-off-by: Khem Raj Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtwebengine_git.bb | 2 +- recipes-qt/qt5/qtwebkit_git.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index e42cf491..30b283c3 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -79,7 +79,7 @@ COMPATIBLE_MACHINE_aarch64 = "(.*)" inherit qmake5 inherit gettext -inherit pythonnative +inherit python3native inherit perlnative inherit features_check diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index 6cc789f0..5c3247dc 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -18,7 +18,7 @@ SRC_URI += "\ file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ " -inherit cmake_qt5 perlnative pythonnative +inherit cmake_qt5 perlnative python3native # qemuarm build fails with: # | {standard input}: Assembler messages: -- cgit v1.2.3 From b1f4f1fdd06d388a62b463ea54e26f8e5a852ad4 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 23 Jan 2020 19:32:08 +0100 Subject: Revert "recipes: Use python3 during build" This reverts commit 47fb26deddabe331514d54a5884bb319839d7de8. Neither of these actually builds with python3, it's good fix to start parsing the layer again, but better to just skip them when meta-python2 isn't available until real fix is available. qtwebkit might not get the support for python3 at all qtwebengine I have some changes for the initial build, but there are many more needed as shown in upstream chromium: https://bugs.chromium.org/p/chromium/issues/detail?id=942720 https://bugs.chromium.org/p/chromium/issues/list?q=label%3AProj-Python3Migration&can=2 python-pyqt5 is already blacklisted because of sip qtwebengine with python3 shows in log.do_configure that it won't actually build qtwebengine, but it doesn't fail. do_compile fails but with a bit misleading error: ERROR: qtwebengine-5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 do_compile: oe_runmake failed ERROR: qtwebengine-5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 do_compile: Execution of '/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/temp/run.do_compile.16479' failed with exit code 1: cd src/ && ( test -e Makefile || /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot-native/usr/bin/qmake -o Makefile /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/git/src/src.pro CONFIG+=force_debug_info QT_BUILD_PARTS-=examples QT_BUILD_PARTS-=tests 'QMAKE_CXX=x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot' 'QMAKE_CC=x86_64-webos-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot' 'QMAKE_LINK=x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot' 'QMAKE_CFLAGS= -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0=/usr/src/debug/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0=/usr/src/debug/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot= -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot-native= ' 'QMAKE_CXXFLAGS= -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0=/usr/src/debug/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0=/usr/src/debug/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot= -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot-native= -fvisibility-inlines-hidden' -after ) && make -f Makefile make[1]: Entering directory '/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/build/src' /bin/sh: 1: Syntax error: "(" unexpected Makefile:295: recipe for target 'errorbuild' failed make[1]: *** [errorbuild] Error 2 make[1]: Leaving directory '/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/build/src' Makefile:48: recipe for target 'sub-src-make_first' failed make: *** [sub-src-make_first] Error 2 WARNING: exit code 1 from a shell command. Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtwebengine_git.bb | 2 +- recipes-qt/qt5/qtwebkit_git.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 30b283c3..e42cf491 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -79,7 +79,7 @@ COMPATIBLE_MACHINE_aarch64 = "(.*)" inherit qmake5 inherit gettext -inherit python3native +inherit pythonnative inherit perlnative inherit features_check diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index 5c3247dc..6cc789f0 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -18,7 +18,7 @@ SRC_URI += "\ file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ " -inherit cmake_qt5 perlnative python3native +inherit cmake_qt5 perlnative pythonnative # qemuarm build fails with: # | {standard input}: Assembler messages: -- cgit v1.2.3 From a797f85c6fa0b89cb20ac0346cf0406cc85569ce Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 23 Jan 2020 19:37:20 +0100 Subject: python-pyqt5, qtwebengine, qtwebkit, qt-kiosk-browser: skip without meta-python2 Neither of these actually builds with python3, skip them when meta-python2 isn't included until real fix is available. qtwebkit might not get the support for python3 at all qtwebengine I have some changes for the initial build, but there are many more needed as shown in upstream chromium: https://bugs.chromium.org/p/chromium/issues/detail?id=942720 https://bugs.chromium.org/p/chromium/issues/list?q=label%3AProj-Python3Migration&can=2 python-pyqt5 is already blacklisted because of sip qtwebengine with python3 shows in log.do_configure that it won't actually build qtwebengine, but it doesn't fail. do_compile fails but with a bit misleading error: ERROR: qtwebengine-5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 do_compile: oe_runmake failed ERROR: qtwebengine-5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 do_compile: Execution of '/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/temp/run.do_compile.16479' failed with exit code 1: cd src/ && ( test -e Makefile || /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot-native/usr/bin/qmake -o Makefile /home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/git/src/src.pro CONFIG+=force_debug_info QT_BUILD_PARTS-=examples QT_BUILD_PARTS-=tests 'QMAKE_CXX=x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot' 'QMAKE_CC=x86_64-webos-linux-gcc -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot' 'QMAKE_LINK=x86_64-webos-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse --sysroot=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot' 'QMAKE_CFLAGS= -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0=/usr/src/debug/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0=/usr/src/debug/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot= -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot-native= ' 'QMAKE_CXXFLAGS= -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0=/usr/src/debug/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0=/usr/src/debug/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0 -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot= -fdebug-prefix-map=/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/recipe-sysroot-native= -fvisibility-inlines-hidden' -after ) && make -f Makefile make[1]: Entering directory '/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/build/src' /bin/sh: 1: Syntax error: "(" unexpected Makefile:295: recipe for target 'errorbuild' failed make[1]: *** [errorbuild] Error 2 make[1]: Leaving directory '/home/jenkins/workspace/luneos-unstable/webos-ports/tmp-glibc/work/core2-64-webos-linux/qtwebengine/5.14.0+gitAUTOINC+d366f1d5d3_939daf833f-r0/build/src' Makefile:48: recipe for target 'sub-src-make_first' failed make: *** [sub-src-make_first] Error 2 WARNING: exit code 1 from a shell command. Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtwebengine_git.bb | 9 ++++++++- recipes-qt/qt5/qtwebkit_git.bb | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index e42cf491..c00120b3 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -79,10 +79,17 @@ COMPATIBLE_MACHINE_aarch64 = "(.*)" inherit qmake5 inherit gettext -inherit pythonnative inherit perlnative inherit features_check +inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)} + +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} + + # Static builds of QtWebEngine aren't supported. CONFLICT_DISTRO_FEATURES = "qt5-static" diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index 6cc789f0..942e733a 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -18,7 +18,14 @@ SRC_URI += "\ file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ " -inherit cmake_qt5 perlnative pythonnative +inherit cmake_qt5 perlnative + +inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)} + +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} # qemuarm build fails with: # | {standard input}: Assembler messages: -- cgit v1.2.3 From a35403dcf6b75ee7355108cab3e466009003b1a7 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 23 Jan 2020 19:42:46 +0100 Subject: qtwebkit: remove * it wasn't updated for very long time and I assume that all users already migrated to qtwebengine if not let me know that you'll start maintaining this recipe Signed-off-by: Martin Jansa --- recipes-qt/qt5/qt5-creator_git.bb | 2 +- .../0001-Do-not-skip-build-for-cross-compile.patch | 28 ------- ...002-Fix-build-with-non-glibc-libc-on-musl.patch | 69 ----------------- .../0003-Fix-build-bug-for-armv32-BE.patch | 25 ------ ...cmake-Do-not-generate-hardcoded-include-p.patch | 37 --------- recipes-qt/qt5/qtwebkit_git.bb | 89 ---------------------- 6 files changed, 1 insertion(+), 249 deletions(-) delete mode 100644 recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch delete mode 100644 recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch delete mode 100644 recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch delete mode 100644 recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch delete mode 100644 recipes-qt/qt5/qtwebkit_git.bb (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qt5-creator_git.bb b/recipes-qt/qt5/qt5-creator_git.bb index 5b723ab4..5c11e4e8 100644 --- a/recipes-qt/qt5/qt5-creator_git.bb +++ b/recipes-qt/qt5/qt5-creator_git.bb @@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = " \ inherit qmake5 -DEPENDS = "qtbase qtscript qtwebkit qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native zlib" +DEPENDS = "qtbase qtscript qtxmlpatterns qtx11extras qtdeclarative qttools qttools-native qtsvg chrpath-replacement-native zlib" DEPENDS_append_toolchain-clang = " clang llvm-common" DEPENDS_append_libc-musl = " libexecinfo" diff --git a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch deleted file mode 100644 index a237d03d..00000000 --- a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 34018c2a61045c58f88e09a12ecd62533aa2c2f1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Mon, 4 Jun 2018 10:35:46 +0200 -Subject: [PATCH] Do not skip build for cross-compile -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Andreas Müller ---- - Tools/qmake/mkspecs/features/functions.prf | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf -index e3f42cec4..797b7085f 100644 ---- a/Tools/qmake/mkspecs/features/functions.prf -+++ b/Tools/qmake/mkspecs/features/functions.prf -@@ -53,8 +53,6 @@ defineReplace(appleSdkVersion) { - defineTest(isPlatformSupported) { - !qtHaveModule(widgets): skipBuild("QtWidgets module is required to build QtWebKit.") - -- cross_compile: skipBuild("cross-compilation of QtWebKit with qmake is not supported yet") -- - requiredPrograms = cmake gperf python perl bison ruby flex - for(program, requiredPrograms): \ - !programExistsInPath($$program): \ diff --git a/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch b/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch deleted file mode 100644 index bf79b363..00000000 --- a/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch +++ /dev/null @@ -1,69 +0,0 @@ -From c4ceb318aa1064bfa677cdd800c52155eb1bed3a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 23 Aug 2018 04:06:17 +0000 -Subject: [PATCH] Fix build with non-glibc libc on musl - -Need to ensure glibc features are not assumed to be linux-wide - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - Source/JavaScriptCore/heap/MachineStackMarker.cpp | 8 ++++---- - .../inspector/JSGlobalObjectInspectorController.cpp | 2 ++ - 2 files changed, 6 insertions(+), 4 deletions(-) - -diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp -index 883914fd3..ce4e8d331 100644 ---- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp -+++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp -@@ -566,7 +566,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const - #error Unknown Architecture - #endif - --#elif defined(__GLIBC__) && ENABLE(JIT) -+#elif defined(__linux__) && ENABLE(JIT) - - #if CPU(X86) - return reinterpret_cast((uintptr_t) regs.machineContext.gregs[REG_ESP]); -@@ -665,7 +665,7 @@ void* MachineThreads::Thread::Registers::framePointer() const - #error Unknown Architecture - #endif - --#elif defined(__GLIBC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -747,7 +747,7 @@ void* MachineThreads::Thread::Registers::instructionPointer() const - #error Unknown Architecture - #endif - --#elif defined(__GLIBC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -838,7 +838,7 @@ void* MachineThreads::Thread::Registers::llintPC() const - #error Unknown Architecture - #endif - --#elif defined(__GLIBC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -diff --git a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp -index fd7f869d4..e95391b32 100644 ---- a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp -+++ b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp -@@ -51,8 +51,10 @@ - #include - #if OS(DARWIN) || (OS(LINUX) && !PLATFORM(GTK)) - #include -+#if defined(__GLIBC__) - #include - #endif -+#endif - - #if ENABLE(REMOTE_INSPECTOR) - #include "JSGlobalObjectDebuggable.h" diff --git a/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch deleted file mode 100644 index ffd8da0f..00000000 --- a/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f6576377f8bf2c854d8079b7f309f570b3d2bde4 Mon Sep 17 00:00:00 2001 -From: Lei Maohui -Date: Fri, 31 Aug 2018 15:42:48 +0900 -Subject: [PATCH] Fix build bug for armv32 BE. - -Upstream-Status: Pending - -Signed-off-by: Lei Maohui ---- - Source/WTF/wtf/dtoa/utils.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h -index 889642cee..05302e6e6 100644 ---- a/Source/WTF/wtf/dtoa/utils.h -+++ b/Source/WTF/wtf/dtoa/utils.h -@@ -49,7 +49,7 @@ - defined(__ARMEL__) || \ - defined(_MIPS_ARCH_MIPS32R2) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 --#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) -+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(_M_IX86) || defined(__i386__) - #if defined(_WIN32) diff --git a/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch deleted file mode 100644 index 14cb8aa4..00000000 --- a/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 83aa5b3265d7c9f64e754cb890988cf8a5669ce7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 24 Sep 2018 02:11:10 -0700 -Subject: [PATCH] PlatformQt.cmake: Do not generate hardcoded include paths - -If we do not use this define,then it falls into else case which -generated .pri files with /usr/include and so on for includes and -compiler does not like specifying absolute include paths pointing to -build host includes - -Signed-off-by: Khem Raj ---- - Source/WebKit/PlatformQt.cmake | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake -index 9aed9906e..48638aef4 100644 ---- a/Source/WebKit/PlatformQt.cmake -+++ b/Source/WebKit/PlatformQt.cmake -@@ -512,7 +512,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) - install(FILES ${WebKit_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) - endif () - --if (KDE_INSTALL_USE_QT_SYS_PATHS) -+if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE) - set(WebKit_PRI_ARGUMENTS - BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" - LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" -@@ -737,7 +737,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) - install(FILES ${WebKitWidgets_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) - endif () - --if (KDE_INSTALL_USE_QT_SYS_PATHS) -+if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE) - set(WebKitWidgets_PRI_ARGUMENTS - BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" - LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb deleted file mode 100644 index 942e733a..00000000 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ /dev/null @@ -1,89 +0,0 @@ -require qt5.inc -require qt5-git.inc - -LICENSE = "BSD & LGPLv2+ | GPL-2.0" -LIC_FILES_CHKSUM = " \ - file://LICENSE.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \ - 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 flex-native" - -# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.13 -# 5.13.meta-qt5.1 -SRC_URI += "\ - file://0001-Do-not-skip-build-for-cross-compile.patch \ - file://0002-Fix-build-with-non-glibc-libc-on-musl.patch \ - file://0003-Fix-build-bug-for-armv32-BE.patch \ - file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ -" - -inherit cmake_qt5 perlnative - -inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)} - -python() { - if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): - raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') -} - -# qemuarm build fails with: -# | {standard input}: Assembler messages: -# | {standard input}:106: Error: invalid immediate: 983040 is out of range -# | {standard input}:106: Error: value of 983040 too large for field of 2 bytes at 146 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" - -# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 -# https://bugs.webkit.org/show_bug.cgi?id=159880 -# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. -# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). -ARM_INSTRUCTION_SET_armv7a = "thumb" -ARM_INSTRUCTION_SET_armv7r = "thumb" -ARM_INSTRUCTION_SET_armv7ve = "thumb" - -# http://errors.yoctoproject.org/Errors/Details/179245/ -# just use -fpermissive in this case like fedora did: -# https://bugzilla.redhat.com/show_bug.cgi?id=1582954 -CXXFLAGS += "-fpermissive" - -EXTRA_OECMAKE += " \ - -DPORT=Qt \ - -DCROSS_COMPILE=ON \ - -DECM_MKSPECS_INSTALL_DIR=${libdir}${QT_DIR_NAME}/mkspecs/modules \ - -DQML_INSTALL_DIR=${OE_QMAKE_PATH_QML} \ -" - -EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'" - -# JIT not supported on MIPS/PPC -EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " -EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " -# Disable gold on mips64/clang -# mips64-yoe-linux-musl-ld.gold: internal error in get_got_page_offset, at ../../gold/mips.cc:6260 -# mips-yoe-linux-musl-ld.gold: error: Can't find matching LO16 reloc -EXTRA_OECMAKE_append_toolchain-clang_mipsarch = " -DUSE_LD_GOLD=OFF " - -PACKAGECONFIG ??= "qtlocation qtmultimedia qtsensors qtwebchannel \ - ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ - fontconfig \ -" - -# gstreamer conflicts with qtmultimedia! -PACKAGECONFIG[gstreamer] = "-DUSE_GSTREAMER=ON,-DUSE_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base" -PACKAGECONFIG[qtlocation] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,qtlocation" -PACKAGECONFIG[qtmultimedia] = "-DUSE_QT_MULTIMEDIA=ON,-DUSE_QT_MULTIMEDIA=OFF,qtmultimedia" -PACKAGECONFIG[qtsensors] = "-DENABLE_DEVICE_ORIENTATION=ON,-DENABLE_DEVICE_ORIENTATION=OFF,qtsensors" -PACKAGECONFIG[qtwebchannel] = "-DENABLE_QT_WEBCHANNEL=ON,-DENABLE_QT_WEBCHANNEL=OFF,qtwebchannel" -PACKAGECONFIG[libwebp] = ",,libwebp" -PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,libxcomposite libxrender" -PACKAGECONFIG[fontconfig] = "-DENABLE_TEST_SUPPORT=ON,-DENABLE_TEST_SUPPORT=OFF,fontconfig" -# hyphen is only in meta-office currently! -PACKAGECONFIG[hyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,hyphen" - -# remove default ${PN}-examples* set in qt5.inc, because they conflicts with ${PN} from separate webkit-examples recipe -PACKAGES_remove = "${PN}-examples" - -QT_MODULE_BRANCH = "dev" - -SRCREV = "ab1bd15209abaf7effc51dbc2f272c5681af7223" -- cgit v1.2.3 From 8cadcbcb52af124417cdc29eb94bf8cdfe86f3d4 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 27 Jan 2020 13:37:21 +0100 Subject: qt5: upgrade to 5.14.1 Signed-off-by: Martin Jansa --- recipes-qt/qt5/nativesdk-qtbase_git.bb | 8 +-- .../qt5/qt3d/0001-Allow-a-tools-only-build.patch | 2 +- recipes-qt/qt5/qt3d_git.bb | 6 +-- recipes-qt/qt5/qt5-git.inc | 4 +- recipes-qt/qt5/qtbase-native_git.bb | 8 +-- .../qt5/qtbase/0001-Add-linux-oe-g-platform.patch | 6 +-- ...make-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch | 2 +- ...o-allow-to-set-qt.conf-from-the-outside-u.patch | 2 +- ...ump-path-length-from-256-to-512-character.patch | 6 +-- ...-unknown-features-instead-of-erroring-out.patch | 2 +- ...-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch | 4 +- .../0007-Delete-qlonglong-and-qulonglong.patch | 2 +- ...08-Replace-pthread_yield-with-sched_yield.patch | 6 +-- ...-Add-OE-specific-specs-for-clang-compiler.patch | 2 +- ...-Invert-conditional-for-defining-QT_SOCKL.patch | 2 +- ..._qlocale-Enable-QT_USE_FENV-only-on-glibc.patch | 4 +- ...mon-gcc-base.conf-Use-I-instead-of-isyste.patch | 2 +- .../qtbase/0013-Disable-ltcg-for-host_build.patch | 2 +- ...gExtras.cmake.in-cope-with-variable-path-.patch | 2 +- ...-corelib-Include-sys-types.h-for-uint32_t.patch | 4 +- ...KE_CXX.COMPILER_MACROS-for-clang-on-linux.patch | 2 +- .../0017-qfloat16-check-for-__ARM_FP-2.patch | 4 +- ...-use-of-timeval-portable-for-64bit-time_t.patch | 2 +- .../qtbase/0019-Always-build-uic-and-qvkgen.patch | 2 +- ...20-Avoid-renameeat2-for-native-sdk-builds.patch | 6 +-- .../0021-Bootstrap-without-linkat-feature.patch | 4 +- recipes-qt/qt5/qtbase_git.bb | 6 +-- recipes-qt/qt5/qtcharts_git.bb | 2 +- recipes-qt/qt5/qtcoap_git.bb | 2 +- .../0001-Add-missing-header-for-errno.patch | 2 +- recipes-qt/qt5/qtconnectivity_git.bb | 2 +- recipes-qt/qt5/qtdatavis3d_git.bb | 2 +- ...E_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch | 2 +- .../0001-Use-python3-explicitly.patch | 60 ---------------------- .../0002-Use-python3-explicitly.patch | 57 ++++++++++++++++++++ recipes-qt/qt5/qtdeclarative_git.bb | 11 ++-- recipes-qt/qt5/qtgamepad_git.bb | 2 +- recipes-qt/qt5/qtgraphicaleffects_git.bb | 2 +- recipes-qt/qt5/qtknx_git.bb | 2 +- recipes-qt/qt5/qtlocation_git.bb | 2 +- recipes-qt/qt5/qtlottie_git.bb | 2 +- recipes-qt/qt5/qtmqtt_git.bb | 2 +- ...tmultimedia-fix-a-conflicting-declaration.patch | 2 +- recipes-qt/qt5/qtmultimedia_git.bb | 6 +-- recipes-qt/qt5/qtnetworkauth_git.bb | 2 +- recipes-qt/qt5/qtopcua_git.bb | 2 +- recipes-qt/qt5/qtpurchasing_git.bb | 2 +- recipes-qt/qt5/qtquickcontrols2_git.bb | 2 +- recipes-qt/qt5/qtquickcontrols_git.bb | 2 +- .../0001-Allow-a-tools-only-build.patch | 2 +- ...make-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch | 2 +- recipes-qt/qt5/qtremoteobjects_git.bb | 6 +-- ...nclude-asm-sgidefs.h-on-non-glibc-systems.patch | 2 +- recipes-qt/qt5/qtscript_git.bb | 6 +-- ...Use-external-host-bin-path-for-cmake-file.patch | 2 +- recipes-qt/qt5/qtscxml_git.bb | 6 +-- recipes-qt/qt5/qtsensors_git.bb | 2 +- recipes-qt/qt5/qtserialbus_git.bb | 2 +- recipes-qt/qt5/qtserialport_git.bb | 2 +- recipes-qt/qt5/qtsvg_git.bb | 2 +- .../0001-add-noqtwebkit-configuration.patch | 2 +- ...ols-cmake-allow-overriding-the-location-f.patch | 2 +- ...-Add-option-noqdoc-to-disable-qdoc-builds.patch | 5 +- recipes-qt/qt5/qttools_git.bb | 6 +-- recipes-qt/qt5/qttranslations_git.bb | 2 +- recipes-qt/qt5/qtvirtualkeyboard_git.bb | 2 +- .../qtwayland/0001-tst_seatv4-Include-array.patch | 4 +- recipes-qt/qt5/qtwayland_git.bb | 4 +- recipes-qt/qt5/qtwebchannel_git.bb | 2 +- .../0001-Force-host-toolchain-configuration.patch | 2 +- ...use-pvalloc-as-it-s-not-available-on-musl.patch | 2 +- .../0003-musl-link-against-libexecinfo.patch | 2 +- ...0004-mkspecs-Allow-builds-with-libc-glibc.patch | 2 +- recipes-qt/qt5/qtwebengine_git.bb | 8 +-- recipes-qt/qt5/qtwebglplugin_git.bb | 2 +- recipes-qt/qt5/qtwebsockets_git.bb | 2 +- recipes-qt/qt5/qtwebview_git.bb | 2 +- recipes-qt/qt5/qtx11extras_git.bb | 2 +- recipes-qt/qt5/qtxmlpatterns_git.bb | 3 +- 79 files changed, 180 insertions(+), 182 deletions(-) delete mode 100644 recipes-qt/qt5/qtdeclarative/0001-Use-python3-explicitly.patch create mode 100644 recipes-qt/qt5/qtdeclarative/0002-Use-python3-explicitly.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 825b6f7d..5daf34aa 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.QT-LICENSE-AGREEMENT;md5=994e4301576163cfe0bc3f4f5462bf09 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=c8b6dd132d52c6e5a545df07a4e3e283 \ " QT_MODULE = "qtbase" @@ -23,7 +23,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:" # common for qtbase-native, qtbase-nativesdk and qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.14-shared -# 5.14.meta-qt5-shared.1 +# 5.14.meta-qt5-shared.2 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ @@ -47,7 +47,7 @@ SRC_URI += "\ # common for qtbase-native and nativesdk-qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.14-native -# 5.14.meta-qt5-native.1 +# 5.14.meta-qt5-native.2 SRC_URI += " \ file://0019-Always-build-uic-and-qvkgen.patch \ file://0020-Avoid-renameeat2-for-native-sdk-builds.patch \ @@ -195,4 +195,4 @@ fakeroot do_generate_qt_environment_file() { do_generate_qt_environment_file[umask] = "022" addtask generate_qt_environment_file after do_install before do_package -SRCREV = "2a887a517eaaa2c5324aecf3b919899b7a86ff4a" +SRCREV = "0ab53fbdda2fd7f24f45dcd52fbd195e282554da" diff --git a/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch b/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch index d28b150f..cc4dd659 100644 --- a/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch +++ b/recipes-qt/qt5/qt3d/0001-Allow-a-tools-only-build.patch @@ -1,4 +1,4 @@ -From e77e54151e4ebee6996c13675ca0a68c880f9960 Mon Sep 17 00:00:00 2001 +From 01c62d4e4bf1034302834fef48a894c6b0ebe147 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Fri, 17 Aug 2018 13:23:58 +0300 Subject: [PATCH] Allow a tools-only build diff --git a/recipes-qt/qt5/qt3d_git.bb b/recipes-qt/qt5/qt3d_git.bb index cbdbeae7..cd42855c 100644 --- a/recipes-qt/qt5/qt3d_git.bb +++ b/recipes-qt/qt5/qt3d_git.bb @@ -11,8 +11,8 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" DEPENDS_class-target += "qtdeclarative qt3d-native" -# Patches from https://github.com/meta-qt5/qt3d/commits/b5.13 -# 5.13.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qt3d/commits/b5.14 +# 5.14.meta-qt5.1 SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ " @@ -36,6 +36,6 @@ do_configure_prepend() { ${S}/src/quick3d/imports/input/importsinput.pro } -SRCREV = "96b1b9e3e198e751bb96eeb279106862ca38e7d7" +SRCREV = "5aedae5aa9251e1216d7bc1652cb1f451dd047c1" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc index 80bfb987..54e4aeb4 100644 --- a/recipes-qt/qt5/qt5-git.inc +++ b/recipes-qt/qt5/qt5-git.inc @@ -1,5 +1,5 @@ # Copyright (C) 2012-2016 O.S. Systems Software LTDA. -# Copyright (C) 2013-2019 Martin Jansa +# Copyright (C) 2013-2020 Martin Jansa QT_MODULE ?= "${BPN}" QT_MODULE_BRANCH ?= "5.14" @@ -14,4 +14,4 @@ CVE_PRODUCT = "qt" S = "${WORKDIR}/git" -PV = "5.14.0+git${SRCPV}" +PV = "5.14.1+git${SRCPV}" diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index 23493b05..2e265984 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.QT-LICENSE-AGREEMENT;md5=994e4301576163cfe0bc3f4f5462bf09 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=c8b6dd132d52c6e5a545df07a4e3e283 \ " require qt5-native.inc @@ -18,7 +18,7 @@ require qt5-git.inc # common for qtbase-native, qtbase-nativesdk and qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.14-shared -# 5.14.meta-qt5-shared.1 +# 5.14.meta-qt5-shared.2 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ @@ -42,7 +42,7 @@ SRC_URI += "\ # common for qtbase-native and nativesdk-qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.14-native -# 5.14.meta-qt5-native.1 +# 5.14.meta-qt5-native.2 SRC_URI += " \ file://0019-Always-build-uic-and-qvkgen.patch \ file://0020-Avoid-renameeat2-for-native-sdk-builds.patch \ @@ -143,4 +143,4 @@ do_install() { echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake } -SRCREV = "2a887a517eaaa2c5324aecf3b919899b7a86ff4a" +SRCREV = "0ab53fbdda2fd7f24f45dcd52fbd195e282554da" diff --git a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch index 3b71adad..95e236ae 100644 --- a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch +++ b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch @@ -1,4 +1,4 @@ -From 5668523aa073c1ef430b1662c735ead8fd64c83b Mon Sep 17 00:00:00 2001 +From 0d13aba5a2ab1794bfea5a3bbf2096da17f0cae1 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 15 Apr 2013 04:29:32 +0200 Subject: [PATCH] Add linux-oe-g++ platform @@ -89,10 +89,10 @@ index 3a71376029..dd6020f1fe 100644 # run qmlimportscanner qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system) diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf -index 661b7dd961..3bc73ab0c6 100644 +index 7777e615bd..8d792fa70a 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf -@@ -76,7 +76,7 @@ defineTest(qtHaveModule) { +@@ -87,7 +87,7 @@ defineTest(qtHaveModule) { defineTest(qtPrepareTool) { cmd = $$eval(QT_TOOL.$${2}.binary) isEmpty(cmd) { diff --git a/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch index 1a5adcaf..be51019d 100644 --- a/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch +++ b/recipes-qt/qt5/qtbase/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch @@ -1,4 +1,4 @@ -From b0e51c74e3f550c2d72ee4e02d1f9c3f5d2e83b5 Mon Sep 17 00:00:00 2001 +From 8409ffc14e5176595c7d591ebd07f5b49af8d245 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 6 Apr 2013 13:15:07 +0200 Subject: [PATCH] cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS diff --git a/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch index 6891d8c4..6d8f5f96 100644 --- a/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch +++ b/recipes-qt/qt5/qtbase/0003-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch @@ -1,4 +1,4 @@ -From db95ec35c5e2a1604f82803fc5c09dc82b594175 Mon Sep 17 00:00:00 2001 +From 73c6762cc7d4c3449fc152f706c8d0efa2f7e65e Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Wed, 26 Sep 2012 17:22:30 +0200 Subject: [PATCH] qlibraryinfo: allow to set qt.conf from the outside using the diff --git a/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch b/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch index 25c3a66e..a40c0563 100644 --- a/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch +++ b/recipes-qt/qt5/qtbase/0004-configure-bump-path-length-from-256-to-512-character.patch @@ -1,4 +1,4 @@ -From 3fa9db42f3b34f97929662a461c9a07982505178 Mon Sep 17 00:00:00 2001 +From fad25d26b6ec478d0b22bc4fbfec65a6665608c0 Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Tue, 25 Aug 2015 10:05:15 -0400 Subject: [PATCH] configure: bump path length from 256 to 512 characters @@ -15,10 +15,10 @@ Signed-off-by: Denys Dmytriyenko 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.pri b/configure.pri -index 47882afeb6..a50aa0e176 100644 +index 81c84b28ef..bf40b68835 100644 --- a/configure.pri +++ b/configure.pri -@@ -870,10 +870,10 @@ defineTest(qtConfOutput_preparePaths) { +@@ -872,10 +872,10 @@ defineTest(qtConfOutput_preparePaths) { $${currentConfig}.output.qconfigSource = \ "/* Installation Info */" \ diff --git a/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch b/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch index c27f7ac2..b8a0b716 100644 --- a/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch +++ b/recipes-qt/qt5/qtbase/0005-Disable-all-unknown-features-instead-of-erroring-out.patch @@ -1,4 +1,4 @@ -From 1ca3511433c55755c63dfa0fb78d712c6605b37a Mon Sep 17 00:00:00 2001 +From 24c469b3c9599aa106c44d1df48fb04db5b8c904 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Mon, 24 Oct 2016 09:45:18 +0300 Subject: [PATCH] Disable all unknown features instead of erroring out diff --git a/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch b/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch index 03931f5c..95df5efd 100644 --- a/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch +++ b/recipes-qt/qt5/qtbase/0006-Pretend-Qt5-wasn-t-found-if-OE_QMAKE_PATH_EXTERNAL_H.patch @@ -1,4 +1,4 @@ -From 37f7cae8d723341b12fe76bca12c4c76d98fb874 Mon Sep 17 00:00:00 2001 +From 8143b5913e50d26ef39fbbed5f1e28ff74a57d20 Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Wed, 11 May 2016 15:20:41 +0200 Subject: [PATCH] Pretend Qt5 wasn't found if OE_QMAKE_PATH_EXTERNAL_HOST_BINS @@ -30,7 +30,7 @@ Signed-off-by: Pascal Bach 2 files changed, 10 insertions(+) diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in -index 364c23e750..670b5c71f2 100644 +index 50364765fb..e101a2e841 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -3,6 +3,11 @@ if (CMAKE_VERSION VERSION_LESS 3.1.0) diff --git a/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch b/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch index 1a1d696f..d683d4d9 100644 --- a/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch +++ b/recipes-qt/qt5/qtbase/0007-Delete-qlonglong-and-qulonglong.patch @@ -1,4 +1,4 @@ -From 2b0adcafba19d87ef452dad156c8fda8ec8396b0 Mon Sep 17 00:00:00 2001 +From 41d43606a50fbeae73d585ed727ec13e36f785c0 Mon Sep 17 00:00:00 2001 From: Huang Qiyu Date: Wed, 7 Jun 2017 21:00:49 +0900 Subject: [PATCH] Delete qlonglong and qulonglong diff --git a/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch b/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch index fe3e0754..07110739 100644 --- a/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch +++ b/recipes-qt/qt5/qtbase/0008-Replace-pthread_yield-with-sched_yield.patch @@ -1,4 +1,4 @@ -From 98fbf9fcbe29886dbc84a7e95a9f58a588a8e8ea Mon Sep 17 00:00:00 2001 +From 4d8c0a0524ceea0590f15d87a4aa604a488bedc5 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 27 Jul 2017 08:02:51 -0700 Subject: [PATCH] Replace pthread_yield with sched_yield @@ -36,7 +36,7 @@ index 12c29a6e13..7d31799da6 100644 QMetaType info(tp); if (!info.isValid()) { diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp -index 75b9b23259..77b5bf1525 100644 +index 0546c6ba7d..f602b035d6 100644 --- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp +++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp @@ -78,6 +78,7 @@ @@ -47,7 +47,7 @@ index 75b9b23259..77b5bf1525 100644 #endif #include "private/qhostinfo_p.h" -@@ -2177,8 +2178,8 @@ public slots: +@@ -2178,8 +2179,8 @@ public slots: #if defined(Q_OS_MAC) pthread_yield_np(); diff --git a/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch b/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch index fd2716ec..b30a823f 100644 --- a/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch +++ b/recipes-qt/qt5/qtbase/0009-Add-OE-specific-specs-for-clang-compiler.patch @@ -1,4 +1,4 @@ -From 46b07eaf67735ad21b56c67a61737491c1150760 Mon Sep 17 00:00:00 2001 +From ba7dda9ef0e33103e26fee2e41f25d8c0e3bfb78 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 3 Sep 2017 09:11:44 -0700 Subject: [PATCH] Add OE specific specs for clang compiler diff --git a/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch b/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch index b9c95c5e..e58b1ebc 100644 --- a/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch +++ b/recipes-qt/qt5/qtbase/0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch @@ -1,4 +1,4 @@ -From df0f6f03af2494d7dc73035273e0a7e65780f3d7 Mon Sep 17 00:00:00 2001 +From 03e57f526db46b93b2bcbd01974446b9819e73e7 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 3 Sep 2017 09:44:48 -0700 Subject: [PATCH] linux-clang: Invert conditional for defining QT_SOCKLEN_T diff --git a/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch b/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch index bd835f1e..8a705415 100644 --- a/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch +++ b/recipes-qt/qt5/qtbase/0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch @@ -1,4 +1,4 @@ -From fab74db07a1f4f7502d37c4f4c2a04f540dbe6a5 Mon Sep 17 00:00:00 2001 +From f3befb762f2e69fa1f8a444ca9b392b4cb48ba5f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 3 Sep 2017 10:11:50 -0700 Subject: [PATCH] tst_qlocale: Enable QT_USE_FENV only on glibc @@ -11,7 +11,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp -index 20ed7500b5..90181fd078 100644 +index 8f434acb29..53dc0d9121 100644 --- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp +++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp @@ -46,7 +46,7 @@ diff --git a/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch b/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch index c5a2a67f..5186c2d6 100644 --- a/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch +++ b/recipes-qt/qt5/qtbase/0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch @@ -1,4 +1,4 @@ -From 716d70f9ac91725155f7e6c14727ab86fbdf44f4 Mon Sep 17 00:00:00 2001 +From 382e44787d366428892161881fdc3c2481cefc04 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Wed, 14 Feb 2018 17:08:43 -0800 Subject: [PATCH] mkspecs/common/gcc-base.conf: Use -I instead of -isystem diff --git a/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch b/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch index 6797e903..83f4e29c 100644 --- a/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch +++ b/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch @@ -1,4 +1,4 @@ -From 63cf72b8519dd58a5fb6eeeef67b19842806cddc Mon Sep 17 00:00:00 2001 +From 8a2c2006676b0cb1a579efabb0ab24a277024b54 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 23 Oct 2018 09:54:57 +0300 Subject: [PATCH] Disable ltcg for host_build diff --git a/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch b/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch index 91f12f64..f9993f51 100644 --- a/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch +++ b/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch @@ -1,4 +1,4 @@ -From 5630158766df351317ead6059ca7039cd125ab27 Mon Sep 17 00:00:00 2001 +From 73b4276844b4fadc42375f713b51031b5c7c15b1 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Sat, 27 Oct 2018 12:29:31 +0000 Subject: [PATCH] Qt5GuiConfigExtras.cmake.in: cope with variable path to diff --git a/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch b/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch index 2906e763..71f4658f 100644 --- a/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch +++ b/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch @@ -1,4 +1,4 @@ -From a1508aff41a526b900f958831a1196f2655c57e9 Mon Sep 17 00:00:00 2001 +From 3a147b314b96a3f2bd7ded41a9c5fe685985fa29 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 6 Dec 2018 11:47:52 -0800 Subject: [PATCH] corelib: Include sys/types.h for uint32_t @@ -14,7 +14,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+) diff --git a/src/corelib/global/qnumeric_p.h b/src/corelib/global/qnumeric_p.h -index 86e7997680..73bcd370c2 100644 +index 7418579fe0..aba29de499 100644 --- a/src/corelib/global/qnumeric_p.h +++ b/src/corelib/global/qnumeric_p.h @@ -55,6 +55,7 @@ diff --git a/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch b/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch index eff1e0b2..a893d90d 100644 --- a/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch +++ b/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch @@ -1,4 +1,4 @@ -From e983e9e5451d6961a11206360aeae599f090f971 Mon Sep 17 00:00:00 2001 +From 90f1d71d609495ba305d052017df4d3fb801401c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 6 Dec 2018 15:06:20 -0800 Subject: [PATCH] Define QMAKE_CXX.COMPILER_MACROS for clang on linux diff --git a/recipes-qt/qt5/qtbase/0017-qfloat16-check-for-__ARM_FP-2.patch b/recipes-qt/qt5/qtbase/0017-qfloat16-check-for-__ARM_FP-2.patch index ebaa7b65..27fc8a83 100644 --- a/recipes-qt/qt5/qtbase/0017-qfloat16-check-for-__ARM_FP-2.patch +++ b/recipes-qt/qt5/qtbase/0017-qfloat16-check-for-__ARM_FP-2.patch @@ -1,4 +1,4 @@ -From a0f5ac48354dd86aaa53c07e08e30098c62f5097 Mon Sep 17 00:00:00 2001 +From e9b0666990eb91c18f42f4f15e863273462f544a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 5 Oct 2019 16:21:08 -0700 Subject: [PATCH] qfloat16: check for __ARM_FP & 2 @@ -20,7 +20,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/global/qfloat16.cpp b/src/corelib/global/qfloat16.cpp -index 6c21b7de5a..98d34a96a5 100644 +index c868e879b7..0c9bb80cb2 100644 --- a/src/corelib/global/qfloat16.cpp +++ b/src/corelib/global/qfloat16.cpp @@ -205,7 +205,7 @@ f16cextern void qFloatFromFloat16_fast(float *out, const quint16 *in, qsizetype 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 index 7a5c7754..b0de9c26 100644 --- 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 @@ -1,4 +1,4 @@ -From b83804eb1f9087800295cf40916577f932673dc8 Mon Sep 17 00:00:00 2001 +From 54328b4942eb8cc884bdf41d58f2408a60ea7605 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 25 Nov 2019 08:27:39 -0800 Subject: [PATCH] input: Make use of timeval portable for 64bit time_t diff --git a/recipes-qt/qt5/qtbase/0019-Always-build-uic-and-qvkgen.patch b/recipes-qt/qt5/qtbase/0019-Always-build-uic-and-qvkgen.patch index 86dfac2c..e7a6d67a 100644 --- a/recipes-qt/qt5/qtbase/0019-Always-build-uic-and-qvkgen.patch +++ b/recipes-qt/qt5/qtbase/0019-Always-build-uic-and-qvkgen.patch @@ -1,4 +1,4 @@ -From eff8ae2d5748626dfd173fa6cb5860bb72ffeafa Mon Sep 17 00:00:00 2001 +From 71089d2dbc2becf51e419741afb5f9e2028963e7 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Sat, 16 Nov 2013 00:32:30 +0100 Subject: [PATCH] Always build uic and qvkgen diff --git a/recipes-qt/qt5/qtbase/0020-Avoid-renameeat2-for-native-sdk-builds.patch b/recipes-qt/qt5/qtbase/0020-Avoid-renameeat2-for-native-sdk-builds.patch index bde4f76c..4da126d9 100644 --- a/recipes-qt/qt5/qtbase/0020-Avoid-renameeat2-for-native-sdk-builds.patch +++ b/recipes-qt/qt5/qtbase/0020-Avoid-renameeat2-for-native-sdk-builds.patch @@ -1,4 +1,4 @@ -From 37ea0b0c40f541cf9741c064e97ec9e9327ba7a1 Mon Sep 17 00:00:00 2001 +From cbf26740eca4972824e74acbb8ca5ccb3cdde9b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 14 Apr 2019 13:27:58 +0200 Subject: [PATCH] Avoid renameeat2 for native(sdk) builds @@ -24,7 +24,7 @@ Signed-off-by: Andreas Müller 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h -index e6ad80525a..283ce1ce26 100644 +index c6f071bc3f..575c993e68 100644 --- a/src/corelib/global/qconfig-bootstrapped.h +++ b/src/corelib/global/qconfig-bootstrapped.h @@ -104,7 +104,7 @@ @@ -46,7 +46,7 @@ index e6ad80525a..283ce1ce26 100644 # define QT_FEATURE_statx -1 #endif diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp -index c3abec8989..6229c611b8 100644 +index 38cb6a423d..b6d5e16464 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -1223,16 +1223,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy diff --git a/recipes-qt/qt5/qtbase/0021-Bootstrap-without-linkat-feature.patch b/recipes-qt/qt5/qtbase/0021-Bootstrap-without-linkat-feature.patch index 70f25ca2..dae48d59 100644 --- a/recipes-qt/qt5/qtbase/0021-Bootstrap-without-linkat-feature.patch +++ b/recipes-qt/qt5/qtbase/0021-Bootstrap-without-linkat-feature.patch @@ -1,4 +1,4 @@ -From 7596905dbe3ff36a129b5793966da30579d877f4 Mon Sep 17 00:00:00 2001 +From 61a5dc7d949bc0f8ff3c4a1060c91c61187e5fb2 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Fri, 24 Nov 2017 15:16:31 +0200 Subject: [PATCH] Bootstrap without linkat feature @@ -13,7 +13,7 @@ Upstream-Status: Inappropriate [OE specific] 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h -index 283ce1ce26..dfcbb15a6b 100644 +index 575c993e68..d0c9fdfce3 100644 --- a/src/corelib/global/qconfig-bootstrapped.h +++ b/src/corelib/global/qconfig-bootstrapped.h @@ -95,7 +95,7 @@ diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index 401c00b0..cda7f5d3 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -9,12 +9,12 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ - file://LICENSE.QT-LICENSE-AGREEMENT;md5=994e4301576163cfe0bc3f4f5462bf09 \ + file://LICENSE.QT-LICENSE-AGREEMENT;md5=c8b6dd132d52c6e5a545df07a4e3e283 \ " # common for qtbase-native, qtbase-nativesdk and qtbase # Patches from https://github.com/meta-qt5/qtbase/commits/b5.14-shared -# 5.14.meta-qt5-shared.1 +# 5.14.meta-qt5-shared.2 SRC_URI += "\ file://0001-Add-linux-oe-g-platform.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ @@ -296,4 +296,4 @@ sed -i \ $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qmodule.pri } -SRCREV = "2a887a517eaaa2c5324aecf3b919899b7a86ff4a" +SRCREV = "0ab53fbdda2fd7f24f45dcd52fbd195e282554da" diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb index afc3da92..877af34e 100644 --- a/recipes-qt/qt5/qtcharts_git.bb +++ b/recipes-qt/qt5/qtcharts_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative qtmultimedia" -SRCREV = "8ea7ee70c994bcb3e1b20a9e839d26420be082cb" +SRCREV = "97e9be186913cf1a2857fd34f994fbb74a508c3b" # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Details/152641/ diff --git a/recipes-qt/qt5/qtcoap_git.bb b/recipes-qt/qt5/qtcoap_git.bb index e8e272f3..1b1f5296 100644 --- a/recipes-qt/qt5/qtcoap_git.bb +++ b/recipes-qt/qt5/qtcoap_git.bb @@ -11,4 +11,4 @@ PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative" DEPENDS += "qtbase" -SRCREV = "1d2ba407d26c6c7005e38fe9cec6d0a0ce405309" +SRCREV = "7dc2630196197363f1861e23bb8eef6f53074eff" diff --git a/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch b/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch index 4b11b405..72afac30 100644 --- a/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch +++ b/recipes-qt/qt5/qtconnectivity/0001-Add-missing-header-for-errno.patch @@ -1,4 +1,4 @@ -From 872f3db59b77c09b052733210e49c7770381d93a Mon Sep 17 00:00:00 2001 +From 000075567007d0ef76ef3c782fc4060f8ff8e647 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 29 Jan 2019 20:29:19 -0800 Subject: [PATCH] Add missing header for errno diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb index ba97d470..01cea90c 100644 --- a/recipes-qt/qt5/qtconnectivity_git.bb +++ b/recipes-qt/qt5/qtconnectivity_git.bb @@ -19,4 +19,4 @@ PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,bluez5" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "1c92d490766f2ac93bf51771f913fdfe708da188" +SRCREV = "a9b5b10ce113db1c1bb3d42d058caa7b8e1a964a" diff --git a/recipes-qt/qt5/qtdatavis3d_git.bb b/recipes-qt/qt5/qtdatavis3d_git.bb index 7bd62837..0071c368 100644 --- a/recipes-qt/qt5/qtdatavis3d_git.bb +++ b/recipes-qt/qt5/qtdatavis3d_git.bb @@ -8,4 +8,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative qtmultimedia qtxmlpatterns" -SRCREV = "882075ef10d585c0e5779443a5bde8836b25762d" +SRCREV = "6b15c2bee08a0477e718a407fdf81917a064c1ca" diff --git a/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch b/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch index 262ad95e..60922e74 100644 --- a/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch +++ b/recipes-qt/qt5/qtdeclarative/0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch @@ -1,4 +1,4 @@ -From 2ca54b2296463f626f8438825907610cb22169fc Mon Sep 17 00:00:00 2001 +From d39e76b9662ea9cf236ac59749855e7da7ad29a8 Mon Sep 17 00:00:00 2001 From: Piotr Tworek Date: Wed, 3 Jul 2019 01:13:40 +0200 Subject: [PATCH] Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to locate qmlcachegen diff --git a/recipes-qt/qt5/qtdeclarative/0001-Use-python3-explicitly.patch b/recipes-qt/qt5/qtdeclarative/0001-Use-python3-explicitly.patch deleted file mode 100644 index e1067016..00000000 --- a/recipes-qt/qt5/qtdeclarative/0001-Use-python3-explicitly.patch +++ /dev/null @@ -1,60 +0,0 @@ -From dc94032e6132b41bd6927357e4a57c31436294eb Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 26 Nov 2019 21:10:03 -0800 -Subject: [PATCH] Use python3 explicitly - -Signed-off-by: Khem Raj ---- - 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/0002-Use-python3-explicitly.patch b/recipes-qt/qt5/qtdeclarative/0002-Use-python3-explicitly.patch new file mode 100644 index 00000000..f55812b6 --- /dev/null +++ b/recipes-qt/qt5/qtdeclarative/0002-Use-python3-explicitly.patch @@ -0,0 +1,57 @@ +From 838fb4676f78d169dc88f87544cf1a4003302aea Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 26 Nov 2019 21:10:03 -0800 +Subject: [PATCH] Use python3 explicitly + +Signed-off-by: Khem Raj +--- + 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 5b94da9b69..0e3496ce80 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 1df4585aae..00038104ec 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 +@@ -111,7 +111,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 19551e3ba2..bf3f79a45f 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. diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 8a0a1ec3..450b8a55 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -12,9 +12,12 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " -SRC_URI += "file://0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch \ - file://0001-Use-python3-explicitly.patch \ - " +# Patches from https://github.com/meta-qt5/qtdeclarative/commits/b5.14 +# 5.14.meta-qt5.1 +SRC_URI += " \ + file://0001-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-locate-qmlca.patch \ + file://0002-Use-python3-explicitly.patch \ +" DEPENDS += "qtbase" @@ -28,6 +31,6 @@ do_install_append_class-nativesdk() { rm -rf ${D}${OE_QMAKE_PATH_QML} } -SRCREV = "290251541e615358dcc7a289ff2adb30f309c132" +SRCREV = "51a158929b55dffbdfb757da8bd6a2cd181906c6" BBCLASSEXTEND =+ "native nativesdk" diff --git a/recipes-qt/qt5/qtgamepad_git.bb b/recipes-qt/qt5/qtgamepad_git.bb index 101169b3..686db4c3 100644 --- a/recipes-qt/qt5/qtgamepad_git.bb +++ b/recipes-qt/qt5/qtgamepad_git.bb @@ -14,4 +14,4 @@ PACKAGECONFIG[sdl2] = "-feature-sdl2,-no-feature-sdl2,libsdl2" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "8bef70f170bf9803f77971f553ebdc9aac5a3aa6" +SRCREV = "89e9949e720dba11e6f6f05b50c3523a2eca37d7" diff --git a/recipes-qt/qt5/qtgraphicaleffects_git.bb b/recipes-qt/qt5/qtgraphicaleffects_git.bb index e51f3526..2f875695 100644 --- a/recipes-qt/qt5/qtgraphicaleffects_git.bb +++ b/recipes-qt/qt5/qtgraphicaleffects_git.bb @@ -18,4 +18,4 @@ RDEPENDS_${PN}-dev = "" # http://errors.yoctoproject.org/Errors/Build/44912/ LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "84c446d72349fc99ccad7b738b1a79c4ec36335d" +SRCREV = "4d271e84875a8dc9dd582139e7235497816f9f82" diff --git a/recipes-qt/qt5/qtknx_git.bb b/recipes-qt/qt5/qtknx_git.bb index 3185f5c2..0bca0cc1 100644 --- a/recipes-qt/qt5/qtknx_git.bb +++ b/recipes-qt/qt5/qtknx_git.bb @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "9350fc875a0722e7d05d44f0d53e6aa92122b79c" +SRCREV = "bddcb323228191945c9e3a8644cc4307158d4551" diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb index f3d49513..21076048 100644 --- a/recipes-qt/qt5/qtlocation_git.bb +++ b/recipes-qt/qt5/qtlocation_git.bb @@ -35,7 +35,7 @@ SRC_URI += " \ ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=${QT_MODULE_BRANCH_MAPBOXGL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \ " -SRCREV_qtlocation = "dec8f4c7680b47c1386b69829fc1ae7c38e4186f" +SRCREV_qtlocation = "bdd1967a3901432eaa6c152eee547e3d322b4a98" SRCREV_qtlocation-mapboxgl = "d9577fdebe019b19e184b4cac82749ae9ec87afb" SRCREV_FORMAT = "qtlocation_qtlocation-mapboxgl" diff --git a/recipes-qt/qt5/qtlottie_git.bb b/recipes-qt/qt5/qtlottie_git.bb index de16d674..bd76f0c6 100644 --- a/recipes-qt/qt5/qtlottie_git.bb +++ b/recipes-qt/qt5/qtlottie_git.bb @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "6e1be78c12be9857c6c35bdd6e89331e41708b22" +SRCREV = "42ec006a0b82ba24eaa13b45e959d85cd9bb0d02" diff --git a/recipes-qt/qt5/qtmqtt_git.bb b/recipes-qt/qt5/qtmqtt_git.bb index ddff2949..ca36d820 100644 --- a/recipes-qt/qt5/qtmqtt_git.bb +++ b/recipes-qt/qt5/qtmqtt_git.bb @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "37ead173bfabc8b930a2a0571ad03a15e86cf7bb" +SRCREV = "c27f0d93b6034748d311c233020465554bdab79c" diff --git a/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch b/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch index 2864cb81..32021118 100644 --- a/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch +++ b/recipes-qt/qt5/qtmultimedia/0001-qtmultimedia-fix-a-conflicting-declaration.patch @@ -1,4 +1,4 @@ -From c39c68f73c86378897dbc6f59b48c2ced1eaa72f Mon Sep 17 00:00:00 2001 +From ac8c96da1849106b34592bab10459c854140a574 Mon Sep 17 00:00:00 2001 From: Wenlin Kang Date: Thu, 8 Sep 2016 12:18:13 +0800 Subject: [PATCH] qtmultimedia: fix a conflicting declaration diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb index 96331422..0dccc436 100644 --- a/recipes-qt/qt5/qtmultimedia_git.bb +++ b/recipes-qt/qt5/qtmultimedia_git.bb @@ -27,8 +27,8 @@ EXTRA_QMAKEVARS_CONFIGURE += "${@bb.utils.contains_any('PACKAGECONFIG', 'gstream CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DMESA_EGL_NO_X11_HEADERS=1', d)}" -# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.13 -# 5.13.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qtmultimedia/commits/b5.14 +# 5.14.meta-qt5.1 SRC_URI += "\ file://0001-qtmultimedia-fix-a-conflicting-declaration.patch \ " @@ -37,4 +37,4 @@ SRC_URI += "\ # http://errors.yoctoproject.org/Errors/Build/44914/ LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "d9f2a814eb5d8c2c0e985f60b345fefd956e2bb0" +SRCREV = "2091eac697ff6f7be03203d3180633a417c8c58c" diff --git a/recipes-qt/qt5/qtnetworkauth_git.bb b/recipes-qt/qt5/qtnetworkauth_git.bb index f3232631..f74a7209 100644 --- a/recipes-qt/qt5/qtnetworkauth_git.bb +++ b/recipes-qt/qt5/qtnetworkauth_git.bb @@ -9,4 +9,4 @@ require qt5-git.inc DEPENDS += "qtbase" -SRCREV = "abda4bd8ba187aac78052e30b286215b1746783a" +SRCREV = "ada2b06b4523ab7c88e4a5e93f7987f1f0677d4e" diff --git a/recipes-qt/qt5/qtopcua_git.bb b/recipes-qt/qt5/qtopcua_git.bb index 277bdc9a..ab715927 100644 --- a/recipes-qt/qt5/qtopcua_git.bb +++ b/recipes-qt/qt5/qtopcua_git.bb @@ -18,4 +18,4 @@ SECURITY_STRINGFORMAT = "" DEPENDS += "qtbase" -SRCREV = "5b3ad68a3a0a6cc9670dc86c3d906ec72181253b" +SRCREV = "4a9653f36d528e30989ea4e00a15a6d06a19001f" diff --git a/recipes-qt/qt5/qtpurchasing_git.bb b/recipes-qt/qt5/qtpurchasing_git.bb index a6ecad96..cc70705d 100644 --- a/recipes-qt/qt5/qtpurchasing_git.bb +++ b/recipes-qt/qt5/qtpurchasing_git.bb @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "ecb890f14ea3b81a97aaca05b6af2508bd6f68a4" +SRCREV = "ad9f777a6e40ee95a9d220dcfadfcd4e513fbf2e" diff --git a/recipes-qt/qt5/qtquickcontrols2_git.bb b/recipes-qt/qt5/qtquickcontrols2_git.bb index f552ef2b..7d00fd7f 100644 --- a/recipes-qt/qt5/qtquickcontrols2_git.bb +++ b/recipes-qt/qt5/qtquickcontrols2_git.bb @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtdeclarative-native" -SRCREV = "0d2fc12b65028b4f04bdace3991448813130ab48" +SRCREV = "7be5d463e25218a2987d6c1735fd81bc226b29b6" diff --git a/recipes-qt/qt5/qtquickcontrols_git.bb b/recipes-qt/qt5/qtquickcontrols_git.bb index cf80a83e..6d1931a2 100644 --- a/recipes-qt/qt5/qtquickcontrols_git.bb +++ b/recipes-qt/qt5/qtquickcontrols_git.bb @@ -17,4 +17,4 @@ FILES_${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick/Dialogs/qml/icons.ttf \ " -SRCREV = "d88b285166d7963faca84ce8484984a74904f58a" +SRCREV = "c8a2a74b2839d9d6c5f8f6f9034470dafc8bcc40" diff --git a/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch b/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch index 41ac90f1..d3113cd4 100644 --- a/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch +++ b/recipes-qt/qt5/qtremoteobjects/0001-Allow-a-tools-only-build.patch @@ -1,4 +1,4 @@ -From c4b36e140b1938c19e06e20c55d0861e67763912 Mon Sep 17 00:00:00 2001 +From 5f151a2148be90ca8c4470bea7b4358659c9fff1 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Wed, 7 Jun 2017 15:17:12 +0300 Subject: [PATCH] Allow a tools-only build diff --git a/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch index 35fef269..fc052c66 100644 --- a/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch +++ b/recipes-qt/qt5/qtremoteobjects/0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch @@ -1,4 +1,4 @@ -From 11390088fdb719ee6ccb07c5ca98bb8e44cdef23 Mon Sep 17 00:00:00 2001 +From 75050b24ee94d078a3e987535aef6cbaac561c69 Mon Sep 17 00:00:00 2001 From: ibinderwolf Date: Wed, 26 Jun 2019 09:46:48 +0200 Subject: [PATCH] cmake Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS diff --git a/recipes-qt/qt5/qtremoteobjects_git.bb b/recipes-qt/qt5/qtremoteobjects_git.bb index 33b7ed3a..630c93e4 100644 --- a/recipes-qt/qt5/qtremoteobjects_git.bb +++ b/recipes-qt/qt5/qtremoteobjects_git.bb @@ -11,8 +11,8 @@ require qt5-git.inc DEPENDS += "qtbase qtdeclarative qtremoteobjects-native" -# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.13 -# 5.13.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qtremoteobjects/commits/b5.14 +# 5.14.meta-qt5.1 SRC_URI += " \ file://0001-Allow-a-tools-only-build.patch \ file://0002-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS.patch \ @@ -25,6 +25,6 @@ PACKAGECONFIG[tools-only] = "CONFIG+=tools-only" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "2f00e14a46292afbf036e196aa72dc2f1639bf50" +SRCREV = "0cb1384479a2ebcbc72a3941462fb3e67aaa884d" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch b/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch index 980e79be..2637396f 100644 --- a/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch +++ b/recipes-qt/qt5/qtscript/0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch @@ -1,4 +1,4 @@ -From c04b2d1f2b465e88d23b12cc70e27b6325f65b03 Mon Sep 17 00:00:00 2001 +From 0608bd81fd1f2075c2f98fb314af0111c8659afb Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 23 Aug 2018 02:58:14 +0000 Subject: [PATCH] Include asm/sgidefs.h on non-glibc systems diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb index d1b3dce1..f0f135ca 100644 --- a/recipes-qt/qt5/qtscript_git.bb +++ b/recipes-qt/qt5/qtscript_git.bb @@ -11,8 +11,8 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ " -# Patches from https://github.com/meta-qt5/qtscript/commits/b5.13 -# 5.13.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qtscript/commits/b5.14 +# 5.14.meta-qt5.1 SRC_URI += " \ file://0001-Include-asm-sgidefs.h-on-non-glibc-systems.patch \ " @@ -36,4 +36,4 @@ DEPENDS += "qtbase" # http://errors.yoctoproject.org/Errors/Build/44915/ LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "286286f9750a6417b00877c84cf73fc61002c139" +SRCREV = "77b77e351f0faa3376da330d14236087cc7e6b46" diff --git a/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch b/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch index 22ec7e4f..b26d7c8b 100644 --- a/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch +++ b/recipes-qt/qt5/qtscxml/0001-Use-external-host-bin-path-for-cmake-file.patch @@ -1,4 +1,4 @@ -From 5f311180f7f74fdb3be8efc45a99411f98a1140b Mon Sep 17 00:00:00 2001 +From 9e2ef02c25fedb6faad0d26ba2273297918f6399 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 10 Jan 2017 15:28:26 +0200 Subject: [PATCH] Use external host bin path for cmake file diff --git a/recipes-qt/qt5/qtscxml_git.bb b/recipes-qt/qt5/qtscxml_git.bb index e7f58c13..2f153160 100644 --- a/recipes-qt/qt5/qtscxml_git.bb +++ b/recipes-qt/qt5/qtscxml_git.bb @@ -10,10 +10,10 @@ require qt5-git.inc DEPENDS += "qtbase qtdeclarative qtxmlpatterns qtscxml-native" -SRCREV = "5e4882514dc9c5da9b8f268580078d57d50cbce9" +SRCREV = "acc2d33514d741cde8f67521b4d60e398171f6a8" -# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.13 -# 5.13.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qtscxml/commits/b5.14 +# 5.14.meta-qt5.1 SRC_URI += "file://0001-Use-external-host-bin-path-for-cmake-file.patch" do_install_append_class-nativesdk() { diff --git a/recipes-qt/qt5/qtsensors_git.bb b/recipes-qt/qt5/qtsensors_git.bb index b8173c41..51bf1052 100644 --- a/recipes-qt/qt5/qtsensors_git.bb +++ b/recipes-qt/qt5/qtsensors_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "615ae0abc1f2b9baf54f196bb5197c25a90304a3" +SRCREV = "6beffc03d6a55adc06177a2e5d53811c5ab26bc8" diff --git a/recipes-qt/qt5/qtserialbus_git.bb b/recipes-qt/qt5/qtserialbus_git.bb index 3f2b71f4..97e75234 100644 --- a/recipes-qt/qt5/qtserialbus_git.bb +++ b/recipes-qt/qt5/qtserialbus_git.bb @@ -11,4 +11,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtserialport" -SRCREV = "08f5114d3943d2b4974384a3e1419690fb3882ab" +SRCREV = "948edd56ece2f2b5fdcd9fc050efd72e27adcc13" diff --git a/recipes-qt/qt5/qtserialport_git.bb b/recipes-qt/qt5/qtserialport_git.bb index 0df2283f..24fca019 100644 --- a/recipes-qt/qt5/qtserialport_git.bb +++ b/recipes-qt/qt5/qtserialport_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "a7e3c9b9538bb87755f2765d2ab4926b2c854066" +SRCREV = "85389370bf5f6c8b560e906c8027713b1858929e" diff --git a/recipes-qt/qt5/qtsvg_git.bb b/recipes-qt/qt5/qtsvg_git.bb index 9d0696dc..f50b1124 100644 --- a/recipes-qt/qt5/qtsvg_git.bb +++ b/recipes-qt/qt5/qtsvg_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "90e901077aabaab30b585a3e5d6e6e9c93fa6352" +SRCREV = "3e2823a147b2dca492fece187facfe39f4d33bed" diff --git a/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch index 93a67bf6..d0a9d352 100644 --- a/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch +++ b/recipes-qt/qt5/qttools/0001-add-noqtwebkit-configuration.patch @@ -1,4 +1,4 @@ -From a42f74d9572f785489daf2fa3de5f36269e9bfef Mon Sep 17 00:00:00 2001 +From 0835a82c0002bfadb1e3007ae75ad1159aef0906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 4 Jun 2014 11:28:16 +0200 Subject: [PATCH] add noqtwebkit configuration diff --git a/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch b/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch index d67a1e7e..f8bde420 100644 --- a/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch +++ b/recipes-qt/qt5/qttools/0002-linguist-tools-cmake-allow-overriding-the-location-f.patch @@ -1,4 +1,4 @@ -From 17e39873d9655339fa32e3b1b29ef2254c52bc2e Mon Sep 17 00:00:00 2001 +From 2d76f5a7770076eccd55dec4a3f1f63b931a566c Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Mon, 18 Feb 2019 10:45:03 +0200 Subject: [PATCH] linguist-tools cmake: allow overriding the location for diff --git a/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch b/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch index 55c6e22a..06eec226 100644 --- a/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch +++ b/recipes-qt/qt5/qttools/0003-src.pro-Add-option-noqdoc-to-disable-qdoc-builds.patch @@ -1,4 +1,4 @@ -From 623675e07231f62cdc7600dca5897a9fc70e0467 Mon Sep 17 00:00:00 2001 +From ffbd58e5a6c709592fb97a6d033820556b76ab53 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 14 Dec 2019 18:36:49 -0800 Subject: [PATCH] src.pro: Add option noqdoc to disable qdoc builds @@ -23,6 +23,3 @@ index 5c256ea3..196c34c7 100644 !android|android_app: SUBDIRS += qtpaths --- -2.24.1 - diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb index 1c473beb..cfb9e13d 100644 --- a/recipes-qt/qt5/qttools_git.bb +++ b/recipes-qt/qt5/qttools_git.bb @@ -12,8 +12,8 @@ LIC_FILES_CHKSUM = " \ " DEPENDS += "qtbase qtdeclarative qtxmlpatterns" -# Patches from https://github.com/meta-qt5/qttools/commits/b5.13 -# 5.13.meta-qt5.1 +# Patches from https://github.com/meta-qt5/qttools/commits/b5.14 +# 5.14.meta-qt5.1 SRC_URI += " \ file://0001-add-noqtwebkit-configuration.patch \ file://0002-linguist-tools-cmake-allow-overriding-the-location-f.patch \ @@ -49,6 +49,6 @@ EXTRA_QMAKEVARS_PRE_append_class-target = "\ ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=config_clang', 'CONFIG+=config_clang_done CONFIG-=config_clang', d)} \ " -SRCREV = "1682033b1bdadefeb9b953f7d9d096d884f797e2" +SRCREV = "3300714730761ac23f5c9753071a46685eb87d0e" BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-qt/qt5/qttranslations_git.bb b/recipes-qt/qt5/qttranslations_git.bb index f5c5f1ed..5b287dfa 100644 --- a/recipes-qt/qt5/qttranslations_git.bb +++ b/recipes-qt/qt5/qttranslations_git.bb @@ -98,4 +98,4 @@ FILES_${PN}-qthelp = " \ ${OE_QMAKE_PATH_TRANSLATIONS}/qt_help_*.qm \ " -SRCREV = "fbdeaab046d623f3238fbf0da9c8bdb0009c01a9" +SRCREV = "8b7c8801f2317bef8e21e9080ce242cbb7818a98" diff --git a/recipes-qt/qt5/qtvirtualkeyboard_git.bb b/recipes-qt/qt5/qtvirtualkeyboard_git.bb index 54c4d5d0..3a76fc27 100644 --- a/recipes-qt/qt5/qtvirtualkeyboard_git.bb +++ b/recipes-qt/qt5/qtvirtualkeyboard_git.bb @@ -71,4 +71,4 @@ FILES_${PN} += "${OE_QMAKE_PATH_DATA}/qtvirtualkeyboard/lipi_toolkit" DEPENDS += "qtbase qtdeclarative qtmultimedia qtquickcontrols qtsvg qtxmlpatterns qtdeclarative-native" -SRCREV = "459ec87b0abdd476d415946ed07c8490c10b97f0" +SRCREV = "e73bd4875d5a07d5357bbcb46d581dd32b3821de" diff --git a/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch b/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch index 93f187dc..b21cb5a7 100644 --- a/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch +++ b/recipes-qt/qt5/qtwayland/0001-tst_seatv4-Include-array.patch @@ -1,4 +1,4 @@ -From 4df2574a86c2ce86c97da0795dec29438b0c0024 Mon Sep 17 00:00:00 2001 +From e1c8cf94727583c666efe3e6852fa60fba9a652b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 6 Oct 2019 21:44:38 -0700 Subject: [PATCH] tst_seatv4: Include @@ -13,7 +13,7 @@ Signed-off-by: Khem Raj 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/client/seatv4/tst_seatv4.cpp b/tests/auto/client/seatv4/tst_seatv4.cpp -index 1d6fb6b9..4c5732da 100644 +index 2e17bef8..df78ba69 100644 --- a/tests/auto/client/seatv4/tst_seatv4.cpp +++ b/tests/auto/client/seatv4/tst_seatv4.cpp @@ -36,7 +36,7 @@ diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index ce697dba..966dcd51 100644 --- a/recipes-qt/qt5/qtwayland_git.bb +++ b/recipes-qt/qt5/qtwayland_git.bb @@ -13,6 +13,8 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " +# Patches from https://github.com/meta-qt5/qtwayland/commits/b5.14 +# 5.14.meta-qt5.1 SRC_URI += "file://0001-tst_seatv4-Include-array.patch" PACKAGECONFIG ?= " \ @@ -39,7 +41,7 @@ PACKAGECONFIG[wayland-libhybris-egl-server-buffer] = "-feature-wayland-libhybris EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "4e015b3383a218b31cae4437cd30076fb031f3ad" +SRCREV = "c2f216ef211ae8fbe0073c296742f584f5493e9f" BBCLASSEXTEND =+ "native nativesdk" diff --git a/recipes-qt/qt5/qtwebchannel_git.bb b/recipes-qt/qt5/qtwebchannel_git.bb index db8a6a92..b4991876 100644 --- a/recipes-qt/qt5/qtwebchannel_git.bb +++ b/recipes-qt/qt5/qtwebchannel_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtwebsockets" -SRCREV = "e93a22de5465d76d139954c3dd059ed3041ea6b9" +SRCREV = "edaf98129a60fda1d017db805b2e5d63902598ea" diff --git a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch b/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch index 6b3f6ba6..a1298f36 100644 --- a/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch +++ b/recipes-qt/qt5/qtwebengine/0001-Force-host-toolchain-configuration.patch @@ -1,4 +1,4 @@ -From cdadaf40267c81ff730e90798cf486b35bb20758 Mon Sep 17 00:00:00 2001 +From fe603fbecb5731febc392b51bbbee1090be243d6 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Wed, 15 Mar 2017 13:53:28 +0200 Subject: [PATCH] Force host toolchain configuration diff --git a/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch b/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch index 63a800e4..ea536aff 100644 --- a/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch +++ b/recipes-qt/qt5/qtwebengine/0002-musl-don-t-use-pvalloc-as-it-s-not-available-on-musl.patch @@ -1,4 +1,4 @@ -From 312f6955af1dc6ea61bbd48bece794c1257822fa Mon Sep 17 00:00:00 2001 +From 9f996977ebbb894aa321240cb5590bdae27f14a5 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Tue, 12 Dec 2017 16:06:14 +0200 Subject: [PATCH] musl: don't use pvalloc as it's not available on musl diff --git a/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch b/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch index 5c8e1052..a2dce542 100644 --- a/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch +++ b/recipes-qt/qt5/qtwebengine/0003-musl-link-against-libexecinfo.patch @@ -1,4 +1,4 @@ -From 8c66e08c65963cd2eeabe84e89445dbe557c23ae Mon Sep 17 00:00:00 2001 +From 7ed387e99975dc25ced3496c7dd98411f11d28e2 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Thu, 14 Dec 2017 11:28:10 +0200 Subject: [PATCH] musl: link against libexecinfo 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 index 5c3eafb5..8f25c687 100644 --- 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 @@ -1,4 +1,4 @@ -From 71d55292cdd72dcf1ed5eb4ba7299433a35a4bb0 Mon Sep 17 00:00:00 2001 +From cde19c7f959ff4ea0d2aa202b9c7a048d3c7200e Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 12 Nov 2019 19:53:59 -0800 Subject: [PATCH] mkspecs: Allow builds with libc != glibc diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index c00120b3..ddd5b9f8 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -145,7 +145,7 @@ RDEPENDS_${PN}-examples += " \ QT_MODULE_BRANCH_CHROMIUM = "77-based" # Patches from https://github.com/meta-qt5/qtwebengine/commits/b5.14 -# 5.14.meta-qt5.1 +# 5.14.meta-qt5.2 SRC_URI += " \ ${QT_GIT}/qtwebengine-chromium.git;name=chromium;branch=${QT_MODULE_BRANCH_CHROMIUM};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty \ file://0001-Force-host-toolchain-configuration.patch \ @@ -157,7 +157,7 @@ SRC_URI_append_libc-musl = "\ " # Patches from https://github.com/meta-qt5/qtwebengine-chromium/commits/77-based -# 77-based.meta-qt5.1 +# 77-based.meta-qt5.2 SRC_URI += " \ file://chromium/0001-chromium-workaround-for-too-long-.rps-file-name.patch;patchdir=src/3rdparty \ file://chromium/0002-chromium-stack-pointer-clobber.patch;patchdir=src/3rdparty \ @@ -188,8 +188,8 @@ SRC_URI_append_libc-musl = "\ file://chromium/0023-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ " -SRCREV_qtwebengine = "d366f1d5d37ce6f1833ac67c7ebda540b16690f2" -SRCREV_chromium = "939daf833fff3a9901afb6fd65d02e0f057a494a" +SRCREV_qtwebengine = "73d457481caff493066d9cce50087b56ee506f6a" +SRCREV_chromium = "a9a20127e8adeb3f3cd7921b0bec32083103cc5c" SRCREV = "${SRCREV_qtwebengine}" SRCREV_FORMAT = "qtwebengine_chromium" diff --git a/recipes-qt/qt5/qtwebglplugin_git.bb b/recipes-qt/qt5/qtwebglplugin_git.bb index 629cc715..ec10e83e 100644 --- a/recipes-qt/qt5/qtwebglplugin_git.bb +++ b/recipes-qt/qt5/qtwebglplugin_git.bb @@ -18,4 +18,4 @@ do_configure_prepend() { EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtdeclarative', 'CONFIG+=OE_QTDECLARATIVE_ENABLED', '', d)}" -SRCREV = "2f47e9505bfc3e8a8adc16e6cc3e381e98cf3c9a" +SRCREV = "11324948c1a68233d08726c13571d394b85f4d13" diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb index 2f7ed0bb..21d33e09 100644 --- a/recipes-qt/qt5/qtwebsockets_git.bb +++ b/recipes-qt/qt5/qtwebsockets_git.bb @@ -11,4 +11,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "9ef6658541c2e816b8119df98c1b66add5b7bcdd" +SRCREV = "ba3acb9d9c7b5234071143d7980576e7eceb6102" diff --git a/recipes-qt/qt5/qtwebview_git.bb b/recipes-qt/qt5/qtwebview_git.bb index 71814681..5d102629 100644 --- a/recipes-qt/qt5/qtwebview_git.bb +++ b/recipes-qt/qt5/qtwebview_git.bb @@ -19,4 +19,4 @@ COMPATIBLE_MACHINE_armv7a = "(.*)" COMPATIBLE_MACHINE_armv7ve = "(.*)" COMPATIBLE_MACHINE_aarch64 = "(.*)" -SRCREV = "a02484660ded03bc4a4ea98b1f4c5fb21afdaa4a" +SRCREV = "94c697c37945dedb37a55c1a9669d868f8c97f41" diff --git a/recipes-qt/qt5/qtx11extras_git.bb b/recipes-qt/qt5/qtx11extras_git.bb index 07a1c059..05e32f86 100644 --- a/recipes-qt/qt5/qtx11extras_git.bb +++ b/recipes-qt/qt5/qtx11extras_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "111908d734b49b31b334cd5af45064aa888ec69a" +SRCREV = "ea1ce1167fca96a1663ced0d7d6c2da9c20240b9" diff --git a/recipes-qt/qt5/qtxmlpatterns_git.bb b/recipes-qt/qt5/qtxmlpatterns_git.bb index 6634011e..07967453 100644 --- a/recipes-qt/qt5/qtxmlpatterns_git.bb +++ b/recipes-qt/qt5/qtxmlpatterns_git.bb @@ -25,7 +25,6 @@ do_configure_prepend() { EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'qtdeclarative', 'CONFIG+=OE_QTDECLARATIVE_ENABLED', '', d)}" -SRCREV = "f96db4b6dbcdf9734b8f09dad479daaa923a4065" +SRCREV = "0fa22b3674db3d48bbd0b091b7710158ae152daa" BBCLASSEXTEND =+ "native nativesdk" - -- cgit v1.2.3 From 239147405e04945e086ce972ff50375bc8259071 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 27 Jan 2020 19:44:33 +0100 Subject: Revert "qtwebkit: remove" This reverts commit a35403dcf6b75ee7355108cab3e466009003b1a7. But keep the dependency from packagegroup-qt5-toolchain-target, qt5-creator removed as most people won't really need this. Andreas and meta-qt5-extra still need qtwebkit as reported here: https://github.com/meta-qt5/meta-qt5/pull/273#issuecomment-578536852 Signed-off-by: Martin Jansa --- .../0001-Do-not-skip-build-for-cross-compile.patch | 28 +++++++ ...002-Fix-build-with-non-glibc-libc-on-musl.patch | 69 +++++++++++++++++ .../0003-Fix-build-bug-for-armv32-BE.patch | 25 ++++++ ...cmake-Do-not-generate-hardcoded-include-p.patch | 37 +++++++++ recipes-qt/qt5/qtwebkit_git.bb | 89 ++++++++++++++++++++++ 5 files changed, 248 insertions(+) create mode 100644 recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch create mode 100644 recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch create mode 100644 recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch create mode 100644 recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch create mode 100644 recipes-qt/qt5/qtwebkit_git.bb (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch new file mode 100644 index 00000000..a237d03d --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch @@ -0,0 +1,28 @@ +From 34018c2a61045c58f88e09a12ecd62533aa2c2f1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 4 Jun 2018 10:35:46 +0200 +Subject: [PATCH] Do not skip build for cross-compile +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller +--- + Tools/qmake/mkspecs/features/functions.prf | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf +index e3f42cec4..797b7085f 100644 +--- a/Tools/qmake/mkspecs/features/functions.prf ++++ b/Tools/qmake/mkspecs/features/functions.prf +@@ -53,8 +53,6 @@ defineReplace(appleSdkVersion) { + defineTest(isPlatformSupported) { + !qtHaveModule(widgets): skipBuild("QtWidgets module is required to build QtWebKit.") + +- cross_compile: skipBuild("cross-compilation of QtWebKit with qmake is not supported yet") +- + requiredPrograms = cmake gperf python perl bison ruby flex + for(program, requiredPrograms): \ + !programExistsInPath($$program): \ diff --git a/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch b/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch new file mode 100644 index 00000000..bf79b363 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch @@ -0,0 +1,69 @@ +From c4ceb318aa1064bfa677cdd800c52155eb1bed3a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 23 Aug 2018 04:06:17 +0000 +Subject: [PATCH] Fix build with non-glibc libc on musl + +Need to ensure glibc features are not assumed to be linux-wide + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + Source/JavaScriptCore/heap/MachineStackMarker.cpp | 8 ++++---- + .../inspector/JSGlobalObjectInspectorController.cpp | 2 ++ + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp +index 883914fd3..ce4e8d331 100644 +--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp ++++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp +@@ -566,7 +566,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) && ENABLE(JIT) ++#elif defined(__linux__) && ENABLE(JIT) + + #if CPU(X86) + return reinterpret_cast((uintptr_t) regs.machineContext.gregs[REG_ESP]); +@@ -665,7 +665,7 @@ void* MachineThreads::Thread::Registers::framePointer() const + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -747,7 +747,7 @@ void* MachineThreads::Thread::Registers::instructionPointer() const + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -838,7 +838,7 @@ void* MachineThreads::Thread::Registers::llintPC() const + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +diff --git a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp +index fd7f869d4..e95391b32 100644 +--- a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp ++++ b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp +@@ -51,8 +51,10 @@ + #include + #if OS(DARWIN) || (OS(LINUX) && !PLATFORM(GTK)) + #include ++#if defined(__GLIBC__) + #include + #endif ++#endif + + #if ENABLE(REMOTE_INSPECTOR) + #include "JSGlobalObjectDebuggable.h" diff --git a/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch new file mode 100644 index 00000000..ffd8da0f --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch @@ -0,0 +1,25 @@ +From f6576377f8bf2c854d8079b7f309f570b3d2bde4 Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Fri, 31 Aug 2018 15:42:48 +0900 +Subject: [PATCH] Fix build bug for armv32 BE. + +Upstream-Status: Pending + +Signed-off-by: Lei Maohui +--- + Source/WTF/wtf/dtoa/utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h +index 889642cee..05302e6e6 100644 +--- a/Source/WTF/wtf/dtoa/utils.h ++++ b/Source/WTF/wtf/dtoa/utils.h +@@ -49,7 +49,7 @@ + defined(__ARMEL__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) ++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) + #if defined(_WIN32) diff --git a/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch new file mode 100644 index 00000000..14cb8aa4 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch @@ -0,0 +1,37 @@ +From 83aa5b3265d7c9f64e754cb890988cf8a5669ce7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 24 Sep 2018 02:11:10 -0700 +Subject: [PATCH] PlatformQt.cmake: Do not generate hardcoded include paths + +If we do not use this define,then it falls into else case which +generated .pri files with /usr/include and so on for includes and +compiler does not like specifying absolute include paths pointing to +build host includes + +Signed-off-by: Khem Raj +--- + Source/WebKit/PlatformQt.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake +index 9aed9906e..48638aef4 100644 +--- a/Source/WebKit/PlatformQt.cmake ++++ b/Source/WebKit/PlatformQt.cmake +@@ -512,7 +512,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) + install(FILES ${WebKit_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) + endif () + +-if (KDE_INSTALL_USE_QT_SYS_PATHS) ++if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE) + set(WebKit_PRI_ARGUMENTS + BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" + LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" +@@ -737,7 +737,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) + install(FILES ${WebKitWidgets_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) + endif () + +-if (KDE_INSTALL_USE_QT_SYS_PATHS) ++if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE) + set(WebKitWidgets_PRI_ARGUMENTS + BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" + LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb new file mode 100644 index 00000000..942e733a --- /dev/null +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -0,0 +1,89 @@ +require qt5.inc +require qt5-git.inc + +LICENSE = "BSD & LGPLv2+ | GPL-2.0" +LIC_FILES_CHKSUM = " \ + file://LICENSE.LGPLv21;md5=58a180e1cf84c756c29f782b3a485c29 \ + 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 flex-native" + +# Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.13 +# 5.13.meta-qt5.1 +SRC_URI += "\ + file://0001-Do-not-skip-build-for-cross-compile.patch \ + file://0002-Fix-build-with-non-glibc-libc-on-musl.patch \ + file://0003-Fix-build-bug-for-armv32-BE.patch \ + file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ +" + +inherit cmake_qt5 perlnative + +inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)} + +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} + +# qemuarm build fails with: +# | {standard input}: Assembler messages: +# | {standard input}:106: Error: invalid immediate: 983040 is out of range +# | {standard input}:106: Error: value of 983040 too large for field of 2 bytes at 146 +ARM_INSTRUCTION_SET_armv4 = "arm" +ARM_INSTRUCTION_SET_armv5 = "arm" + +# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474 +# https://bugs.webkit.org/show_bug.cgi?id=159880 +# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime. +# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb). +ARM_INSTRUCTION_SET_armv7a = "thumb" +ARM_INSTRUCTION_SET_armv7r = "thumb" +ARM_INSTRUCTION_SET_armv7ve = "thumb" + +# http://errors.yoctoproject.org/Errors/Details/179245/ +# just use -fpermissive in this case like fedora did: +# https://bugzilla.redhat.com/show_bug.cgi?id=1582954 +CXXFLAGS += "-fpermissive" + +EXTRA_OECMAKE += " \ + -DPORT=Qt \ + -DCROSS_COMPILE=ON \ + -DECM_MKSPECS_INSTALL_DIR=${libdir}${QT_DIR_NAME}/mkspecs/modules \ + -DQML_INSTALL_DIR=${OE_QMAKE_PATH_QML} \ +" + +EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'" + +# JIT not supported on MIPS/PPC +EXTRA_OECMAKE_append_mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " +EXTRA_OECMAKE_append_powerpc = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON " +# Disable gold on mips64/clang +# mips64-yoe-linux-musl-ld.gold: internal error in get_got_page_offset, at ../../gold/mips.cc:6260 +# mips-yoe-linux-musl-ld.gold: error: Can't find matching LO16 reloc +EXTRA_OECMAKE_append_toolchain-clang_mipsarch = " -DUSE_LD_GOLD=OFF " + +PACKAGECONFIG ??= "qtlocation qtmultimedia qtsensors qtwebchannel \ + ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ + fontconfig \ +" + +# gstreamer conflicts with qtmultimedia! +PACKAGECONFIG[gstreamer] = "-DUSE_GSTREAMER=ON,-DUSE_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[qtlocation] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,qtlocation" +PACKAGECONFIG[qtmultimedia] = "-DUSE_QT_MULTIMEDIA=ON,-DUSE_QT_MULTIMEDIA=OFF,qtmultimedia" +PACKAGECONFIG[qtsensors] = "-DENABLE_DEVICE_ORIENTATION=ON,-DENABLE_DEVICE_ORIENTATION=OFF,qtsensors" +PACKAGECONFIG[qtwebchannel] = "-DENABLE_QT_WEBCHANNEL=ON,-DENABLE_QT_WEBCHANNEL=OFF,qtwebchannel" +PACKAGECONFIG[libwebp] = ",,libwebp" +PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,libxcomposite libxrender" +PACKAGECONFIG[fontconfig] = "-DENABLE_TEST_SUPPORT=ON,-DENABLE_TEST_SUPPORT=OFF,fontconfig" +# hyphen is only in meta-office currently! +PACKAGECONFIG[hyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,hyphen" + +# remove default ${PN}-examples* set in qt5.inc, because they conflicts with ${PN} from separate webkit-examples recipe +PACKAGES_remove = "${PN}-examples" + +QT_MODULE_BRANCH = "dev" + +SRCREV = "ab1bd15209abaf7effc51dbc2f272c5681af7223" -- cgit v1.2.3 From 0bbd0ebe270388f26fa36b766328221e252a3863 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 1 Feb 2020 12:21:51 -0800 Subject: qtwebengine: Link libatomic on x86/32bit Fixes CAS link errors Signed-off-by: Khem Raj --- ...12-chromium-Link-v8-with-libatomic-on-x86.patch | 32 ++++++++++++++++++++++ recipes-qt/qt5/qtwebengine_git.bb | 1 + 2 files changed, 33 insertions(+) create mode 100644 recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch new file mode 100644 index 00000000..3bf0c5eb --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch @@ -0,0 +1,32 @@ +From 5b4b896c1c6c79cc7c870a398acf1baf4b6bec7b Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 1 Feb 2020 12:17:23 -0800 +Subject: [PATCH] chromium: Link v8 with libatomic on x86 + +Fixes +| v8_base_without_compiler_jumbo_47.cc:(.text._ZN2v88internal4wasm12_GLOBAL__N_123ExecuteCompilationUnitsERKSt10shared_ptrINS2_22BackgroundCompileTokenEEPNS0_8CountersEiNS2_19CompileBaselineOnlyE+0x29a): undefined reference to `__atomic_l +oad' + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + chromium/v8/BUILD.gn | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/chromium/v8/BUILD.gn b/chromium/v8/BUILD.gn +index e21400265dd..7e56609b9da 100644 +--- a/chromium/v8/BUILD.gn ++++ b/chromium/v8/BUILD.gn +@@ -3310,7 +3310,8 @@ v8_source_set("v8_base_without_compiler") { + if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel" || + v8_current_cpu == "mips64" || v8_current_cpu == "mips64el" || + v8_current_cpu == "ppc" || v8_current_cpu == "ppc64" || +- v8_current_cpu == "s390" || v8_current_cpu == "s390x") { ++ v8_current_cpu == "s390" || v8_current_cpu == "s390x" || ++ v8_current_cpu == "x86") { + libs = [ "atomic" ] + } + +-- +2.25.0 + diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index ddd5b9f8..ea6d0935 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -170,6 +170,7 @@ SRC_URI += " \ file://chromium/0009-chromium-Include-cstddef-for-size_t-definition.patch;patchdir=src/3rdparty \ file://chromium/0010-chromium-Move-CharAllocator-definition-to-a-header-f.patch;patchdir=src/3rdparty \ file://chromium/0011-chromium-Include-cstddef-and-cstdint.patch;patchdir=src/3rdparty \ + file://chromium/0012-chromium-Link-v8-with-libatomic-on-x86.patch;patchdir=src/3rdparty \ " SRC_URI_append_libc-musl = "\ -- cgit v1.2.3 From c8cd55b03097c96f46a6e5e364cf0ca0ee590875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 5 Feb 2020 21:37:46 +0100 Subject: qtwebkit: build with python3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Andreas Müller --- .../0001-Do-not-skip-build-for-cross-compile.patch | 28 - .../qt5/qtwebkit/0001-Port-build-to-python3.patch | 3845 ++++++++++++++++++++ .../0002-Do-not-skip-build-for-cross-compile.patch | 28 + ...002-Fix-build-with-non-glibc-libc-on-musl.patch | 69 - .../0003-Fix-build-bug-for-armv32-BE.patch | 25 - ...003-Fix-build-with-non-glibc-libc-on-musl.patch | 69 + .../0004-Fix-build-bug-for-armv32-BE.patch | 25 + ...cmake-Do-not-generate-hardcoded-include-p.patch | 37 - ...cmake-Do-not-generate-hardcoded-include-p.patch | 37 + recipes-qt/qt5/qtwebkit_git.bb | 17 +- 10 files changed, 4011 insertions(+), 169 deletions(-) delete mode 100644 recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch create mode 100644 recipes-qt/qt5/qtwebkit/0001-Port-build-to-python3.patch create mode 100644 recipes-qt/qt5/qtwebkit/0002-Do-not-skip-build-for-cross-compile.patch delete mode 100644 recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch delete mode 100644 recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch create mode 100644 recipes-qt/qt5/qtwebkit/0003-Fix-build-with-non-glibc-libc-on-musl.patch create mode 100644 recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch delete mode 100644 recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch create mode 100644 recipes-qt/qt5/qtwebkit/0005-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch b/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch deleted file mode 100644 index a237d03d..00000000 --- a/recipes-qt/qt5/qtwebkit/0001-Do-not-skip-build-for-cross-compile.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 34018c2a61045c58f88e09a12ecd62533aa2c2f1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Mon, 4 Jun 2018 10:35:46 +0200 -Subject: [PATCH] Do not skip build for cross-compile -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Andreas Müller ---- - Tools/qmake/mkspecs/features/functions.prf | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf -index e3f42cec4..797b7085f 100644 ---- a/Tools/qmake/mkspecs/features/functions.prf -+++ b/Tools/qmake/mkspecs/features/functions.prf -@@ -53,8 +53,6 @@ defineReplace(appleSdkVersion) { - defineTest(isPlatformSupported) { - !qtHaveModule(widgets): skipBuild("QtWidgets module is required to build QtWebKit.") - -- cross_compile: skipBuild("cross-compilation of QtWebKit with qmake is not supported yet") -- - requiredPrograms = cmake gperf python perl bison ruby flex - for(program, requiredPrograms): \ - !programExistsInPath($$program): \ diff --git a/recipes-qt/qt5/qtwebkit/0001-Port-build-to-python3.patch b/recipes-qt/qt5/qtwebkit/0001-Port-build-to-python3.patch new file mode 100644 index 00000000..5c925cd5 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0001-Port-build-to-python3.patch @@ -0,0 +1,3845 @@ +From a8bbd89d7a1d3e8ca381c025bc8dd1275c59356a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Tue, 4 Feb 2020 22:41:00 +0100 +Subject: [PATCH] Port build to python3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Procdure: + +* send all py-files through 2to3 +* find inspiration at / steel from (jsmin.py) webkitgtk +* manual fixes e.g rename builtins to mybuiltins - 'import builtins' does + not load what's defined here + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + Source/JavaScriptCore/CMakeLists.txt | 18 +-- + Source/JavaScriptCore/DerivedSources.make | 18 +-- + .../JavaScriptCore/KeywordLookupGenerator.py | 28 ++-- + .../Scripts/builtins/builtins.py | 11 -- + .../generate-combined-inspector-json.py | 4 +- + .../Scripts/generate-js-builtins.py | 12 +- + ...line-and-minify-stylesheets-and-scripts.py | 2 +- + Source/JavaScriptCore/Scripts/jsmin.py | 23 +-- + .../Scripts/make-js-file-arrays.py | 59 +++++--- + .../{builtins => mybuiltins}/__init__.py | 2 +- + .../Scripts/mybuiltins/mybuiltins.py | 11 ++ + .../mybuiltins_generate_combined_header.py} | 4 +- + ...ltins_generate_combined_implementation.py} | 6 +- + .../mybuiltins_generate_separate_header.py} | 6 +- + ...ltins_generate_separate_implementation.py} | 6 +- + .../mybuiltins_generator.py} | 4 +- + .../mybuiltins_model.py} | 7 +- + .../mybuiltins_templates.py} | 0 + .../disassembler/udis86/ud_itab.py | 10 +- + .../disassembler/udis86/ud_opcode.py | 12 +- + Source/JavaScriptCore/generate-bytecode-files | 16 +-- + .../inspector/scripts/codegen/__init__.py | 42 +++--- + .../scripts/codegen/cpp_generator.py | 20 +-- + ...cpp_alternate_backend_dispatcher_header.py | 8 +- + .../generate_cpp_backend_dispatcher_header.py | 16 +-- + ...e_cpp_backend_dispatcher_implementation.py | 12 +- + ...generate_cpp_frontend_dispatcher_header.py | 12 +- + ..._cpp_frontend_dispatcher_implementation.py | 12 +- + .../generate_cpp_protocol_types_header.py | 38 ++--- + ...erate_cpp_protocol_types_implementation.py | 20 +-- + .../codegen/generate_js_backend_commands.py | 14 +- + ...generate_objc_backend_dispatcher_header.py | 14 +- + ..._objc_backend_dispatcher_implementation.py | 18 +-- + .../generate_objc_configuration_header.py | 6 +- + ...erate_objc_configuration_implementation.py | 6 +- + .../generate_objc_conversion_helpers.py | 12 +- + ...objc_frontend_dispatcher_implementation.py | 16 +-- + .../scripts/codegen/generate_objc_header.py | 28 ++-- + .../codegen/generate_objc_internal_header.py | 10 +- + ...rate_objc_protocol_types_implementation.py | 16 +-- + .../inspector/scripts/codegen/generator.py | 12 +- + .../inspector/scripts/codegen/models.py | 2 +- + .../scripts/codegen/objc_generator.py | 74 +++++----- + .../generate-inspector-protocol-bindings.py | 2 +- + .../scripts/CodeGeneratorReplayInputs.py | 26 ++-- + .../ANGLE/generate_winrt_projects.py | 4 +- + .../ANGLE/src/libANGLE/Float16ToFloat32.py | 26 ++-- + .../renderer/generate_new_renderer.py | 2 +- + .../gtest/scripts/fuse_gtest_files.py | 12 +- + .../gtest/scripts/gen_gtest_pred_impl.py | 12 +- + Source/ThirdParty/gtest/scripts/pump.py | 30 ++-- + Source/ThirdParty/gtest/scripts/upload.py | 134 +++++++++--------- + .../test/gtest_break_on_failure_unittest.py | 2 +- + .../ThirdParty/gtest/test/gtest_color_test.py | 66 ++++----- + .../gtest/test/gtest_env_var_test.py | 4 +- + .../gtest/test/gtest_filter_unittest.py | 14 +- + .../ThirdParty/gtest/test/gtest_help_test.py | 16 +-- + .../gtest/test/gtest_list_tests_unittest.py | 4 +- + .../gtest/test/gtest_shuffle_test.py | 40 +++--- + .../ThirdParty/gtest/test/gtest_test_utils.py | 2 +- + .../gtest/test/gtest_throw_on_failure_test.py | 4 +- + .../gtest/test/gtest_uninitialized_test.py | 4 +- + .../gtest/test/gtest_xml_outfiles_test.py | 6 +- + .../gtest/test/gtest_xml_output_unittest.py | 22 +-- + .../gtest/test/gtest_xml_test_utils.py | 26 ++-- + .../ThirdParty/gtest/test/run_tests_util.py | 26 ++-- + .../gtest/test/run_tests_util_test.py | 16 +-- + .../gtest/xcode/Scripts/versiongenerate.py | 2 +- + Source/WebCore/AVFoundationSupport.py | 14 +- + Source/WebCore/CMakeLists.txt | 16 +-- + Source/WebCore/DerivedSources.make | 16 +-- + .../network/create-http-header-name-table | 2 +- + Source/WebInspectorUI/Scripts/jsmin.py | 23 +-- + .../Scripts/generate-message-receiver.py | 2 +- + .../Scripts/generate-messages-header.py | 2 +- + .../Scripts/webkit/messages_unittest.py | 46 +++--- + Source/cmake/WebKitCommon.cmake | 3 - + Tools/jhbuild/jhbuildutils.py | 10 +- + 78 files changed, 665 insertions(+), 638 deletions(-) + delete mode 100644 Source/JavaScriptCore/Scripts/builtins/builtins.py + rename Source/JavaScriptCore/Scripts/{builtins => mybuiltins}/__init__.py (72%) + create mode 100644 Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins.py + rename Source/JavaScriptCore/Scripts/{builtins/builtins_generate_combined_header.py => mybuiltins/mybuiltins_generate_combined_header.py} (98%) + rename Source/JavaScriptCore/Scripts/{builtins/builtins_generate_combined_implementation.py => mybuiltins/mybuiltins_generate_combined_implementation.py} (95%) + rename Source/JavaScriptCore/Scripts/{builtins/builtins_generate_separate_header.py => mybuiltins/mybuiltins_generate_separate_header.py} (97%) + rename Source/JavaScriptCore/Scripts/{builtins/builtins_generate_separate_implementation.py => mybuiltins/mybuiltins_generate_separate_implementation.py} (95%) + rename Source/JavaScriptCore/Scripts/{builtins/builtins_generator.py => mybuiltins/mybuiltins_generator.py} (97%) + rename Source/JavaScriptCore/Scripts/{builtins/builtins_model.py => mybuiltins/mybuiltins_model.py} (97%) + rename Source/JavaScriptCore/Scripts/{builtins/builtins_templates.py => mybuiltins/mybuiltins_templates.py} (100%) + +diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt +index 937b3ed00..a4b5fd432 100644 +--- a/Source/JavaScriptCore/CMakeLists.txt ++++ b/Source/JavaScriptCore/CMakeLists.txt +@@ -883,7 +883,7 @@ set(JavaScriptCore_SCRIPTS_SOURCES_DIR "${JAVASCRIPTCORE_DIR}/Scripts") + set(JavaScriptCore_SCRIPTS_SOURCES_PATHS + ${JavaScriptCore_SCRIPTS_SOURCES_DIR}/*.pl + ${JavaScriptCore_SCRIPTS_SOURCES_DIR}/*.py +- ${JavaScriptCore_SCRIPTS_SOURCES_DIR}/builtins/builtins*.py ++ ${JavaScriptCore_SCRIPTS_SOURCES_DIR}/mybuiltins/mybuiltins*.py + ) + + # Force JavaScriptCore to run scripts from the same staging path as WebCore. +@@ -1174,14 +1174,14 @@ add_custom_command( + # JSCBuiltins + + set(BUILTINS_GENERATOR_SCRIPTS +- ${JavaScriptCore_SCRIPTS_DIR}/builtins.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generator.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_model.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_templates.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_header.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_implementation.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_header.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_implementation.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generator.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_model.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_templates.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generate_combined_header.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generate_combined_implementation.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generate_separate_header.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generate_separate_implementation.py + ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py + ${JavaScriptCore_SCRIPTS_DIR}/lazywriter.py + ) +diff --git a/Source/JavaScriptCore/DerivedSources.make b/Source/JavaScriptCore/DerivedSources.make +index d5a3fc159..7ef28eff3 100644 +--- a/Source/JavaScriptCore/DerivedSources.make ++++ b/Source/JavaScriptCore/DerivedSources.make +@@ -66,15 +66,15 @@ all : \ + # JavaScript builtins. + + BUILTINS_GENERATOR_SCRIPTS = \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/__init__.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/builtins.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/builtins_generator.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/builtins_model.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/builtins_templates.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/builtins_generate_combined_header.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/builtins_generate_combined_implementation.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/builtins_generate_separate_header.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins/builtins_generate_separate_implementation.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/__init__.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/mybuiltins.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/mybuiltins_generator.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/mybuiltins_model.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/mybuiltins_templates.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/mybuiltins_generate_combined_header.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/mybuiltins_generate_combined_implementation.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/mybuiltins_generate_separate_header.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins/mybuiltins_generate_separate_implementation.py \ + $(JavaScriptCore_SCRIPTS_DIR)/generate-js-builtins.py \ + $(JavaScriptCore_SCRIPTS_DIR)/lazywriter.py \ + # +diff --git a/Source/JavaScriptCore/KeywordLookupGenerator.py b/Source/JavaScriptCore/KeywordLookupGenerator.py +index d13daba61..938d5d6e7 100644 +--- a/Source/JavaScriptCore/KeywordLookupGenerator.py ++++ b/Source/JavaScriptCore/KeywordLookupGenerator.py +@@ -110,7 +110,7 @@ class Trie: + + def coalesce(self): + keys = {} +- for k, v in self.keys.items(): ++ for k, v in list(self.keys.items()): + t = v.coalesce() + keys[t.prefix] = t + self.keys = keys +@@ -119,7 +119,7 @@ class Trie: + if len(self.keys) != 1: + return self + # Python 3: for() loop for compatibility. Use next() when Python 2.6 is the baseline. +- for (prefix, suffix) in self.keys.items(): ++ for (prefix, suffix) in list(self.keys.items()): + res = Trie(self.prefix + prefix) + res.value = suffix.value + res.keys = suffix.keys +@@ -131,22 +131,22 @@ class Trie: + if self.fullPrefix in keyWordWeights: + weight = weight + keyWordWeights[self.fullPrefix] + self.selfWeight = weight +- for trie in self.keys.values(): ++ for trie in list(self.keys.values()): + trie.fillOut(self.fullPrefix) + weight = weight + trie.weight +- self.keys = [(trie.prefix, trie) for trie in sorted(self.keys.values(), key=operator.attrgetter('weight'), reverse=True)] ++ self.keys = [(trie.prefix, trie) for trie in sorted(list(self.keys.values()), key=operator.attrgetter('weight'), reverse=True)] + self.weight = weight + + def printSubTreeAsC(self, typeName, indent): + str = makePadding(indent) + + if self.value != None: +- print(str + "if (!isIdentPartIncludingEscape(code+%d, m_codeEnd)) {" % (len(self.fullPrefix))) +- print(str + " internalShift<%d>();" % len(self.fullPrefix)) +- print(str + " if (shouldCreateIdentifier)") +- print(str + (" data->ident = &m_vm->propertyNames->%sKeyword;" % self.fullPrefix)) +- print(str + " return " + self.value + ";") +- print(str + "}") ++ print((str + "if (!isIdentPartIncludingEscape(code+%d, m_codeEnd)) {" % (len(self.fullPrefix)))) ++ print((str + " internalShift<%d>();" % len(self.fullPrefix))) ++ print((str + " if (shouldCreateIdentifier)")) ++ print((str + (" data->ident = &m_vm->propertyNames->%sKeyword;" % self.fullPrefix))) ++ print((str + " return " + self.value + ";")) ++ print((str + "}")) + rootIndex = len(self.fullPrefix) + itemCount = 0 + for k, trie in self.keys: +@@ -163,15 +163,15 @@ class Trie: + base = "code + %d" % baseIndex + comparison = ("COMPARE_%d%sS(%s, " % (len(test), typeName, base)) + ", ".join(test) + ")" + if itemCount == 0: +- print(str + "if (" + comparison + ") {") ++ print((str + "if (" + comparison + ") {")) + else: +- print(str + "} else if (" + comparison + ") {") ++ print((str + "} else if (" + comparison + ") {")) + + trie.printSubTreeAsC(typeName, indent + 4) + itemCount = itemCount + 1 + + if itemCount == len(self.keys): +- print(str + "}") ++ print((str + "}")) + + def maxLength(self): + max = len(self.fullPrefix) +@@ -187,7 +187,7 @@ class Trie: + print("static ALWAYS_INLINE bool isIdentPartIncludingEscape(const LChar* code, const LChar* codeEnd);") + print("static ALWAYS_INLINE bool isIdentPartIncludingEscape(const UChar* code, const UChar* codeEnd);") + # max length + 1 so we don't need to do any bounds checking at all +- print("static const int maxTokenLength = %d;" % (self.maxLength() + 1)) ++ print(("static const int maxTokenLength = %d;" % (self.maxLength() + 1))) + print("") + print("template <>") + print("template ALWAYS_INLINE JSTokenType Lexer::parseKeyword(JSTokenData* data)") +diff --git a/Source/JavaScriptCore/Scripts/builtins/builtins.py b/Source/JavaScriptCore/Scripts/builtins/builtins.py +deleted file mode 100644 +index 9349eeef6..000000000 +--- a/Source/JavaScriptCore/Scripts/builtins/builtins.py ++++ /dev/null +@@ -1,11 +0,0 @@ +-# This file is used to simulate the builtins/ directory when generate-js-builtins.py +-# is run from JavaScriptCore framework's private headers directory, which is flattened. +- +-from builtins_model import * +-from builtins_templates import * +- +-from builtins_generator import * +-from builtins_generate_combined_header import * +-from builtins_generate_combined_implementation import * +-from builtins_generate_separate_header import * +-from builtins_generate_separate_implementation import * +diff --git a/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py b/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py +index 53660318d..6b0e95dc9 100755 +--- a/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py ++++ b/Source/JavaScriptCore/Scripts/generate-combined-inspector-json.py +@@ -29,7 +29,7 @@ import os + import sys + + if len(sys.argv) < 2: +- print("usage: %s [json files or directory of json files ...]" % os.path.basename(sys.argv[0])) ++ print(("usage: %s [json files or directory of json files ...]" % os.path.basename(sys.argv[0]))) + sys.exit(1) + + files = [] +@@ -64,6 +64,6 @@ for file in files: + sys.stderr.write("File \"%s\" does not contain valid JSON:\n" % file) + raise + +- print(string.rstrip()) ++ print((string.rstrip())) + print("]}") + +diff --git a/Source/JavaScriptCore/Scripts/generate-js-builtins.py b/Source/JavaScriptCore/Scripts/generate-js-builtins.py +index 554a72ccc..3dce94c5c 100644 +--- a/Source/JavaScriptCore/Scripts/generate-js-builtins.py ++++ b/Source/JavaScriptCore/Scripts/generate-js-builtins.py +@@ -25,7 +25,7 @@ + # THE POSSIBILITY OF SUCH DAMAGE. + + # This script generates C++ bindings for JavaScript builtins. +-# Generators for individual files are located in the builtins/ directory. ++# Generators for individual files are located in the mybuiltins/ directory. + + import fnmatch + import logging +@@ -37,8 +37,8 @@ log = logging.getLogger('global') + + from lazywriter import LazyFileWriter + +-import builtins +-from builtins import * ++#import mybuiltins ++from mybuiltins import * + + + def generate_bindings_for_builtins_files(builtins_files=[], +@@ -118,7 +118,7 @@ if __name__ == '__main__': + cli_parser.add_option("-t", "--test", action="store_true", help="Enable test mode.") + + arg_options, arg_values = cli_parser.parse_args() +- if len(arg_values) is 0 and not arg_options.input_directory: ++ if len(arg_values) == 0 and not arg_options.input_directory: + raise ParseException("At least one input file or directory expected.") + + if not arg_options.output_directory: +@@ -132,7 +132,7 @@ if __name__ == '__main__': + for filepath in os.listdir(arg_options.input_directory): + input_filepaths.append(os.path.join(arg_options.input_directory, filepath)) + +- input_filepaths = filter(lambda name: fnmatch.fnmatch(name, '*.js'), input_filepaths) ++ input_filepaths = [name for name in input_filepaths if fnmatch.fnmatch(name, '*.js')] + + options = { + 'output_path': arg_options.output_directory, +@@ -144,7 +144,7 @@ if __name__ == '__main__': + + log.debug("Generating code for builtins.") + log.debug("Parsed options:") +- for option, value in options.items(): ++ for option, value in list(options.items()): + log.debug(" %s: %s" % (option, value)) + log.debug("") + log.debug("Input files:") +diff --git a/Source/JavaScriptCore/Scripts/inline-and-minify-stylesheets-and-scripts.py b/Source/JavaScriptCore/Scripts/inline-and-minify-stylesheets-and-scripts.py +index 89200c84e..a4a26c2b4 100755 +--- a/Source/JavaScriptCore/Scripts/inline-and-minify-stylesheets-and-scripts.py ++++ b/Source/JavaScriptCore/Scripts/inline-and-minify-stylesheets-and-scripts.py +@@ -37,7 +37,7 @@ import sys + def main(argv): + + if len(argv) < 2: +- print('usage: %s inputFile outputFile' % argv[0]) ++ print(('usage: %s inputFile outputFile' % argv[0])) + return 1 + + inputFileName = argv[1] +diff --git a/Source/JavaScriptCore/Scripts/jsmin.py b/Source/JavaScriptCore/Scripts/jsmin.py +index 372418b4d..2f9fddfce 100644 +--- a/Source/JavaScriptCore/Scripts/jsmin.py ++++ b/Source/JavaScriptCore/Scripts/jsmin.py +@@ -23,17 +23,20 @@ + # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + # THE SOFTWARE. + ++# stolen from webkitgtk 2.26.2 + + import sys + is_3 = sys.version_info >= (3, 0) + if is_3: + import io ++ python_text_type = str + else: + import StringIO + try: + import cStringIO + except ImportError: + cStringIO = None ++ python_text_type = basestring + + + __all__ = ['jsmin', 'JavascriptMinify'] +@@ -79,14 +82,18 @@ class JavascriptMinify(object): + def write(char): + # all of this is to support literal regular expressions. + # sigh +- if char in 'return': ++ if str(char) in 'return': + self.return_buf += char + self.is_return = self.return_buf == 'return' + self.outs.write(char) + if self.is_return: + self.return_buf = '' + +- read = self.ins.read ++ def read(n): ++ char = self.ins.read(n) ++ if not isinstance(char, python_text_type): ++ raise ValueError("ERROR: The script jsmin.py can only handle text input, but it received input of type %s" % type(char)) ++ return char + + space_strings = "abcdefghijklmnopqrstuvwxyz"\ + "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$\\" +@@ -118,8 +125,8 @@ class JavascriptMinify(object): + write(previous) + elif not previous: + return +- elif previous >= '!': +- if previous in "'\"": ++ elif str(previous) >= "!": ++ if str(previous) in "'\"": + in_quote = previous + write(previous) + previous_non_space = previous +@@ -166,7 +173,7 @@ class JavascriptMinify(object): + if numslashes % 2 == 0: + in_quote = '' + write(''.join(quote_buf)) +- elif next1 in '\r\n': ++ elif str(next1) in '\r\n': + if previous_non_space in newlineend_strings \ + or previous_non_space > '~': + while 1: +@@ -179,7 +186,7 @@ class JavascriptMinify(object): + or next2 > '~' or next2 == '/': + do_newline = True + break +- elif next1 < '!' and not in_re: ++ elif str(next1) < '!' and not in_re: + if (previous_non_space in space_strings \ + or previous_non_space > '~') \ + and (next2 in space_strings or next2 > '~'): +@@ -217,14 +224,14 @@ class JavascriptMinify(object): + do_newline = False + + write(next1) +- if not in_re and next1 in "'\"`": ++ if not in_re and str(next1) in "'\"`": + in_quote = next1 + quote_buf = [] + + previous = next1 + next1 = next2 + +- if previous >= '!': ++ if str(previous) >= '!': + previous_non_space = previous + + if previous == '\\': +diff --git a/Source/JavaScriptCore/Scripts/make-js-file-arrays.py b/Source/JavaScriptCore/Scripts/make-js-file-arrays.py +index 65056646a..4bb2bfe66 100755 +--- a/Source/JavaScriptCore/Scripts/make-js-file-arrays.py ++++ b/Source/JavaScriptCore/Scripts/make-js-file-arrays.py +@@ -21,11 +21,15 @@ + # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ++# stolen from webkitgtk 2.26.2 ++ ++from __future__ import print_function + import io + import os + from optparse import OptionParser +-from StringIO import StringIO +-from jsmin import JavascriptMinify ++import sys ++from jsmin import jsmin ++is_3 = sys.version_info >= (3, 0) + + + def stringifyCodepoint(code): +@@ -36,7 +40,7 @@ def stringifyCodepoint(code): + + + def chunk(list, chunkSize): +- for i in xrange(0, len(list), chunkSize): ++ for i in range(0, len(list), chunkSize): + yield list[i:i + chunkSize] + + +@@ -46,11 +50,11 @@ def main(): + parser.add_option('-n', '--namespace', help='Namespace to use') + (options, arguments) = parser.parse_args() + if not options.namespace: +- print 'Error: must provide a namespace' ++ print('Error: must provide a namespace') + parser.print_usage() + exit(-1) + if len(arguments) < 3: +- print 'Error: must provide at least 3 arguments' ++ print('Error: must provide at least 3 arguments') + parser.print_usage() + exit(-1) + +@@ -60,38 +64,47 @@ def main(): + inputPaths = arguments[2:] + + headerFile = open(headerPath, 'w') +- print >> headerFile, 'namespace {0:s} {{'.format(namespace) ++ print('namespace {0:s} {{'.format(namespace), file=headerFile) + + sourceFile = open(sourcePath, 'w') +- print >> sourceFile, '#include "{0:s}"'.format(os.path.basename(headerPath)) +- print >> sourceFile, 'namespace {0:s} {{'.format(namespace) +- +- jsm = JavascriptMinify() ++ print('#include "{0:s}"'.format(os.path.basename(headerPath)), file=sourceFile) ++ print('namespace {0:s} {{'.format(namespace), file=sourceFile) + + for inputFileName in inputPaths: +- inputStream = io.FileIO(inputFileName) +- outputStream = StringIO() ++ ++ if is_3: ++ inputStream = io.open(inputFileName, encoding='utf-8') ++ else: ++ inputStream = io.FileIO(inputFileName) ++ ++ data = inputStream.read() + + if not options.no_minify: +- jsm.minify(inputStream, outputStream) +- characters = outputStream.getvalue() ++ characters = jsmin(data) ++ else: ++ characters = data ++ ++ if is_3: ++ codepoints = bytearray(characters, encoding='utf-8') + else: +- characters = inputStream.read() ++ codepoints = list(map(ord, characters)) ++ ++ # Use the size of codepoints instead of the characters ++ # because UTF-8 characters may need more than one byte. ++ size = len(codepoints) + +- size = len(characters) + variableName = os.path.splitext(os.path.basename(inputFileName))[0] + +- print >> headerFile, 'extern const char {0:s}JavaScript[{1:d}];'.format(variableName, size) +- print >> sourceFile, 'const char {0:s}JavaScript[{1:d}] = {{'.format(variableName, size) ++ print('extern const char {0:s}JavaScript[{1:d}];'.format(variableName, size), file=headerFile) ++ print('const char {0:s}JavaScript[{1:d}] = {{'.format(variableName, size), file=sourceFile) + +- codepoints = map(ord, characters) + for codepointChunk in chunk(codepoints, 16): +- print >> sourceFile, ' {0:s},'.format(','.join(map(stringifyCodepoint, codepointChunk))) ++ print(' {0:s},'.format(','.join(map(stringifyCodepoint, codepointChunk))), file=sourceFile) + +- print >> sourceFile, '};' ++ print('};', file=sourceFile) + +- print >> headerFile, '}} // namespace {0:s}'.format(namespace) +- print >> sourceFile, '}} // namespace {0:s}'.format(namespace) ++ print('}} // namespace {0:s}'.format(namespace), file=headerFile) ++ print('}} // namespace {0:s}'.format(namespace), file=sourceFile) + + if __name__ == '__main__': + main() +diff --git a/Source/JavaScriptCore/Scripts/builtins/__init__.py b/Source/JavaScriptCore/Scripts/mybuiltins/__init__.py +similarity index 72% +rename from Source/JavaScriptCore/Scripts/builtins/__init__.py +rename to Source/JavaScriptCore/Scripts/mybuiltins/__init__.py +index fdfcba981..1b9668023 100644 +--- a/Source/JavaScriptCore/Scripts/builtins/__init__.py ++++ b/Source/JavaScriptCore/Scripts/mybuiltins/__init__.py +@@ -1,3 +1,3 @@ + # Required for Python to search this directory for module files + +-from builtins import * ++from mybuiltins import * +diff --git a/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins.py b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins.py +new file mode 100644 +index 000000000..1bea3da5c +--- /dev/null ++++ b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins.py +@@ -0,0 +1,11 @@ ++# This file is used to simulate the builtins/ directory when generate-js-builtins.py ++# is run from JavaScriptCore framework's private headers directory, which is flattened. ++ ++from mybuiltins_model import * ++from mybuiltins_templates import * ++ ++from mybuiltins_generator import * ++from mybuiltins_generate_combined_header import * ++from mybuiltins_generate_combined_implementation import * ++from mybuiltins_generate_separate_header import * ++from mybuiltins_generate_separate_implementation import * +diff --git a/Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_header.py b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_combined_header.py +similarity index 98% +rename from Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_header.py +rename to Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_combined_header.py +index 891bd3cb4..6520a5f16 100644 +--- a/Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_header.py ++++ b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_combined_header.py +@@ -30,8 +30,8 @@ import re + import string + from string import Template + +-from builtins_generator import BuiltinsGenerator +-from builtins_templates import BuiltinsGeneratorTemplates as Templates ++from mybuiltins_generator import BuiltinsGenerator ++from mybuiltins_templates import BuiltinsGeneratorTemplates as Templates + + log = logging.getLogger('global') + +diff --git a/Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_implementation.py b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_combined_implementation.py +similarity index 95% +rename from Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_implementation.py +rename to Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_combined_implementation.py +index 094434b64..76eed7665 100644 +--- a/Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_implementation.py ++++ b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_combined_implementation.py +@@ -30,9 +30,9 @@ import re + import string + from string import Template + +-from builtins_generator import BuiltinsGenerator +-from builtins_model import Framework, Frameworks +-from builtins_templates import BuiltinsGeneratorTemplates as Templates ++from mybuiltins_generator import BuiltinsGenerator ++from mybuiltins_model import Framework, Frameworks ++from mybuiltins_templates import BuiltinsGeneratorTemplates as Templates + + log = logging.getLogger('global') + +diff --git a/Source/JavaScriptCore/Scripts/builtins/builtins_generate_separate_header.py b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_separate_header.py +similarity index 97% +rename from Source/JavaScriptCore/Scripts/builtins/builtins_generate_separate_header.py +rename to Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_separate_header.py +index b72a94bfe..6cbfbdca1 100644 +--- a/Source/JavaScriptCore/Scripts/builtins/builtins_generate_separate_header.py ++++ b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_separate_header.py +@@ -30,9 +30,9 @@ import re + import string + from string import Template + +-from builtins_generator import BuiltinsGenerator +-from builtins_model import Frameworks +-from builtins_templates import BuiltinsGeneratorTemplates as Templates ++from mybuiltins_generator import BuiltinsGenerator ++from mybuiltins_model import Frameworks ++from mybuiltins_templates import BuiltinsGeneratorTemplates as Templates + + log = logging.getLogger('global') + +diff --git a/Source/JavaScriptCore/Scripts/builtins/builtins_generate_separate_implementation.py b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_separate_implementation.py +similarity index 95% +rename from Source/JavaScriptCore/Scripts/builtins/builtins_generate_separate_implementation.py +rename to Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_separate_implementation.py +index 0443975da..9f811df6a 100644 +--- a/Source/JavaScriptCore/Scripts/builtins/builtins_generate_separate_implementation.py ++++ b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generate_separate_implementation.py +@@ -30,9 +30,9 @@ import re + import string + from string import Template + +-from builtins_generator import BuiltinsGenerator, WK_lcfirst +-from builtins_model import Framework, Frameworks +-from builtins_templates import BuiltinsGeneratorTemplates as Templates ++from mybuiltins_generator import BuiltinsGenerator, WK_lcfirst ++from mybuiltins_model import Framework, Frameworks ++from mybuiltins_templates import BuiltinsGeneratorTemplates as Templates + + log = logging.getLogger('global') + +diff --git a/Source/JavaScriptCore/Scripts/builtins/builtins_generator.py b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generator.py +similarity index 97% +rename from Source/JavaScriptCore/Scripts/builtins/builtins_generator.py +rename to Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generator.py +index 21ac4c1d9..546eb2e07 100644 +--- a/Source/JavaScriptCore/Scripts/builtins/builtins_generator.py ++++ b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_generator.py +@@ -30,8 +30,8 @@ import re + from string import Template + import json + +-from builtins_model import BuiltinFunction, BuiltinObject +-from builtins_templates import BuiltinsGeneratorTemplates as Templates ++from mybuiltins_model import BuiltinFunction, BuiltinObject ++from mybuiltins_templates import BuiltinsGeneratorTemplates as Templates + + log = logging.getLogger('global') + +diff --git a/Source/JavaScriptCore/Scripts/builtins/builtins_model.py b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_model.py +similarity index 97% +rename from Source/JavaScriptCore/Scripts/builtins/builtins_model.py +rename to Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_model.py +index cdd5f9003..68d7aed06 100755 +--- a/Source/JavaScriptCore/Scripts/builtins/builtins_model.py ++++ b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_model.py +@@ -122,7 +122,8 @@ class BuiltinFunction: + interface = interface + " [Constructor]" + + return interface +- ++ def __lt__(self, other): ++ return self.function_name < other.function_name + + class BuiltinsCollection: + def __init__(self, framework_name): +@@ -178,7 +179,7 @@ class BuiltinsCollection: + + result = [] + +- for owner, years in owner_to_years.items(): ++ for owner, years in list(owner_to_years.items()): + sorted_years = list(years) + sorted_years.sort() + result.append("%s %s" % (', '.join(sorted_years), owner)) +@@ -271,4 +272,4 @@ class BuiltinsCollection: + functionBounds.append((start, end)) + + functionStrings = [text[start:end].strip() for (start, end) in functionBounds] +- return map(BuiltinFunction.fromString, functionStrings) ++ return list(map(BuiltinFunction.fromString, functionStrings)) +diff --git a/Source/JavaScriptCore/Scripts/builtins/builtins_templates.py b/Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_templates.py +similarity index 100% +rename from Source/JavaScriptCore/Scripts/builtins/builtins_templates.py +rename to Source/JavaScriptCore/Scripts/mybuiltins/mybuiltins_templates.py +diff --git a/Source/JavaScriptCore/disassembler/udis86/ud_itab.py b/Source/JavaScriptCore/disassembler/udis86/ud_itab.py +index ef011d2ec..205dcb1ae 100644 +--- a/Source/JavaScriptCore/disassembler/udis86/ud_itab.py ++++ b/Source/JavaScriptCore/disassembler/udis86/ud_itab.py +@@ -266,15 +266,15 @@ class UdItabGenerator: + pfx_c = [] + opr = insn.operands + for i in range(len(opr)): +- if not (opr[i] in self.OperandDict.keys()): +- print("error: invalid operand declaration: %s\n" % opr[i]) ++ if not (opr[i] in list(self.OperandDict.keys())): ++ print(("error: invalid operand declaration: %s\n" % opr[i])) + opr_c[i] = "O_" + opr[i] + opr = "%s %s %s %s" % (opr_c[0] + ",", opr_c[1] + ",", + opr_c[2] + ",", opr_c[3]) + + for p in insn.prefixes: +- if not ( p in self.PrefixDict.keys() ): +- print("error: invalid prefix specification: %s \n" % pfx) ++ if not ( p in list(self.PrefixDict.keys()) ): ++ print(("error: invalid prefix specification: %s \n" % pfx)) + pfx_c.append( self.PrefixDict[p] ) + if len(insn.prefixes) == 0: + pfx_c.append( "P_none" ) +@@ -346,7 +346,7 @@ class UdItabGenerator: + # Macros defining short-names for operands + # + self.ItabC.write("\n\n/* itab entry operand definitions (for readability) */\n"); +- operands = self.OperandDict.keys() ++ operands = list(self.OperandDict.keys()) + operands = sorted(operands) + for o in operands: + self.ItabC.write("#define O_%-7s { %-12s %-8s }\n" % +diff --git a/Source/JavaScriptCore/disassembler/udis86/ud_opcode.py b/Source/JavaScriptCore/disassembler/udis86/ud_opcode.py +index fe1833dc7..00961071c 100644 +--- a/Source/JavaScriptCore/disassembler/udis86/ud_opcode.py ++++ b/Source/JavaScriptCore/disassembler/udis86/ud_opcode.py +@@ -28,7 +28,7 @@ import os + # Some compatibility stuff for supporting python 2.x as well as python 3.x + def itemslist(dict): + try: +- return dict.iteritems() # python 2.x ++ return iter(dict.items()) # python 2.x + except AttributeError: + return list(dict.items()) # python 3.x + +@@ -180,7 +180,7 @@ class UdOpcodeTable: + return itemslist(self._entries) + + def numEntries(self): +- return len(self._entries.keys()) ++ return len(list(self._entries.keys())) + + def label(self): + return self._TableInfo[self._typ]['label'] +@@ -248,7 +248,7 @@ class UdOpcodeTable: + @classmethod + def getLabels(cls): + """Returns a list of all labels""" +- return [cls._TableInfo[k]['label'] for k in cls._TableInfo.keys()] ++ return [cls._TableInfo[k]['label'] for k in list(cls._TableInfo.keys())] + + + class UdOpcodeTables(object): +@@ -401,7 +401,7 @@ class UdOpcodeTables(object): + self.map(self.root, opcodes, insn) + except self.CollisionError as e: + self.pprint() +- print(opcodes, insn, str(e.obj1), str(e.obj2)) ++ print((opcodes, insn, str(e.obj1), str(e.obj2))) + raise + except Exception as e: + self.pprint() +@@ -550,10 +550,10 @@ class UdOpcodeTables(object): + entries = tbl.entries() + for k, e in entries: + if isinstance(e, UdOpcodeTable): +- self.log("%s |-<%02x> %s" % (indent, k, e)) ++ self.log("%s |-<%02x> %s" % (indent, int(k), e)) + printWalk(e, indent + " |") + elif isinstance(e, UdInsnDef): +- self.log("%s |-<%02x> %s" % (indent, k, e)) ++ self.log("%s |-<%02x> %s" % (indent, int(k), e)) + printWalk(self.root) + + +diff --git a/Source/JavaScriptCore/generate-bytecode-files b/Source/JavaScriptCore/generate-bytecode-files +index 5666a3f92..371ac5e4e 100644 +--- a/Source/JavaScriptCore/generate-bytecode-files ++++ b/Source/JavaScriptCore/generate-bytecode-files +@@ -91,14 +91,14 @@ def openOrExit(path, mode): + try: + return open(path, mode) + except IOError as e: +- print "I/O error opening {0}, ({1}): {2}".format(path, e.errno, e.strerror) ++ print("I/O error opening {0}, ({1}): {2}".format(path, e.errno, e.strerror)) + exit(1) + + def hashFile(file): + sha1 = hashlib.sha1() + file.seek(0) + for line in file: +- sha1.update(line) ++ sha1.update(line.encode('utf-8')) + + file.seek(0) + +@@ -114,7 +114,7 @@ if __name__ == "__main__": + parser.error("missing ") + + bytecodeJSONFile = args[0] +- bytecodeFile = openOrExit(bytecodeJSONFile, "rb") ++ bytecodeFile = openOrExit(bytecodeJSONFile, "r") + sha1Hash = hashFile(bytecodeFile) + + hFileHashString = "// SHA1Hash: {0}\n".format(sha1Hash) +@@ -131,7 +131,7 @@ if __name__ == "__main__": + + if bytecodeHFilename: + try: +- bytecodeHReadFile = open(bytecodeHFilename, "rb") ++ bytecodeHReadFile = open(bytecodeHFilename, "r") + + hashLine = bytecodeHReadFile.readline() + if hashLine != hFileHashString: +@@ -143,7 +143,7 @@ if __name__ == "__main__": + + if initASMFileName: + try: +- initBytecodesReadFile = open(initASMFileName, "rb") ++ initBytecodesReadFile = open(initASMFileName, "r") + + hashLine = initBytecodesReadFile.readline() + if hashLine != asmFileHashString: +@@ -157,15 +157,15 @@ if __name__ == "__main__": + exit(0) + + if bytecodeHFilename: +- bytecodeHFile = openOrExit(bytecodeHFilename, "wb") ++ bytecodeHFile = openOrExit(bytecodeHFilename, "w") + + if initASMFileName: +- initBytecodesFile = openOrExit(initASMFileName, "wb") ++ initBytecodesFile = openOrExit(initASMFileName, "w") + + try: + bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") + except: +- print "Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info()) ++ print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())) + + if bytecodeHFilename: + bytecodeHFile.write(hFileHashString) +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/__init__.py b/Source/JavaScriptCore/inspector/scripts/codegen/__init__.py +index 6077fa97a..bd30c817c 100644 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/__init__.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/__init__.py +@@ -1,24 +1,24 @@ + # Required for Python to search this directory for module files + +-from models import * +-from generator import * +-from cpp_generator import * +-from objc_generator import * ++from .models import * ++from .generator import * ++from .cpp_generator import * ++from .objc_generator import * + +-from generate_cpp_alternate_backend_dispatcher_header import * +-from generate_cpp_backend_dispatcher_header import * +-from generate_cpp_backend_dispatcher_implementation import * +-from generate_cpp_frontend_dispatcher_header import * +-from generate_cpp_frontend_dispatcher_implementation import * +-from generate_cpp_protocol_types_header import * +-from generate_cpp_protocol_types_implementation import * +-from generate_js_backend_commands import * +-from generate_objc_backend_dispatcher_header import * +-from generate_objc_backend_dispatcher_implementation import * +-from generate_objc_configuration_header import * +-from generate_objc_configuration_implementation import * +-from generate_objc_conversion_helpers import * +-from generate_objc_frontend_dispatcher_implementation import * +-from generate_objc_header import * +-from generate_objc_internal_header import * +-from generate_objc_protocol_types_implementation import * ++from .generate_cpp_alternate_backend_dispatcher_header import * ++from .generate_cpp_backend_dispatcher_header import * ++from .generate_cpp_backend_dispatcher_implementation import * ++from .generate_cpp_frontend_dispatcher_header import * ++from .generate_cpp_frontend_dispatcher_implementation import * ++from .generate_cpp_protocol_types_header import * ++from .generate_cpp_protocol_types_implementation import * ++from .generate_js_backend_commands import * ++from .generate_objc_backend_dispatcher_header import * ++from .generate_objc_backend_dispatcher_implementation import * ++from .generate_objc_configuration_header import * ++from .generate_objc_configuration_implementation import * ++from .generate_objc_conversion_helpers import * ++from .generate_objc_frontend_dispatcher_implementation import * ++from .generate_objc_header import * ++from .generate_objc_internal_header import * ++from .generate_objc_protocol_types_implementation import * +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py b/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py +index edd330da4..43c655b05 100644 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py +@@ -28,8 +28,8 @@ import logging + import os.path + import re + +-from generator import ucfirst +-from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks ++from .generator import ucfirst ++from .models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks + + log = logging.getLogger('global') + +@@ -56,11 +56,11 @@ class CppGenerator: + if isinstance(_type, ArrayType): + return 'getArray' + if isinstance(_type, PrimitiveType): +- if _type.raw_name() is 'integer': ++ if _type.raw_name() == 'integer': + return 'getInteger' +- elif _type.raw_name() is 'number': ++ elif _type.raw_name() == 'number': + return 'getDouble' +- elif _type.raw_name() is 'any': ++ elif _type.raw_name() == 'any': + return 'getValue' + else: + return 'get' + ucfirst(_type.raw_name()) +@@ -76,11 +76,11 @@ class CppGenerator: + if isinstance(_type, ArrayType): + return 'setArray' + if isinstance(_type, PrimitiveType): +- if _type.raw_name() is 'integer': ++ if _type.raw_name() == 'integer': + return 'setInteger' +- elif _type.raw_name() is 'number': ++ elif _type.raw_name() == 'number': + return 'setDouble' +- elif _type.raw_name() is 'any': ++ elif _type.raw_name() == 'any': + return 'setValue' + else: + return 'set' + ucfirst(_type.raw_name()) +@@ -95,7 +95,7 @@ class CppGenerator: + if isinstance(_type, ObjectType) and len(_type.members) == 0: + return 'Inspector::InspectorObject' + if isinstance(_type, ArrayType): +- if _type.raw_name() is None: # Otherwise, fall through and use typedef'd name. ++ if _type.raw_name() == None: # Otherwise, fall through and use typedef'd name. + return 'Inspector::Protocol::Array<%s>' % CppGenerator.cpp_protocol_type_for_type(_type.element_type) + if isinstance(_type, (ObjectType, AliasedType, EnumType, ArrayType)): + return 'Inspector::Protocol::%s::%s' % (_type.type_domain().domain_name, _type.raw_name()) +@@ -119,7 +119,7 @@ class CppGenerator: + _type = _type.primitive_type # Fall through to primitive. + + # This handles the 'any' type and objects with defined properties. +- if isinstance(_type, ObjectType) or _type.qualified_name() is 'object': ++ if isinstance(_type, ObjectType) or _type.qualified_name() == 'object': + cpp_name = 'Inspector::InspectorObject' + if parameter.is_optional: + return 'const %s*' % cpp_name +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py +index 375ce05ca..916277d31 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py +@@ -30,9 +30,9 @@ import string + import re + from string import Template + +-from cpp_generator import CppGenerator +-from cpp_generator_templates import CppGeneratorTemplates as CppTemplates +-from generator import Generator ++from .cpp_generator import CppGenerator ++from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates ++from .generator import Generator + + log = logging.getLogger('global') + +@@ -60,7 +60,7 @@ class CppAlternateBackendDispatcherHeaderGenerator(Generator): + sections = [] + sections.append(self.generate_license()) + sections.append(Template(CppTemplates.AlternateDispatchersHeaderPrelude).substitute(None, **header_args)) +- sections.append('\n'.join(filter(None, map(self._generate_handler_declarations_for_domain, domains)))) ++ sections.append('\n'.join([_f for _f in map(self._generate_handler_declarations_for_domain, domains) if _f])) + sections.append(Template(CppTemplates.AlternateDispatchersHeaderPostlude).substitute(None, **header_args)) + return '\n\n'.join(sections) + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py +index 2e5ff7a6a..25bec9a22 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py +@@ -30,10 +30,10 @@ import re + import string + from string import Template + +-from cpp_generator import CppGenerator +-from cpp_generator_templates import CppGeneratorTemplates as CppTemplates +-from generator import Generator, ucfirst +-from models import EnumType ++from .cpp_generator import CppGenerator ++from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates ++from .generator import Generator, ucfirst ++from .models import EnumType + + log = logging.getLogger('global') + +@@ -46,7 +46,7 @@ class CppBackendDispatcherHeaderGenerator(Generator): + return "InspectorBackendDispatchers.h" + + def domains_to_generate(self): +- return filter(lambda domain: len(domain.commands) > 0, Generator.domains_to_generate(self)) ++ return [domain for domain in Generator.domains_to_generate(self) if len(domain.commands) > 0] + + def generate_output(self): + headers = [ +@@ -68,8 +68,8 @@ class CppBackendDispatcherHeaderGenerator(Generator): + sections.append(self.generate_license()) + sections.append(Template(CppTemplates.HeaderPrelude).substitute(None, **header_args)) + sections.append(self._generate_alternate_handler_forward_declarations_for_domains(domains)) +- sections.extend(map(self._generate_handler_declarations_for_domain, domains)) +- sections.extend(map(self._generate_dispatcher_declarations_for_domain, domains)) ++ sections.extend(list(map(self._generate_handler_declarations_for_domain, domains))) ++ sections.extend(list(map(self._generate_dispatcher_declarations_for_domain, domains))) + sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args)) + return "\n\n".join(sections) + +@@ -194,7 +194,7 @@ class CppBackendDispatcherHeaderGenerator(Generator): + declarations = [] + if len(domain.commands) > 0: + declarations.append('private:') +- declarations.extend(map(self._generate_dispatcher_declaration_for_command, domain.commands)) ++ declarations.extend(list(map(self._generate_dispatcher_declaration_for_command, domain.commands))) + + handler_args = { + 'classAndExportMacro': " ".join(classComponents), +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py +index 8f3df80ee..0c9b30e47 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py +@@ -29,10 +29,10 @@ import logging + import string + from string import Template + +-from cpp_generator import CppGenerator +-from cpp_generator_templates import CppGeneratorTemplates as CppTemplates +-from generator import Generator, ucfirst +-from models import ObjectType, ArrayType ++from .cpp_generator import CppGenerator ++from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates ++from .generator import Generator, ucfirst ++from .models import ObjectType, ArrayType + + log = logging.getLogger('global') + +@@ -45,7 +45,7 @@ class CppBackendDispatcherImplementationGenerator(Generator): + return "InspectorBackendDispatchers.cpp" + + def domains_to_generate(self): +- return filter(lambda domain: len(domain.commands) > 0, Generator.domains_to_generate(self)) ++ return [domain for domain in Generator.domains_to_generate(self) if len(domain.commands) > 0] + + def generate_output(self): + secondary_headers = [ +@@ -69,7 +69,7 @@ class CppBackendDispatcherImplementationGenerator(Generator): + sections.append(self.generate_license()) + sections.append(Template(CppTemplates.ImplementationPrelude).substitute(None, **header_args)) + sections.append("\n".join(map(self._generate_handler_class_destructor_for_domain, self.domains_to_generate()))) +- sections.extend(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate())) ++ sections.extend(list(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate()))) + sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args)) + return "\n\n".join(sections) + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py +index 58a3cb925..40905d676 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py +@@ -30,10 +30,10 @@ import re + import string + from string import Template + +-from cpp_generator import CppGenerator +-from cpp_generator_templates import CppGeneratorTemplates as CppTemplates +-from generator import Generator, ucfirst +-from models import EnumType ++from .cpp_generator import CppGenerator ++from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates ++from .generator import Generator, ucfirst ++from .models import EnumType + + log = logging.getLogger('global') + +@@ -46,7 +46,7 @@ class CppFrontendDispatcherHeaderGenerator(Generator): + return "InspectorFrontendDispatchers.h" + + def domains_to_generate(self): +- return filter(lambda domain: len(domain.events) > 0, Generator.domains_to_generate(self)) ++ return [domain for domain in Generator.domains_to_generate(self) if len(domain.events) > 0] + + def generate_output(self): + headers = [ +@@ -63,7 +63,7 @@ class CppFrontendDispatcherHeaderGenerator(Generator): + sections = [] + sections.append(self.generate_license()) + sections.append(Template(CppTemplates.HeaderPrelude).substitute(None, **header_args)) +- sections.extend(map(self._generate_dispatcher_declarations_for_domain, self.domains_to_generate())) ++ sections.extend(list(map(self._generate_dispatcher_declarations_for_domain, self.domains_to_generate()))) + sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args)) + return "\n\n".join(sections) + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py +index ea46aaf26..132b1c67c 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py +@@ -29,10 +29,10 @@ import logging + import string + from string import Template + +-from cpp_generator import CppGenerator +-from cpp_generator_templates import CppGeneratorTemplates as CppTemplates +-from generator import Generator, ucfirst +-from models import ObjectType, ArrayType ++from .cpp_generator import CppGenerator ++from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates ++from .generator import Generator, ucfirst ++from .models import ObjectType, ArrayType + + log = logging.getLogger('global') + +@@ -45,7 +45,7 @@ class CppFrontendDispatcherImplementationGenerator(Generator): + return "InspectorFrontendDispatchers.cpp" + + def domains_to_generate(self): +- return filter(lambda domain: len(domain.events) > 0, Generator.domains_to_generate(self)) ++ return [domain for domain in Generator.domains_to_generate(self) if len(domain.events) > 0] + + def generate_output(self): + secondary_headers = [ +@@ -61,7 +61,7 @@ class CppFrontendDispatcherImplementationGenerator(Generator): + sections = [] + sections.append(self.generate_license()) + sections.append(Template(CppTemplates.ImplementationPrelude).substitute(None, **header_args)) +- sections.extend(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate())) ++ sections.extend(list(map(self._generate_dispatcher_implementations_for_domain, self.domains_to_generate()))) + sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args)) + return "\n\n".join(sections) + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py +index 6753e2dcf..7bd4375df 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py +@@ -30,10 +30,10 @@ import re + import string + from string import Template + +-from cpp_generator import CppGenerator +-from cpp_generator_templates import CppGeneratorTemplates as CppTemplates +-from generator import Generator, ucfirst +-from models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks ++from .cpp_generator import CppGenerator ++from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates ++from .generator import Generator, ucfirst ++from .models import EnumType, ObjectType, PrimitiveType, AliasedType, ArrayType, Frameworks + + log = logging.getLogger('global') + +@@ -80,8 +80,8 @@ class CppProtocolTypesHeaderGenerator(Generator): + ' return getEnumConstantValue(static_cast(enumValue));', + '}'])) + +- builder_sections = map(self._generate_builders_for_domain, domains) +- sections.extend(filter(lambda section: len(section) > 0, builder_sections)) ++ builder_sections = list(map(self._generate_builders_for_domain, domains)) ++ sections.extend([section for section in builder_sections if len(section) > 0]) + sections.append(self._generate_forward_declarations_for_binding_traits()) + sections.append('} // namespace Protocol') + sections.append(Template(CppTemplates.HeaderPostlude).substitute(None, **header_args)) +@@ -96,8 +96,8 @@ class CppProtocolTypesHeaderGenerator(Generator): + + for domain in domains: + declaration_types = [decl.type for decl in domain.type_declarations] +- object_types = filter(lambda _type: isinstance(_type, ObjectType), declaration_types) +- enum_types = filter(lambda _type: isinstance(_type, EnumType), declaration_types) ++ object_types = [_type for _type in declaration_types if isinstance(_type, ObjectType)] ++ enum_types = [_type for _type in declaration_types if isinstance(_type, EnumType)] + if len(object_types) + len(enum_types) == 0: + continue + +@@ -122,8 +122,8 @@ class CppProtocolTypesHeaderGenerator(Generator): + """ % '\n\n'.join(sections) + + def _generate_typedefs(self, domains): +- sections = map(self._generate_typedefs_for_domain, domains) +- sections = filter(lambda text: len(text) > 0, sections) ++ sections = list(map(self._generate_typedefs_for_domain, domains)) ++ sections = [text for text in sections if len(text) > 0] + + if len(sections) == 0: + return '' +@@ -133,8 +133,8 @@ class CppProtocolTypesHeaderGenerator(Generator): + // End of typedefs.""" % '\n\n'.join(sections) + + def _generate_typedefs_for_domain(self, domain): +- primitive_declarations = filter(lambda decl: isinstance(decl.type, AliasedType), domain.type_declarations) +- array_declarations = filter(lambda decl: isinstance(decl.type, ArrayType), domain.type_declarations) ++ primitive_declarations = [decl for decl in domain.type_declarations if isinstance(decl.type, AliasedType)] ++ array_declarations = [decl for decl in domain.type_declarations if isinstance(decl.type, ArrayType)] + if len(primitive_declarations) == 0 and len(array_declarations) == 0: + return '' + +@@ -170,7 +170,7 @@ class CppProtocolTypesHeaderGenerator(Generator): + elif isinstance(type_declaration.type, ObjectType): + sections.append(self._generate_class_for_object_declaration(type_declaration, domain)) + +- sections = filter(lambda section: len(section) > 0, sections) ++ sections = [section for section in sections if len(section) > 0] + if len(sections) == 0: + return '' + +@@ -184,9 +184,9 @@ class CppProtocolTypesHeaderGenerator(Generator): + if len(type_declaration.type_members) == 0: + return '' + +- enum_members = filter(lambda member: isinstance(member.type, EnumType) and member.type.is_anonymous, type_declaration.type_members) +- required_members = filter(lambda member: not member.is_optional, type_declaration.type_members) +- optional_members = filter(lambda member: member.is_optional, type_declaration.type_members) ++ enum_members = [member for member in type_declaration.type_members if isinstance(member.type, EnumType) and member.type.is_anonymous] ++ required_members = [member for member in type_declaration.type_members if not member.is_optional] ++ optional_members = [member for member in type_declaration.type_members if member.is_optional] + object_name = type_declaration.type_name + + lines = [] +@@ -244,7 +244,7 @@ class CppProtocolTypesHeaderGenerator(Generator): + else: + return ' ' + line + +- indented_lines = map(apply_indentation, self._generate_struct_for_enum_type(enum_member.member_name, enum_member.type)) ++ indented_lines = list(map(apply_indentation, self._generate_struct_for_enum_type(enum_member.member_name, enum_member.type))) + return '\n'.join(indented_lines) + + def _generate_struct_for_enum_type(self, enum_name, enum_type): +@@ -258,7 +258,7 @@ class CppProtocolTypesHeaderGenerator(Generator): + + def _generate_builder_state_enum(self, type_declaration): + lines = [] +- required_members = filter(lambda member: not member.is_optional, type_declaration.type_members) ++ required_members = [member for member in type_declaration.type_members if not member.is_optional] + enum_values = [] + + lines.append(' enum {') +@@ -323,7 +323,7 @@ class CppProtocolTypesHeaderGenerator(Generator): + type_arguments = [] + + for domain in self.domains_to_generate(): +- declarations_to_generate = filter(lambda decl: self.type_needs_shape_assertions(decl.type), domain.type_declarations) ++ declarations_to_generate = [decl for decl in domain.type_declarations if self.type_needs_shape_assertions(decl.type)] + + for type_declaration in declarations_to_generate: + for type_member in type_declaration.type_members: +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py +index 2c263b504..903278bfb 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py +@@ -29,10 +29,10 @@ import logging + import string + from string import Template + +-from cpp_generator import CppGenerator +-from cpp_generator_templates import CppGeneratorTemplates as CppTemplates +-from generator import Generator, ucfirst +-from models import AliasedType, ArrayType, EnumType, ObjectType ++from .cpp_generator import CppGenerator ++from .cpp_generator_templates import CppGeneratorTemplates as CppTemplates ++from .generator import Generator, ucfirst ++from .models import AliasedType, ArrayType, EnumType, ObjectType + + log = logging.getLogger('global') + +@@ -61,8 +61,8 @@ class CppProtocolTypesImplementationGenerator(Generator): + sections.append('namespace Protocol {') + sections.append(self._generate_enum_mapping()) + sections.append(self._generate_open_field_names()) +- builder_sections = map(self._generate_builders_for_domain, domains) +- sections.extend(filter(lambda section: len(section) > 0, builder_sections)) ++ builder_sections = list(map(self._generate_builders_for_domain, domains)) ++ sections.extend([section for section in builder_sections if len(section) > 0]) + sections.append('} // namespace Protocol') + sections.append(Template(CppTemplates.ImplementationPostlude).substitute(None, **header_args)) + +@@ -84,7 +84,7 @@ class CppProtocolTypesImplementationGenerator(Generator): + def _generate_open_field_names(self): + lines = [] + for domain in self.domains_to_generate(): +- for type_declaration in filter(lambda decl: Generator.type_has_open_fields(decl.type), domain.type_declarations): ++ for type_declaration in [decl for decl in domain.type_declarations if Generator.type_has_open_fields(decl.type)]: + for type_member in sorted(type_declaration.type_members, key=lambda member: member.member_name): + field_name = '::'.join(['Inspector', 'Protocol', domain.domain_name, ucfirst(type_declaration.type_name), ucfirst(type_member.member_name)]) + lines.append('const char* %s = "%s";' % (field_name, type_member.member_name)) +@@ -93,7 +93,7 @@ class CppProtocolTypesImplementationGenerator(Generator): + + def _generate_builders_for_domain(self, domain): + sections = [] +- declarations_to_generate = filter(lambda decl: self.type_needs_shape_assertions(decl.type), domain.type_declarations) ++ declarations_to_generate = [decl for decl in domain.type_declarations if self.type_needs_shape_assertions(decl.type)] + + for type_declaration in declarations_to_generate: + for type_member in type_declaration.type_members: +@@ -114,8 +114,8 @@ class CppProtocolTypesImplementationGenerator(Generator): + return Template(CppTemplates.ProtocolObjectRuntimeCast).substitute(None, **args) + + def _generate_assertion_for_object_declaration(self, object_declaration): +- required_members = filter(lambda member: not member.is_optional, object_declaration.type_members) +- optional_members = filter(lambda member: member.is_optional, object_declaration.type_members) ++ required_members = [member for member in object_declaration.type_members if not member.is_optional] ++ optional_members = [member for member in object_declaration.type_members if member.is_optional] + should_count_properties = not Generator.type_has_open_fields(object_declaration.type) + lines = [] + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py +index 3392c7845..bd8f33164 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py +@@ -29,9 +29,9 @@ import logging + import string + from string import Template + +-from generator import Generator, ucfirst +-from generator_templates import GeneratorTemplates as Templates +-from models import EnumType ++from .generator import Generator, ucfirst ++from .generator_templates import GeneratorTemplates as Templates ++from .models import EnumType + + log = logging.getLogger('global') + +@@ -45,15 +45,15 @@ class JSBackendCommandsGenerator(Generator): + + def domains_to_generate(self): + def should_generate_domain(domain): +- domain_enum_types = filter(lambda declaration: isinstance(declaration.type, EnumType), domain.type_declarations) ++ domain_enum_types = [declaration for declaration in domain.type_declarations if isinstance(declaration.type, EnumType)] + return len(domain.commands) > 0 or len(domain.events) > 0 or len(domain_enum_types) > 0 + +- return filter(should_generate_domain, Generator.domains_to_generate(self)) ++ return list(filter(should_generate_domain, Generator.domains_to_generate(self))) + + def generate_output(self): + sections = [] + sections.append(self.generate_license()) +- sections.extend(map(self.generate_domain, self.domains_to_generate())) ++ sections.extend(list(map(self.generate_domain, self.domains_to_generate()))) + return "\n\n".join(sections) + + def generate_domain(self, domain): +@@ -64,7 +64,7 @@ class JSBackendCommandsGenerator(Generator): + + lines.append('// %(domain)s.' % args) + +- has_async_commands = any(map(lambda command: command.is_async, domain.commands)) ++ has_async_commands = any([command.is_async for command in domain.commands]) + if len(domain.events) > 0 or has_async_commands: + lines.append('InspectorBackend.register%(domain)sDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "%(domain)s");' % args) + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py +index d56a0b178..809641d38 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py +@@ -30,11 +30,11 @@ import string + import re + from string import Template + +-from cpp_generator import CppGenerator +-from generator import Generator +-from models import Frameworks +-from objc_generator import ObjCGenerator +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .cpp_generator import CppGenerator ++from .generator import Generator ++from .models import Frameworks ++from .objc_generator import ObjCGenerator ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +@@ -47,7 +47,7 @@ class ObjCBackendDispatcherHeaderGenerator(Generator): + return '%sBackendDispatchers.h' % ObjCGenerator.OBJC_PREFIX + + def domains_to_generate(self): +- return filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), Generator.domains_to_generate(self)) ++ return list(filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), Generator.domains_to_generate(self))) + + def generate_output(self): + headers = [ +@@ -65,7 +65,7 @@ class ObjCBackendDispatcherHeaderGenerator(Generator): + sections = [] + sections.append(self.generate_license()) + sections.append(Template(ObjCTemplates.BackendDispatcherHeaderPrelude).substitute(None, **header_args)) +- sections.extend(map(self._generate_objc_handler_declarations_for_domain, domains)) ++ sections.extend(list(map(self._generate_objc_handler_declarations_for_domain, domains))) + sections.append(Template(ObjCTemplates.BackendDispatcherHeaderPostlude).substitute(None, **header_args)) + return '\n\n'.join(sections) + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py +index 42afd99cf..d35d3f14a 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py +@@ -30,11 +30,11 @@ import string + import re + from string import Template + +-from cpp_generator import CppGenerator +-from generator import Generator +-from models import PrimitiveType, EnumType, AliasedType, Frameworks +-from objc_generator import ObjCTypeCategory, ObjCGenerator, join_type_and_name +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .cpp_generator import CppGenerator ++from .generator import Generator ++from .models import PrimitiveType, EnumType, AliasedType, Frameworks ++from .objc_generator import ObjCTypeCategory, ObjCGenerator, join_type_and_name ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +@@ -47,7 +47,7 @@ class ObjCConfigurationImplementationGenerator(Generator): + return '%sBackendDispatchers.mm' % ObjCGenerator.OBJC_PREFIX + + def domains_to_generate(self): +- return filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), Generator.domains_to_generate(self)) ++ return list(filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), Generator.domains_to_generate(self))) + + def generate_output(self): + secondary_headers = [ +@@ -65,7 +65,7 @@ class ObjCConfigurationImplementationGenerator(Generator): + sections = [] + sections.append(self.generate_license()) + sections.append(Template(ObjCTemplates.BackendDispatcherImplementationPrelude).substitute(None, **header_args)) +- sections.extend(map(self._generate_handler_implementation_for_domain, domains)) ++ sections.extend(list(map(self._generate_handler_implementation_for_domain, domains))) + sections.append(Template(ObjCTemplates.BackendDispatcherImplementationPostlude).substitute(None, **header_args)) + return '\n\n'.join(sections) + +@@ -112,7 +112,7 @@ class ObjCConfigurationImplementationGenerator(Generator): + if command.return_parameters: + lines.append(' Ref resultObject = InspectorObject::create();') + +- required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters) ++ required_pointer_parameters = [parameter for parameter in command.return_parameters if not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type)] + for parameter in required_pointer_parameters: + var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) + lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(%s, @"%s");' % (var_name, var_name)) +@@ -120,7 +120,7 @@ class ObjCConfigurationImplementationGenerator(Generator): + if objc_array_class and objc_array_class.startswith(ObjCGenerator.OBJC_PREFIX): + lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(%s, [%s class]);' % (var_name, objc_array_class)) + +- optional_pointer_parameters = filter(lambda parameter: parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters) ++ optional_pointer_parameters = [parameter for parameter in command.return_parameters if parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type)] + for parameter in optional_pointer_parameters: + var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) + lines.append(' THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(%s, @"%s");' % (var_name, var_name)) +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py +index 9b93f37f6..00f3860c7 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_header.py +@@ -29,9 +29,9 @@ import logging + import string + from string import Template + +-from generator import Generator +-from objc_generator import ObjCGenerator +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .generator import Generator ++from .objc_generator import ObjCGenerator ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_implementation.py +index 735abbca3..2db503c0b 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_implementation.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_configuration_implementation.py +@@ -29,9 +29,9 @@ import logging + import string + from string import Template + +-from generator import Generator +-from objc_generator import ObjCGenerator +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .generator import Generator ++from .objc_generator import ObjCGenerator ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_conversion_helpers.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_conversion_helpers.py +index c31e991e3..7a23251b1 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_conversion_helpers.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_conversion_helpers.py +@@ -29,10 +29,10 @@ import logging + import string + from string import Template + +-from generator import Generator +-from models import EnumType +-from objc_generator import ObjCGenerator +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .generator import Generator ++from .models import EnumType ++from .objc_generator import ObjCGenerator ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +@@ -51,7 +51,7 @@ class ObjCConversionHelpersGenerator(Generator): + return '%sEnumConversionHelpers.h' % ObjCGenerator.OBJC_PREFIX + + def domains_to_generate(self): +- return filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), Generator.domains_to_generate(self)) ++ return list(filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), Generator.domains_to_generate(self))) + + def generate_output(self): + headers = [ +@@ -67,7 +67,7 @@ class ObjCConversionHelpersGenerator(Generator): + sections.append(self.generate_license()) + sections.append(Template(ObjCTemplates.ConversionHelpersPrelude).substitute(None, **header_args)) + sections.append(Template(ObjCTemplates.ConversionHelpersStandard).substitute(None)) +- sections.extend(map(self._generate_enum_conversion_functions, domains)) ++ sections.extend(list(map(self._generate_enum_conversion_functions, domains))) + sections.append(Template(ObjCTemplates.ConversionHelpersPostlude).substitute(None, **header_args)) + return '\n\n'.join(sections) + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py +index 0030ed5ee..101c09e9f 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py +@@ -29,10 +29,10 @@ import logging + import string + from string import Template + +-from cpp_generator import CppGenerator +-from generator import Generator, ucfirst +-from objc_generator import ObjCGenerator +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .cpp_generator import CppGenerator ++from .generator import Generator, ucfirst ++from .objc_generator import ObjCGenerator ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +@@ -45,7 +45,7 @@ class ObjCFrontendDispatcherImplementationGenerator(Generator): + return '%sEventDispatchers.mm' % ObjCGenerator.OBJC_PREFIX + + def domains_to_generate(self): +- return filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), Generator.domains_to_generate(self)) ++ return list(filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), Generator.domains_to_generate(self))) + + def generate_output(self): + secondary_headers = [ +@@ -62,7 +62,7 @@ class ObjCFrontendDispatcherImplementationGenerator(Generator): + sections = [] + sections.append(self.generate_license()) + sections.append(Template(ObjCTemplates.ImplementationPrelude).substitute(None, **header_args)) +- sections.extend(map(self._generate_event_dispatcher_implementations, domains)) ++ sections.extend(list(map(self._generate_event_dispatcher_implementations, domains))) + sections.append(Template(ObjCTemplates.ImplementationPostlude).substitute(None, **header_args)) + return '\n\n'.join(sections) + +@@ -100,7 +100,7 @@ class ObjCFrontendDispatcherImplementationGenerator(Generator): + lines.append(' const FrontendRouter& router = _controller->frontendRouter();') + lines.append('') + +- required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), event.event_parameters) ++ required_pointer_parameters = [parameter for parameter in event.event_parameters if not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type)] + for parameter in required_pointer_parameters: + var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) + lines.append(' THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(%s, @"%s");' % (var_name, var_name)) +@@ -108,7 +108,7 @@ class ObjCFrontendDispatcherImplementationGenerator(Generator): + if objc_array_class and objc_array_class.startswith(ObjCGenerator.OBJC_PREFIX): + lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE_IN_ARRAY(%s, [%s class]);' % (var_name, objc_array_class)) + +- optional_pointer_parameters = filter(lambda parameter: parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), event.event_parameters) ++ optional_pointer_parameters = [parameter for parameter in event.event_parameters if parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type)] + for parameter in optional_pointer_parameters: + var_name = ObjCGenerator.identifier_to_objc_identifier(parameter.parameter_name) + lines.append(' THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(%s, @"%s");' % (var_name, var_name)) +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py +index 7e8e61030..1b0059a7a 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_header.py +@@ -29,10 +29,10 @@ import logging + import string + from string import Template + +-from generator import Generator, ucfirst +-from models import ObjectType, EnumType +-from objc_generator import ObjCGenerator, join_type_and_name +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .generator import Generator, ucfirst ++from .models import ObjectType, EnumType ++from .objc_generator import ObjCGenerator, join_type_and_name ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +@@ -60,9 +60,9 @@ class ObjCHeaderGenerator(Generator): + } + + domains = self.domains_to_generate() +- type_domains = filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), domains) +- command_domains = filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), domains) +- event_domains = filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), domains) ++ type_domains = list(filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), domains)) ++ command_domains = list(filter(ObjCGenerator.should_generate_domain_command_handler_filter(self.model()), domains)) ++ event_domains = list(filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), domains)) + + # FIXME: Web Inspector: Reduce unnecessary enums/types generated in ObjC Protocol Interfaces + # Currently we generate enums/types for all types in the type_domains. For the built-in +@@ -72,11 +72,11 @@ class ObjCHeaderGenerator(Generator): + sections = [] + sections.append(self.generate_license()) + sections.append(Template(ObjCTemplates.HeaderPrelude).substitute(None, **header_args)) +- sections.append('\n'.join(filter(None, map(self._generate_forward_declarations, type_domains)))) +- sections.append('\n'.join(filter(None, map(self._generate_enums, type_domains)))) +- sections.append('\n'.join(filter(None, map(self._generate_types, type_domains)))) +- sections.append('\n\n'.join(filter(None, map(self._generate_command_protocols, command_domains)))) +- sections.append('\n\n'.join(filter(None, map(self._generate_event_interfaces, event_domains)))) ++ sections.append('\n'.join([_f for _f in map(self._generate_forward_declarations, type_domains) if _f])) ++ sections.append('\n'.join([_f for _f in map(self._generate_enums, type_domains) if _f])) ++ sections.append('\n'.join([_f for _f in map(self._generate_types, type_domains) if _f])) ++ sections.append('\n\n'.join([_f for _f in map(self._generate_command_protocols, command_domains) if _f])) ++ sections.append('\n\n'.join([_f for _f in map(self._generate_event_interfaces, event_domains) if _f])) + sections.append(Template(ObjCTemplates.HeaderPostlude).substitute(None)) + return '\n\n'.join(sections) + +@@ -156,8 +156,8 @@ class ObjCHeaderGenerator(Generator): + objc_name = ObjCGenerator.objc_name_for_type(declaration.type) + lines.append('__attribute__((visibility ("default")))') + lines.append('@interface %s : %s' % (objc_name, ObjCGenerator.OBJC_JSON_OBJECT_BASE)) +- required_members = filter(lambda member: not member.is_optional, declaration.type_members) +- optional_members = filter(lambda member: member.is_optional, declaration.type_members) ++ required_members = [member for member in declaration.type_members if not member.is_optional] ++ optional_members = [member for member in declaration.type_members if member.is_optional] + if required_members: + lines.append(self._generate_init_method_for_required_members(domain, declaration, required_members)) + for member in required_members: +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py +index 40802ff17..f21b16222 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_internal_header.py +@@ -29,9 +29,9 @@ import logging + import string + from string import Template + +-from generator import Generator, ucfirst +-from objc_generator import ObjCGenerator +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .generator import Generator, ucfirst ++from .objc_generator import ObjCGenerator ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +@@ -56,12 +56,12 @@ class ObjCInternalHeaderGenerator(Generator): + } + + domains = self.domains_to_generate() +- event_domains = filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), domains) ++ event_domains = list(filter(ObjCGenerator.should_generate_domain_event_dispatcher_filter(self.model()), domains)) + + sections = [] + sections.append(self.generate_license()) + sections.append(Template(ObjCTemplates.GenericHeaderPrelude).substitute(None, **header_args)) +- sections.append('\n\n'.join(filter(None, map(self._generate_event_dispatcher_private_interfaces, event_domains)))) ++ sections.append('\n\n'.join([_f for _f in map(self._generate_event_dispatcher_private_interfaces, event_domains) if _f])) + sections.append(Template(ObjCTemplates.GenericHeaderPostlude).substitute(None, **header_args)) + return '\n\n'.join(sections) + +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py +index 95b57f671..8a6aac035 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py +@@ -29,10 +29,10 @@ import logging + import string + from string import Template + +-from generator import Generator, ucfirst +-from models import ObjectType +-from objc_generator import ObjCGenerator +-from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates ++from .generator import Generator, ucfirst ++from .models import ObjectType ++from .objc_generator import ObjCGenerator ++from .objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates + + log = logging.getLogger('global') + +@@ -51,7 +51,7 @@ class ObjCProtocolTypesImplementationGenerator(Generator): + return '%sTypes.mm' % ObjCGenerator.OBJC_PREFIX + + def domains_to_generate(self): +- return filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), Generator.domains_to_generate(self)) ++ return list(filter(ObjCGenerator.should_generate_domain_types_filter(self.model()), Generator.domains_to_generate(self))) + + def generate_output(self): + secondary_headers = [ +@@ -69,7 +69,7 @@ class ObjCProtocolTypesImplementationGenerator(Generator): + sections = [] + sections.append(self.generate_license()) + sections.append(Template(ObjCTemplates.ImplementationPrelude).substitute(None, **header_args)) +- sections.extend(map(self.generate_type_implementations, domains)) ++ sections.extend(list(map(self.generate_type_implementations, domains))) + sections.append(Template(ObjCTemplates.ImplementationPostlude).substitute(None, **header_args)) + return '\n\n'.join(sections) + +@@ -84,7 +84,7 @@ class ObjCProtocolTypesImplementationGenerator(Generator): + def generate_type_implementation(self, domain, declaration): + lines = [] + lines.append('@implementation %s' % ObjCGenerator.objc_name_for_type(declaration.type)) +- required_members = filter(lambda member: not member.is_optional, declaration.type_members) ++ required_members = [member for member in declaration.type_members if not member.is_optional] + if required_members: + lines.append('') + lines.append(self._generate_init_method_for_required_members(domain, declaration, required_members)) +@@ -112,7 +112,7 @@ class ObjCProtocolTypesImplementationGenerator(Generator): + lines.append(' return nil;') + lines.append('') + +- required_pointer_members = filter(lambda member: ObjCGenerator.is_type_objc_pointer_type(member.type), required_members) ++ required_pointer_members = [member for member in required_members if ObjCGenerator.is_type_objc_pointer_type(member.type)] + if required_pointer_members: + for member in required_pointer_members: + var_name = ObjCGenerator.identifier_to_objc_identifier(member.member_name) +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generator.py b/Source/JavaScriptCore/inspector/scripts/codegen/generator.py +index 4c8f1998e..0ed011136 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/generator.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/generator.py +@@ -29,8 +29,8 @@ import os.path + import re + from string import Template + +-from generator_templates import GeneratorTemplates as Templates +-from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks ++from .generator_templates import GeneratorTemplates as Templates ++from .models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks + + log = logging.getLogger('global') + +@@ -87,7 +87,7 @@ class Generator: + + # These methods are overridden by subclasses. + def non_supplemental_domains(self): +- return filter(lambda domain: not domain.is_supplemental, self.model().domains) ++ return [domain for domain in self.model().domains if not domain.is_supplemental] + + def domains_to_generate(self): + return self.non_supplemental_domains() +@@ -129,7 +129,7 @@ class Generator: + # set of types will not be automatically regenerated on subsequent calls to + # Generator.types_needing_shape_assertions(). + def calculate_types_requiring_shape_assertions(self, domains): +- domain_names = map(lambda domain: domain.domain_name, domains) ++ domain_names = [domain.domain_name for domain in domains] + log.debug("> Calculating types that need shape assertions (eligible domains: %s)" % ", ".join(domain_names)) + + # Mutates the passed-in set; this simplifies checks to prevent infinite recursion. +@@ -185,7 +185,7 @@ class Generator: + for _type in all_types: + if not isinstance(_type, EnumType): + continue +- map(self._assign_encoding_for_enum_value, _type.enum_values()) ++ list(map(self._assign_encoding_for_enum_value, _type.enum_values())) + + def _assign_encoding_for_enum_value(self, enum_value): + if enum_value in self._enum_value_encodings: +@@ -219,7 +219,7 @@ class Generator: + return match.group(1).upper() + + # Split on hyphen, introduce camelcase, and force uppercasing of acronyms. +- subwords = map(ucfirst, enum_value.split('-')) ++ subwords = list(map(ucfirst, enum_value.split('-'))) + return re.sub(re.compile(regex, re.IGNORECASE), replaceCallback, "".join(subwords)) + + @staticmethod +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/models.py b/Source/JavaScriptCore/inspector/scripts/codegen/models.py +index ec16a1291..426ab4b2b 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/models.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/models.py +@@ -35,7 +35,7 @@ def ucfirst(str): + + + def find_duplicates(l): +- return [key for key, count in collections.Counter(l).items() if count > 1] ++ return [key for key, count in list(collections.Counter(l).items()) if count > 1] + + + _FRAMEWORK_CONFIG_MAP = { +diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py b/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py +index f6dd03cb5..00015dc2b 100755 +--- a/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py ++++ b/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator.py +@@ -24,8 +24,8 @@ + # THE POSSIBILITY OF SUCH DAMAGE. + + import logging +-from generator import Generator, ucfirst +-from models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks ++from .generator import Generator, ucfirst ++from .models import PrimitiveType, ObjectType, ArrayType, EnumType, AliasedType, Frameworks + + log = logging.getLogger('global') + +@@ -50,7 +50,7 @@ _OBJC_IDENTIFIER_RENAME_MAP = { + 'id': 'identifier', # Page.Frame.id, Runtime.ExecutionContextDescription.id, Debugger.BreakpointAction.id + } + +-_OBJC_IDENTIFIER_REVERSE_RENAME_MAP = dict((v, k) for k, v in _OBJC_IDENTIFIER_RENAME_MAP.iteritems()) ++_OBJC_IDENTIFIER_REVERSE_RENAME_MAP = dict((v, k) for k, v in list(_OBJC_IDENTIFIER_RENAME_MAP.items())) + + + class ObjCTypeCategory: +@@ -62,11 +62,11 @@ class ObjCTypeCategory: + @staticmethod + def category_for_type(_type): + if (isinstance(_type, PrimitiveType)): +- if _type.raw_name() is 'string': ++ if _type.raw_name() == 'string': + return ObjCTypeCategory.String + if _type.raw_name() in ['object', 'any']: + return ObjCTypeCategory.Object +- if _type.raw_name() is 'array': ++ if _type.raw_name() == 'array': + return ObjCTypeCategory.Array + return ObjCTypeCategory.Simple + if (isinstance(_type, ObjectType)): +@@ -192,15 +192,15 @@ class ObjCGenerator: + + @staticmethod + def objc_type_for_raw_name(raw_name): +- if raw_name is 'string': ++ if raw_name == 'string': + return 'NSString *' +- if raw_name is 'array': ++ if raw_name == 'array': + return 'NSArray *' +- if raw_name is 'integer': ++ if raw_name == 'integer': + return 'int' +- if raw_name is 'number': ++ if raw_name == 'number': + return 'double' +- if raw_name is 'boolean': ++ if raw_name == 'boolean': + return 'BOOL' + if raw_name in ['any', 'object']: + return '%s *' % ObjCGenerator.OBJC_JSON_OBJECT_BASE +@@ -208,9 +208,9 @@ class ObjCGenerator: + + @staticmethod + def objc_class_for_raw_name(raw_name): +- if raw_name is 'string': ++ if raw_name == 'string': + return 'NSString' +- if raw_name is 'array': ++ if raw_name == 'array': + return 'NSArray' + if raw_name in ['integer', 'number', 'boolean']: + return 'NSNumber' +@@ -222,13 +222,13 @@ class ObjCGenerator: + + @staticmethod + def protocol_type_for_raw_name(raw_name): +- if raw_name is 'string': ++ if raw_name == 'string': + return 'String' +- if raw_name is 'integer': ++ if raw_name == 'integer': + return 'int' +- if raw_name is 'number': ++ if raw_name == 'number': + return 'double' +- if raw_name is 'boolean': ++ if raw_name == 'boolean': + return 'bool' + if raw_name in ['any', 'object']: + return 'InspectorObject' +@@ -370,11 +370,11 @@ class ObjCGenerator: + objc_class = ObjCGenerator.objc_class_for_type(var_type.element_type) + if protocol_type == 'Inspector::Protocol::Array': + return 'inspectorStringArrayArray(%s)' % var_name +- if protocol_type is 'String' and objc_class is 'NSString': ++ if protocol_type == 'String' and objc_class == 'NSString': + return 'inspectorStringArray(%s)' % var_name +- if protocol_type is 'int' and objc_class is 'NSNumber': ++ if protocol_type == 'int' and objc_class == 'NSNumber': + return 'inspectorIntegerArray(%s)' % var_name +- if protocol_type is 'double' and objc_class is 'NSNumber': ++ if protocol_type == 'double' and objc_class == 'NSNumber': + return 'inspectorDoubleArray(%s)' % var_name + return 'inspectorObjectArray(%s)' % var_name + +@@ -404,9 +404,9 @@ class ObjCGenerator: + return '[[[%s alloc] initWithInspectorObject:%s] autorelease]' % (objc_class, var_name) + if category is ObjCTypeCategory.Array: + objc_class = ObjCGenerator.objc_class_for_type(var_type.element_type) +- if objc_class is 'NSString': ++ if objc_class == 'NSString': + return 'objcStringArray(%s)' % var_name +- if objc_class is 'NSNumber': # FIXME: Integer or Double? ++ if objc_class == 'NSNumber': # FIXME: Integer or Double? + return 'objcIntegerArray(%s)' % var_name + return 'objcArray<%s>(%s)' % (objc_class, var_name) + +@@ -425,11 +425,11 @@ class ObjCGenerator: + return sub_expression + if category is ObjCTypeCategory.Array: + objc_class = ObjCGenerator.objc_class_for_type(member.type.element_type) +- if objc_class is 'NSString': ++ if objc_class == 'NSString': + return 'inspectorStringArray(%s)' % sub_expression +- if objc_class is 'NSNumber': ++ if objc_class == 'NSNumber': + protocol_type = ObjCGenerator.protocol_type_for_type(member.type.element_type) +- if protocol_type is 'double': ++ if protocol_type == 'double': + return 'inspectorDoubleArray(%s)' % sub_expression + return 'inspectorIntegerArray(%s)' % sub_expression + return 'inspectorObjectArray(%s)' % sub_expression +@@ -449,11 +449,11 @@ class ObjCGenerator: + if category is ObjCTypeCategory.Array: + protocol_type = ObjCGenerator.protocol_type_for_type(member.type.element_type) + objc_class = ObjCGenerator.objc_class_for_type(member.type.element_type) +- if objc_class is 'NSString': ++ if objc_class == 'NSString': + return 'objcStringArray(%s)' % sub_expression +- if objc_class is 'NSNumber': ++ if objc_class == 'NSNumber': + protocol_type = ObjCGenerator.protocol_type_for_type(member.type.element_type) +- if protocol_type is 'double': ++ if protocol_type == 'double': + return 'objcDoubleArray(%s)' % sub_expression + return 'objcIntegerArray(%s)' % sub_expression + return 'objcArray<%s>(%s)' % (objc_class, sub_expression) +@@ -470,17 +470,17 @@ class ObjCGenerator: + _type = _type.aliased_type + if (isinstance(_type, PrimitiveType)): + raw_name = _type.raw_name() +- if raw_name is 'boolean': ++ if raw_name == 'boolean': + return 'setBool' +- if raw_name is 'integer': ++ if raw_name == 'integer': + return 'setInteger' +- if raw_name is 'number': ++ if raw_name == 'number': + return 'setDouble' +- if raw_name is 'string': ++ if raw_name == 'string': + return 'setString' + if raw_name in ['any', 'object']: + return 'setObject' +- if raw_name is 'array': ++ if raw_name == 'array': + return 'setInspectorArray' + return None + if (isinstance(_type, EnumType)): +@@ -501,17 +501,17 @@ class ObjCGenerator: + _type = _type.aliased_type + if (isinstance(_type, PrimitiveType)): + raw_name = _type.raw_name() +- if raw_name is 'boolean': ++ if raw_name == 'boolean': + return 'boolForKey' +- if raw_name is 'integer': ++ if raw_name == 'integer': + return 'integerForKey' +- if raw_name is 'number': ++ if raw_name == 'number': + return 'doubleForKey' +- if raw_name is 'string': ++ if raw_name == 'string': + return 'stringForKey' + if raw_name in ['any', 'object']: + return 'objectForKey' +- if raw_name is 'array': ++ if raw_name == 'array': + return 'inspectorArrayForKey' + return None + if (isinstance(_type, EnumType)): +diff --git a/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py b/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py +index a1987aa90..86cbd4934 100755 +--- a/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py ++++ b/Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py +@@ -48,7 +48,7 @@ try: + + # When copying generator files to JavaScriptCore's private headers on Mac, + # the codegen/ module directory is flattened. So, import directly. +-except ImportError, e: ++except ImportError as e: + # log.error(e) # Uncomment this to debug early import errors. + import models + from models import * +diff --git a/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py b/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py +index de32ef6c4..18fff7167 100644 +--- a/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py ++++ b/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py +@@ -410,7 +410,7 @@ class InputsModel: + self.inputs_by_name = {} + + def enum_types(self): +- _enums = filter(lambda x: x.is_enum() or x.is_enum_class(), self.types) ++ _enums = [x for x in self.types if x.is_enum() or x.is_enum_class()] + return sorted(_enums, key=lambda _enum: _enum.type_name()) + + def get_type_for_member(self, member): +@@ -424,7 +424,7 @@ class InputsModel: + if not isinstance(json['types'], dict): + raise ParseException("Malformed specification: types is not a dict of framework->type list") + +- for framework_name, type_list in json['types'].iteritems(): ++ for framework_name, type_list in json['types'].items(): + if not isinstance(type_list, list): + raise ParseException("Malformed specification: type list for framework %s is not a list" % framework_name) + +@@ -436,7 +436,7 @@ class InputsModel: + if not isinstance(json['inputs'], dict): + raise ParseException("Malformed specification: inputs is not a dict of framework->input list") + +- for framework_name, input_list in json['inputs'].iteritems(): ++ for framework_name, input_list in json['inputs'].items(): + if not isinstance(input_list, list): + raise ParseException("Malformed specification: input list for framework %s is not a list" % framework_name) + +@@ -597,8 +597,8 @@ class Generator: + implementation_file.close() + + def generate_header(self): +- enums_to_generate = filter(self.should_generate_item, self._model.enum_types()) +- inputs_to_generate = filter(self.should_generate_item, self._model.inputs) ++ enums_to_generate = list(filter(self.should_generate_item, self._model.enum_types())) ++ inputs_to_generate = list(filter(self.should_generate_item, self._model.inputs)) + + template_arguments = { + 'licenseBlock': self.generate_license(), +@@ -620,8 +620,8 @@ class Generator: + return Template(Templates.HeaderSkeleton).substitute(template_arguments) + + def generate_implementation(self): +- enums_to_generate = filter(self.should_generate_item, self._model.enum_types()) +- inputs_to_generate = filter(self.should_generate_item, self._model.inputs) ++ enums_to_generate = list(filter(self.should_generate_item, self._model.enum_types())) ++ inputs_to_generate = list(filter(self.should_generate_item, self._model.inputs)) + + template_arguments = { + 'licenseBlock': self.generate_license(), +@@ -680,7 +680,7 @@ class Generator: + lines = [] + + decls_by_framework = {} +- frameworks = [Framework.fromString(s) for s in FRAMEWORK_CONFIG_MAP.keys() if s != Frameworks.Global.name] ++ frameworks = [Framework.fromString(s) for s in list(FRAMEWORK_CONFIG_MAP.keys()) if s != Frameworks.Global.name] + for framework in frameworks: + decls_by_framework[framework] = [] + +@@ -808,7 +808,7 @@ class Generator: + return Template(template).substitute(template_arguments) + + def generate_for_each_macro(self): +- inputs_to_generate = filter(self.should_generate_item, self._model.inputs) ++ inputs_to_generate = list(filter(self.should_generate_item, self._model.inputs)) + + macro_name = "%s_REPLAY_INPUT_NAMES_FOR_EACH" % self.setting('prefix').upper() + lines = [] +@@ -858,7 +858,7 @@ class Generator: + } + encodeLines.append(Template(encode_template).substitute(template_arguments)) + +- for guard, guard_values in _type.guard_values_map.iteritems(): ++ for guard, guard_values in _type.guard_values_map.items(): + guardedLines = [] + for guard_value in guard_values: + template_arguments = { +@@ -880,7 +880,7 @@ class Generator: + } + decodeLines.append(Template(decode_template).substitute(template_arguments)) + +- for guard, guard_values in _type.guard_values_map.iteritems(): ++ for guard, guard_values in _type.guard_values_map.items(): + guardedLines = [] + for i, guard_value in enumerate(guard_values): + template_arguments = { +@@ -999,7 +999,7 @@ def generate_from_specifications(input_filepaths=[], output_prefix="", output_di + except ValueError as e: + raise Exception("Error parsing valid JSON in file: " + input_filepath) + +- specifications = map(parse_json_from_file, input_filepaths) ++ specifications = list(map(parse_json_from_file, input_filepaths)) + + model = InputsModel() + for spec in specifications: +@@ -1012,7 +1012,7 @@ def generate_from_specifications(input_filepaths=[], output_prefix="", output_di + + + if __name__ == '__main__': +- allowed_framework_names = FRAMEWORK_CONFIG_MAP.keys() ++ allowed_framework_names = list(FRAMEWORK_CONFIG_MAP.keys()) + + cli_parser = optparse.OptionParser(usage="usage: %prog [options] [, ]") + cli_parser.add_option("-o", "--outputDir", help="Directory where generated files should be written.") +diff --git a/Source/ThirdParty/ANGLE/generate_winrt_projects.py b/Source/ThirdParty/ANGLE/generate_winrt_projects.py +index e0e517772..5e18782c1 100644 +--- a/Source/ThirdParty/ANGLE/generate_winrt_projects.py ++++ b/Source/ThirdParty/ANGLE/generate_winrt_projects.py +@@ -30,8 +30,8 @@ def generateProjects(generation_dir, build_winphone): + gyp_cmd += ' -D angle_standalone=1' + gyp_cmd += ' ' + os.path.join(script_dir, 'angle.gyp') + +- print 'Generating projects to ' + generation_dir + ' from gyp files...' +- print gyp_cmd ++ print('Generating projects to ' + generation_dir + ' from gyp files...') ++ print(gyp_cmd) + sys.stdout.flush() + os.system(gyp_cmd) + +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Float16ToFloat32.py b/Source/ThirdParty/ANGLE/src/libANGLE/Float16ToFloat32.py +index cf039bfc2..951aa146e 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/Float16ToFloat32.py ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/Float16ToFloat32.py +@@ -42,7 +42,7 @@ def convertOffset(i): + else: + return 1024 + +-print """// ++print("""// + // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. +@@ -52,27 +52,27 @@ print """// + + namespace gl + { +-""" ++""") + +-print "const static unsigned g_mantissa[2048] = {" ++print("const static unsigned g_mantissa[2048] = {") + for i in range(0, 2048): +- print " %#010x," % convertMantissa(i) +-print "};\n" ++ print(" %#010x," % convertMantissa(i)) ++print("};\n") + +-print "const static unsigned g_exponent[64] = {" ++print("const static unsigned g_exponent[64] = {") + for i in range(0, 64): +- print " %#010x," % convertExponent(i) +-print "};\n" ++ print(" %#010x," % convertExponent(i)) ++print("};\n") + +-print "const static unsigned g_offset[64] = {" ++print("const static unsigned g_offset[64] = {") + for i in range(0, 64): +- print " %#010x," % convertOffset(i) +-print "};\n" ++ print(" %#010x," % convertOffset(i)) ++print("};\n") + +-print """float float16ToFloat32(unsigned short h) ++print("""float float16ToFloat32(unsigned short h) + { + unsigned i32 = g_mantissa[g_offset[h >> 10] + (h & 0x3ff)] + g_exponent[h >> 10]; + return *(float*) &i32; + } + } +-""" ++""") +diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py +index 5d64fbd23..e0be48b55 100644 +--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py ++++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/generate_new_renderer.py +@@ -21,7 +21,7 @@ import re + import string + + if len(sys.argv) < 3: +- print('Usage: ' + sys.argv[0] + ' ') ++ print(('Usage: ' + sys.argv[0] + ' ')) + + renderer_name = sys.argv[1] + renderer_suffix = sys.argv[2] +diff --git a/Source/ThirdParty/gtest/scripts/fuse_gtest_files.py b/Source/ThirdParty/gtest/scripts/fuse_gtest_files.py +index 148444ca7..333d55590 100755 +--- a/Source/ThirdParty/gtest/scripts/fuse_gtest_files.py ++++ b/Source/ThirdParty/gtest/scripts/fuse_gtest_files.py +@@ -90,8 +90,8 @@ def VerifyFileExists(directory, relative_path): + """ + + if not os.path.isfile(os.path.join(directory, relative_path)): +- print 'ERROR: Cannot find %s in directory %s.' % (relative_path, +- directory) ++ print('ERROR: Cannot find %s in directory %s.' % (relative_path, ++ directory)) + print ('Please either specify a valid project root directory ' + 'or omit it on the command line.') + sys.exit(1) +@@ -119,11 +119,11 @@ def VerifyOutputFile(output_dir, relative_path): + # TODO(wan@google.com): The following user-interaction doesn't + # work with automated processes. We should provide a way for the + # Makefile to force overwriting the files. +- print ('%s already exists in directory %s - overwrite it? (y/N) ' % +- (relative_path, output_dir)) ++ print(('%s already exists in directory %s - overwrite it? (y/N) ' % ++ (relative_path, output_dir))) + answer = sys.stdin.readline().strip() + if answer not in ['y', 'Y']: +- print 'ABORTED.' ++ print('ABORTED.') + sys.exit(1) + + # Makes sure the directory holding the output file exists; creates +@@ -242,7 +242,7 @@ def main(): + # fuse_gtest_files.py GTEST_ROOT_DIR OUTPUT_DIR + FuseGTest(sys.argv[1], sys.argv[2]) + else: +- print __doc__ ++ print(__doc__) + sys.exit(1) + + +diff --git a/Source/ThirdParty/gtest/scripts/gen_gtest_pred_impl.py b/Source/ThirdParty/gtest/scripts/gen_gtest_pred_impl.py +index 8307134ad..748bcfeb4 100755 +--- a/Source/ThirdParty/gtest/scripts/gen_gtest_pred_impl.py ++++ b/Source/ThirdParty/gtest/scripts/gen_gtest_pred_impl.py +@@ -183,7 +183,7 @@ def Title(word): + def OneTo(n): + """Returns the list [1, 2, 3, ..., n].""" + +- return range(1, n + 1) ++ return list(range(1, n + 1)) + + + def Iter(n, format, sep=''): +@@ -305,13 +305,13 @@ def GenerateFile(path, content): + """Given a file path and a content string, overwrites it with the + given content.""" + +- print 'Updating file %s . . .' % path ++ print('Updating file %s . . .' % path) + + f = file(path, 'w+') +- print >>f, content, ++ print(content, end=' ', file=f) + f.close() + +- print 'File %s has been updated.' % path ++ print('File %s has been updated.' % path) + + + def GenerateHeader(n): +@@ -720,8 +720,8 @@ def _Main(): + unit test.""" + + if len(sys.argv) != 2: +- print __doc__ +- print 'Author: ' + __author__ ++ print(__doc__) ++ print('Author: ' + __author__) + sys.exit(1) + + n = int(sys.argv[1]) +diff --git a/Source/ThirdParty/gtest/scripts/pump.py b/Source/ThirdParty/gtest/scripts/pump.py +index f15c1b6ce..92b70ecec 100755 +--- a/Source/ThirdParty/gtest/scripts/pump.py ++++ b/Source/ThirdParty/gtest/scripts/pump.py +@@ -236,7 +236,7 @@ def ParseToken(lines, pos, regex, token_type): + if m and not m.start(): + return MakeToken(lines, pos, pos + m.end(), token_type) + else: +- print 'ERROR: %s expected at %s.' % (token_type, pos) ++ print('ERROR: %s expected at %s.' % (token_type, pos)) + sys.exit(1) + + +@@ -263,8 +263,8 @@ def SkipUntil(lines, pos, regex, token_type): + if m: + return pos + m.start() + else: +- print ('ERROR: %s expected on line %s after column %s.' % +- (token_type, pos.line + 1, pos.column)) ++ print(('ERROR: %s expected on line %s after column %s.' % ++ (token_type, pos.line + 1, pos.column))) + sys.exit(1) + + +@@ -444,8 +444,8 @@ def PushFront(a_list, elem): + def PopToken(a_list, token_type=None): + token = PopFront(a_list) + if token_type is not None and token.token_type != token_type: +- print 'ERROR: %s expected at %s' % (token_type, token.start) +- print 'ERROR: %s found instead' % (token,) ++ print('ERROR: %s expected at %s' % (token_type, token.start)) ++ print('ERROR: %s found instead' % (token,)) + sys.exit(1) + + return token +@@ -609,16 +609,16 @@ class Env: + if identifier == var: + return value + +- print 'ERROR: meta variable %s is undefined.' % (identifier,) ++ print('ERROR: meta variable %s is undefined.' % (identifier,)) + sys.exit(1) + + def EvalExp(self, exp): + try: + result = eval(exp.python_exp) +- except Exception, e: +- print 'ERROR: caught exception %s: %s' % (e.__class__.__name__, e) +- print ('ERROR: failed to evaluate meta expression %s at %s' % +- (exp.python_exp, exp.token.start)) ++ except Exception as e: ++ print('ERROR: caught exception %s: %s' % (e.__class__.__name__, e)) ++ print(('ERROR: failed to evaluate meta expression %s at %s' % ++ (exp.python_exp, exp.token.start))) + sys.exit(1) + return result + +@@ -627,7 +627,7 @@ class Env: + if identifier == var: + return (lower, upper) + +- print 'ERROR: range %s is undefined.' % (identifier,) ++ print('ERROR: range %s is undefined.' % (identifier,)) + sys.exit(1) + + +@@ -687,8 +687,8 @@ def RunAtomicCode(env, node, output): + elif isinstance(node, CodeNode): + RunCode(env.Clone(), node, output) + else: +- print 'BAD' +- print node ++ print('BAD') ++ print(node) + sys.exit(1) + + +@@ -807,7 +807,7 @@ def BeautifyCode(string): + + def main(argv): + if len(argv) == 1: +- print __doc__ ++ print(__doc__) + sys.exit(1) + + file_path = argv[-1] +@@ -820,7 +820,7 @@ def main(argv): + else: + output_file_path = '-' + if output_file_path == '-': +- print output_str, ++ print(output_str, end=' ') + else: + output_file = file(output_file_path, 'w') + output_file.write('// This file was GENERATED by command:\n') +diff --git a/Source/ThirdParty/gtest/scripts/upload.py b/Source/ThirdParty/gtest/scripts/upload.py +index 6e6f9a147..4890ea16d 100755 +--- a/Source/ThirdParty/gtest/scripts/upload.py ++++ b/Source/ThirdParty/gtest/scripts/upload.py +@@ -31,7 +31,7 @@ against by using the '--rev' option. + # This code is derived from appcfg.py in the App Engine SDK (open source), + # and from ASPN recipe #146306. + +-import cookielib ++import http.cookiejar + import getpass + import logging + import md5 +@@ -42,9 +42,9 @@ import re + import socket + import subprocess + import sys +-import urllib +-import urllib2 +-import urlparse ++import urllib.request, urllib.parse, urllib.error ++import urllib.request, urllib.error, urllib.parse ++import urllib.parse + + try: + import readline +@@ -79,15 +79,15 @@ def GetEmail(prompt): + last_email = last_email_file.readline().strip("\n") + last_email_file.close() + prompt += " [%s]" % last_email +- except IOError, e: ++ except IOError as e: + pass +- email = raw_input(prompt + ": ").strip() ++ email = input(prompt + ": ").strip() + if email: + try: + last_email_file = open(last_email_file_name, "w") + last_email_file.write(email) + last_email_file.close() +- except IOError, e: ++ except IOError as e: + pass + else: + email = last_email +@@ -103,20 +103,20 @@ def StatusUpdate(msg): + msg: The string to print. + """ + if verbosity > 0: +- print msg ++ print(msg) + + + def ErrorExit(msg): + """Print an error message to stderr and exit.""" +- print >>sys.stderr, msg ++ print(msg, file=sys.stderr) + sys.exit(1) + + +-class ClientLoginError(urllib2.HTTPError): ++class ClientLoginError(urllib.error.HTTPError): + """Raised to indicate there was an error authenticating with ClientLogin.""" + + def __init__(self, url, code, msg, headers, args): +- urllib2.HTTPError.__init__(self, url, code, msg, headers, None) ++ urllib.error.HTTPError.__init__(self, url, code, msg, headers, None) + self.args = args + self.reason = args["Error"] + +@@ -162,10 +162,10 @@ class AbstractRpcServer(object): + def _CreateRequest(self, url, data=None): + """Creates a new urllib request.""" + logging.debug("Creating request for: '%s' with payload:\n%s", url, data) +- req = urllib2.Request(url, data=data) ++ req = urllib.request.Request(url, data=data) + if self.host_override: + req.add_header("Host", self.host_override) +- for key, value in self.extra_headers.iteritems(): ++ for key, value in self.extra_headers.items(): + req.add_header(key, value) + return req + +@@ -189,7 +189,7 @@ class AbstractRpcServer(object): + account_type = "HOSTED" + req = self._CreateRequest( + url="https://www.google.com/accounts/ClientLogin", +- data=urllib.urlencode({ ++ data=urllib.parse.urlencode({ + "Email": email, + "Passwd": password, + "service": "ah", +@@ -203,7 +203,7 @@ class AbstractRpcServer(object): + response_dict = dict(x.split("=") + for x in response_body.split("\n") if x) + return response_dict["Auth"] +- except urllib2.HTTPError, e: ++ except urllib.error.HTTPError as e: + if e.code == 403: + body = e.read() + response_dict = dict(x.split("=", 1) for x in body.split("\n") if x) +@@ -225,14 +225,14 @@ class AbstractRpcServer(object): + continue_location = "http://localhost/" + args = {"continue": continue_location, "auth": auth_token} + req = self._CreateRequest("http://%s/_ah/login?%s" % +- (self.host, urllib.urlencode(args))) ++ (self.host, urllib.parse.urlencode(args))) + try: + response = self.opener.open(req) +- except urllib2.HTTPError, e: ++ except urllib.error.HTTPError as e: + response = e + if (response.code != 302 or + response.info()["location"] != continue_location): +- raise urllib2.HTTPError(req.get_full_url(), response.code, response.msg, ++ raise urllib.error.HTTPError(req.get_full_url(), response.code, response.msg, + response.headers, response.fp) + self.authenticated = True + +@@ -255,34 +255,34 @@ class AbstractRpcServer(object): + credentials = self.auth_function() + try: + auth_token = self._GetAuthToken(credentials[0], credentials[1]) +- except ClientLoginError, e: ++ except ClientLoginError as e: + if e.reason == "BadAuthentication": +- print >>sys.stderr, "Invalid username or password." ++ print("Invalid username or password.", file=sys.stderr) + continue + if e.reason == "CaptchaRequired": +- print >>sys.stderr, ( ++ print(( + "Please go to\n" + "https://www.google.com/accounts/DisplayUnlockCaptcha\n" +- "and verify you are a human. Then try again.") ++ "and verify you are a human. Then try again."), file=sys.stderr) + break + if e.reason == "NotVerified": +- print >>sys.stderr, "Account not verified." ++ print("Account not verified.", file=sys.stderr) + break + if e.reason == "TermsNotAgreed": +- print >>sys.stderr, "User has not agreed to TOS." ++ print("User has not agreed to TOS.", file=sys.stderr) + break + if e.reason == "AccountDeleted": +- print >>sys.stderr, "The user account has been deleted." ++ print("The user account has been deleted.", file=sys.stderr) + break + if e.reason == "AccountDisabled": +- print >>sys.stderr, "The user account has been disabled." ++ print("The user account has been disabled.", file=sys.stderr) + break + if e.reason == "ServiceDisabled": +- print >>sys.stderr, ("The user's access to the service has been " +- "disabled.") ++ print(("The user's access to the service has been " ++ "disabled."), file=sys.stderr) + break + if e.reason == "ServiceUnavailable": +- print >>sys.stderr, "The service is not available; try again later." ++ print("The service is not available; try again later.", file=sys.stderr) + break + raise + self._GetAuthCookie(auth_token) +@@ -319,7 +319,7 @@ class AbstractRpcServer(object): + args = dict(kwargs) + url = "http://%s%s" % (self.host, request_path) + if args: +- url += "?" + urllib.urlencode(args) ++ url += "?" + urllib.parse.urlencode(args) + req = self._CreateRequest(url=url, data=payload) + req.add_header("Content-Type", content_type) + try: +@@ -327,7 +327,7 @@ class AbstractRpcServer(object): + response = f.read() + f.close() + return response +- except urllib2.HTTPError, e: ++ except urllib.error.HTTPError as e: + if tries > 3: + raise + elif e.code == 401: +@@ -357,35 +357,35 @@ class HttpRpcServer(AbstractRpcServer): + Returns: + A urllib2.OpenerDirector object. + """ +- opener = urllib2.OpenerDirector() +- opener.add_handler(urllib2.ProxyHandler()) +- opener.add_handler(urllib2.UnknownHandler()) +- opener.add_handler(urllib2.HTTPHandler()) +- opener.add_handler(urllib2.HTTPDefaultErrorHandler()) +- opener.add_handler(urllib2.HTTPSHandler()) ++ opener = urllib.request.OpenerDirector() ++ opener.add_handler(urllib.request.ProxyHandler()) ++ opener.add_handler(urllib.request.UnknownHandler()) ++ opener.add_handler(urllib.request.HTTPHandler()) ++ opener.add_handler(urllib.request.HTTPDefaultErrorHandler()) ++ opener.add_handler(urllib.request.HTTPSHandler()) + opener.add_handler(urllib2.HTTPErrorProcessor()) + if self.save_cookies: + self.cookie_file = os.path.expanduser("~/.codereview_upload_cookies") +- self.cookie_jar = cookielib.MozillaCookieJar(self.cookie_file) ++ self.cookie_jar = http.cookiejar.MozillaCookieJar(self.cookie_file) + if os.path.exists(self.cookie_file): + try: + self.cookie_jar.load() + self.authenticated = True + StatusUpdate("Loaded authentication cookies from %s" % + self.cookie_file) +- except (cookielib.LoadError, IOError): ++ except (http.cookiejar.LoadError, IOError): + # Failed to load cookies - just ignore them. + pass + else: + # Create an empty cookie file with mode 600 +- fd = os.open(self.cookie_file, os.O_CREAT, 0600) ++ fd = os.open(self.cookie_file, os.O_CREAT, 0o600) + os.close(fd) + # Always chmod the cookie file +- os.chmod(self.cookie_file, 0600) ++ os.chmod(self.cookie_file, 0o600) + else: + # Don't save cookies across runs of update.py. +- self.cookie_jar = cookielib.CookieJar() +- opener.add_handler(urllib2.HTTPCookieProcessor(self.cookie_jar)) ++ self.cookie_jar = http.cookiejar.CookieJar() ++ opener.add_handler(urllib.request.HTTPCookieProcessor(self.cookie_jar)) + return opener + + +@@ -560,7 +560,7 @@ def RunShellWithReturnCode(command, print_output=False, + line = p.stdout.readline() + if not line: + break +- print line.strip("\n") ++ print(line.strip("\n")) + output_array.append(line) + output = "".join(output_array) + else: +@@ -568,7 +568,7 @@ def RunShellWithReturnCode(command, print_output=False, + p.wait() + errout = p.stderr.read() + if print_output and errout: +- print >>sys.stderr, errout ++ print(errout, file=sys.stderr) + p.stdout.close() + p.stderr.close() + return output, p.returncode +@@ -614,11 +614,11 @@ class VersionControlSystem(object): + """Show an "are you sure?" prompt if there are unknown files.""" + unknown_files = self.GetUnknownFiles() + if unknown_files: +- print "The following files are not added to version control:" ++ print("The following files are not added to version control:") + for line in unknown_files: +- print line ++ print(line) + prompt = "Are you sure to continue?(y/N) " +- answer = raw_input(prompt).strip() ++ answer = input(prompt).strip() + if answer != "y": + ErrorExit("User aborted") + +@@ -670,13 +670,13 @@ class VersionControlSystem(object): + else: + type = "current" + if len(content) > MAX_UPLOAD_SIZE: +- print ("Not uploading the %s file for %s because it's too large." % +- (type, filename)) ++ print(("Not uploading the %s file for %s because it's too large." % ++ (type, filename))) + file_too_large = True + content = "" + checksum = md5.new(content).hexdigest() + if options.verbose > 0 and not file_too_large: +- print "Uploading %s file for %s" % (type, filename) ++ print("Uploading %s file for %s" % (type, filename)) + url = "/%d/upload_content/%d/%d" % (int(issue), int(patchset), file_id) + form_fields = [("filename", filename), + ("status", status), +@@ -698,7 +698,7 @@ class VersionControlSystem(object): + + patches = dict() + [patches.setdefault(v, k) for k, v in patch_list] +- for filename in patches.keys(): ++ for filename in list(patches.keys()): + base_content, new_content, is_binary, status = files[filename] + file_id_str = patches.get(filename) + if file_id_str.find("nobase") != -1: +@@ -755,8 +755,8 @@ class SubversionVCS(VersionControlSystem): + words = line.split() + if len(words) == 2 and words[0] == "URL:": + url = words[1] +- scheme, netloc, path, params, query, fragment = urlparse.urlparse(url) +- username, netloc = urllib.splituser(netloc) ++ scheme, netloc, path, params, query, fragment = urllib.parse.urlparse(url) ++ username, netloc = urllib.parse.splituser(netloc) + if username: + logging.info("Removed username from base URL") + if netloc.endswith("svn.python.org"): +@@ -774,12 +774,12 @@ class SubversionVCS(VersionControlSystem): + logging.info("Guessed CollabNet base = %s", base) + elif netloc.endswith(".googlecode.com"): + path = path + "/" +- base = urlparse.urlunparse(("http", netloc, path, params, ++ base = urllib.parse.urlunparse(("http", netloc, path, params, + query, fragment)) + logging.info("Guessed Google Code base = %s", base) + else: + path = path + "/" +- base = urlparse.urlunparse((scheme, netloc, path, params, ++ base = urllib.parse.urlunparse((scheme, netloc, path, params, + query, fragment)) + logging.info("Guessed base = %s", base) + return base +@@ -1187,8 +1187,8 @@ def UploadSeparatePatches(issue, rpc_server, patchset, data, options): + rv = [] + for patch in patches: + if len(patch[1]) > MAX_UPLOAD_SIZE: +- print ("Not uploading the patch for " + patch[0] + +- " because the file is too large.") ++ print(("Not uploading the patch for " + patch[0] + ++ " because the file is too large.")) + continue + form_fields = [("filename", patch[0])] + if not options.download_base: +@@ -1196,7 +1196,7 @@ def UploadSeparatePatches(issue, rpc_server, patchset, data, options): + files = [("data", "data.diff", patch[1])] + ctype, body = EncodeMultipartFormData(form_fields, files) + url = "/%d/upload_patch/%d" % (int(issue), int(patchset)) +- print "Uploading patch for " + patch[0] ++ print("Uploading patch for " + patch[0]) + response_body = rpc_server.Send(url, body, content_type=ctype) + lines = response_body.splitlines() + if not lines or lines[0] != "OK": +@@ -1223,7 +1223,8 @@ def GuessVCS(options): + out, returncode = RunShellWithReturnCode(["hg", "root"]) + if returncode == 0: + return MercurialVCS(options, out.strip()) +- except OSError, (errno, message): ++ except OSError as xxx_todo_changeme: ++ (errno, message) = xxx_todo_changeme.args + if errno != 2: # ENOENT -- they don't have hg installed. + raise + +@@ -1239,7 +1240,8 @@ def GuessVCS(options): + "--is-inside-work-tree"]) + if returncode == 0: + return GitVCS(options) +- except OSError, (errno, message): ++ except OSError as xxx_todo_changeme1: ++ (errno, message) = xxx_todo_changeme1.args + if errno != 2: # ENOENT -- they don't have git installed. + raise + +@@ -1286,12 +1288,12 @@ def RealMain(argv, data=None): + data = vcs.GenerateDiff(args) + files = vcs.GetBaseFiles(data) + if verbosity >= 1: +- print "Upload server:", options.server, "(change with -s/--server)" ++ print("Upload server:", options.server, "(change with -s/--server)") + if options.issue: + prompt = "Message describing this patch set: " + else: + prompt = "New issue subject: " +- message = options.message or raw_input(prompt).strip() ++ message = options.message or input(prompt).strip() + if not message: + ErrorExit("A non-empty message is required") + rpc_server = GetRpcServer(options) +@@ -1324,7 +1326,7 @@ def RealMain(argv, data=None): + # Send a hash of all the base file so the server can determine if a copy + # already exists in an earlier patchset. + base_hashes = "" +- for file, info in files.iteritems(): ++ for file, info in files.items(): + if not info[0] is None: + checksum = md5.new(info[0]).hexdigest() + if base_hashes: +@@ -1338,7 +1340,7 @@ def RealMain(argv, data=None): + if not options.download_base: + form_fields.append(("content_upload", "1")) + if len(data) > MAX_UPLOAD_SIZE: +- print "Patch is large, so uploading file patches separately." ++ print("Patch is large, so uploading file patches separately.") + uploaded_diff_file = [] + form_fields.append(("separate_patches", "1")) + else: +@@ -1378,7 +1380,7 @@ def main(): + try: + RealMain(sys.argv) + except KeyboardInterrupt: +- print ++ print() + StatusUpdate("Interrupted.") + sys.exit(1) + +diff --git a/Source/ThirdParty/gtest/test/gtest_break_on_failure_unittest.py b/Source/ThirdParty/gtest/test/gtest_break_on_failure_unittest.py +index c81918331..f36abe338 100755 +--- a/Source/ThirdParty/gtest/test/gtest_break_on_failure_unittest.py ++++ b/Source/ThirdParty/gtest/test/gtest_break_on_failure_unittest.py +@@ -145,7 +145,7 @@ class GTestBreakOnFailureUnitTest(gtest_test_utils.TestCase): + msg = ('when %s%s, an assertion failure in "%s" %s cause a seg-fault.' % + (BREAK_ON_FAILURE_ENV_VAR, env_var_value_msg, ' '.join(command), + should_or_not)) +- self.assert_(has_seg_fault == expect_seg_fault, msg) ++ self.assertTrue(has_seg_fault == expect_seg_fault, msg) + + def testDefaultBehavior(self): + """Tests the behavior of the default mode.""" +diff --git a/Source/ThirdParty/gtest/test/gtest_color_test.py b/Source/ThirdParty/gtest/test/gtest_color_test.py +index d02a53ed8..b69ab0947 100755 +--- a/Source/ThirdParty/gtest/test/gtest_color_test.py ++++ b/Source/ThirdParty/gtest/test/gtest_color_test.py +@@ -72,58 +72,58 @@ class GTestColorTest(gtest_test_utils.TestCase): + """Tests the case when there's neither GTEST_COLOR nor --gtest_color.""" + + if not IS_WINDOWS: +- self.assert_(not UsesColor('dumb', None, None)) +- self.assert_(not UsesColor('emacs', None, None)) +- self.assert_(not UsesColor('xterm-mono', None, None)) +- self.assert_(not UsesColor('unknown', None, None)) +- self.assert_(not UsesColor(None, None, None)) +- self.assert_(UsesColor('linux', None, None)) +- self.assert_(UsesColor('cygwin', None, None)) +- self.assert_(UsesColor('xterm', None, None)) +- self.assert_(UsesColor('xterm-color', None, None)) +- self.assert_(UsesColor('xterm-256color', None, None)) ++ self.assertTrue(not UsesColor('dumb', None, None)) ++ self.assertTrue(not UsesColor('emacs', None, None)) ++ self.assertTrue(not UsesColor('xterm-mono', None, None)) ++ self.assertTrue(not UsesColor('unknown', None, None)) ++ self.assertTrue(not UsesColor(None, None, None)) ++ self.assertTrue(UsesColor('linux', None, None)) ++ self.assertTrue(UsesColor('cygwin', None, None)) ++ self.assertTrue(UsesColor('xterm', None, None)) ++ self.assertTrue(UsesColor('xterm-color', None, None)) ++ self.assertTrue(UsesColor('xterm-256color', None, None)) + + def testFlagOnly(self): + """Tests the case when there's --gtest_color but not GTEST_COLOR.""" + +- self.assert_(not UsesColor('dumb', None, 'no')) +- self.assert_(not UsesColor('xterm-color', None, 'no')) ++ self.assertTrue(not UsesColor('dumb', None, 'no')) ++ self.assertTrue(not UsesColor('xterm-color', None, 'no')) + if not IS_WINDOWS: +- self.assert_(not UsesColor('emacs', None, 'auto')) +- self.assert_(UsesColor('xterm', None, 'auto')) +- self.assert_(UsesColor('dumb', None, 'yes')) +- self.assert_(UsesColor('xterm', None, 'yes')) ++ self.assertTrue(not UsesColor('emacs', None, 'auto')) ++ self.assertTrue(UsesColor('xterm', None, 'auto')) ++ self.assertTrue(UsesColor('dumb', None, 'yes')) ++ self.assertTrue(UsesColor('xterm', None, 'yes')) + + def testEnvVarOnly(self): + """Tests the case when there's GTEST_COLOR but not --gtest_color.""" + +- self.assert_(not UsesColor('dumb', 'no', None)) +- self.assert_(not UsesColor('xterm-color', 'no', None)) ++ self.assertTrue(not UsesColor('dumb', 'no', None)) ++ self.assertTrue(not UsesColor('xterm-color', 'no', None)) + if not IS_WINDOWS: +- self.assert_(not UsesColor('dumb', 'auto', None)) +- self.assert_(UsesColor('xterm-color', 'auto', None)) +- self.assert_(UsesColor('dumb', 'yes', None)) +- self.assert_(UsesColor('xterm-color', 'yes', None)) ++ self.assertTrue(not UsesColor('dumb', 'auto', None)) ++ self.assertTrue(UsesColor('xterm-color', 'auto', None)) ++ self.assertTrue(UsesColor('dumb', 'yes', None)) ++ self.assertTrue(UsesColor('xterm-color', 'yes', None)) + + def testEnvVarAndFlag(self): + """Tests the case when there are both GTEST_COLOR and --gtest_color.""" + +- self.assert_(not UsesColor('xterm-color', 'no', 'no')) +- self.assert_(UsesColor('dumb', 'no', 'yes')) +- self.assert_(UsesColor('xterm-color', 'no', 'auto')) ++ self.assertTrue(not UsesColor('xterm-color', 'no', 'no')) ++ self.assertTrue(UsesColor('dumb', 'no', 'yes')) ++ self.assertTrue(UsesColor('xterm-color', 'no', 'auto')) + + def testAliasesOfYesAndNo(self): + """Tests using aliases in specifying --gtest_color.""" + +- self.assert_(UsesColor('dumb', None, 'true')) +- self.assert_(UsesColor('dumb', None, 'YES')) +- self.assert_(UsesColor('dumb', None, 'T')) +- self.assert_(UsesColor('dumb', None, '1')) ++ self.assertTrue(UsesColor('dumb', None, 'true')) ++ self.assertTrue(UsesColor('dumb', None, 'YES')) ++ self.assertTrue(UsesColor('dumb', None, 'T')) ++ self.assertTrue(UsesColor('dumb', None, '1')) + +- self.assert_(not UsesColor('xterm', None, 'f')) +- self.assert_(not UsesColor('xterm', None, 'false')) +- self.assert_(not UsesColor('xterm', None, '0')) +- self.assert_(not UsesColor('xterm', None, 'unknown')) ++ self.assertTrue(not UsesColor('xterm', None, 'f')) ++ self.assertTrue(not UsesColor('xterm', None, 'false')) ++ self.assertTrue(not UsesColor('xterm', None, '0')) ++ self.assertTrue(not UsesColor('xterm', None, 'unknown')) + + + if __name__ == '__main__': +diff --git a/Source/ThirdParty/gtest/test/gtest_env_var_test.py b/Source/ThirdParty/gtest/test/gtest_env_var_test.py +index bcc0bfd55..868896831 100755 +--- a/Source/ThirdParty/gtest/test/gtest_env_var_test.py ++++ b/Source/ThirdParty/gtest/test/gtest_env_var_test.py +@@ -47,8 +47,8 @@ environ = os.environ.copy() + + def AssertEq(expected, actual): + if expected != actual: +- print 'Expected: %s' % (expected,) +- print ' Actual: %s' % (actual,) ++ print('Expected: %s' % (expected,)) ++ print(' Actual: %s' % (actual,)) + raise AssertionError + + +diff --git a/Source/ThirdParty/gtest/test/gtest_filter_unittest.py b/Source/ThirdParty/gtest/test/gtest_filter_unittest.py +index 0d1a77005..595b2fa33 100755 +--- a/Source/ThirdParty/gtest/test/gtest_filter_unittest.py ++++ b/Source/ThirdParty/gtest/test/gtest_filter_unittest.py +@@ -231,10 +231,10 @@ class GTestFilterUnitTest(gtest_test_utils.TestCase): + """Asserts that two sets are equal.""" + + for elem in lhs: +- self.assert_(elem in rhs, '%s in %s' % (elem, rhs)) ++ self.assertTrue(elem in rhs, '%s in %s' % (elem, rhs)) + + for elem in rhs: +- self.assert_(elem in lhs, '%s in %s' % (elem, lhs)) ++ self.assertTrue(elem in lhs, '%s in %s' % (elem, lhs)) + + def AssertPartitionIsValid(self, set_var, list_of_sets): + """Asserts that list_of_sets is a valid partition of set_var.""" +@@ -575,13 +575,13 @@ class GTestFilterUnitTest(gtest_test_utils.TestCase): + + shard_status_file = os.path.join(gtest_test_utils.GetTempDir(), + 'shard_status_file') +- self.assert_(not os.path.exists(shard_status_file)) ++ self.assertTrue(not os.path.exists(shard_status_file)) + + extra_env = {SHARD_STATUS_FILE_ENV_VAR: shard_status_file} + try: + InvokeWithModifiedEnv(extra_env, RunAndReturnOutput) + finally: +- self.assert_(os.path.exists(shard_status_file)) ++ self.assertTrue(os.path.exists(shard_status_file)) + os.remove(shard_status_file) + + def testShardStatusFileIsCreatedWithListTests(self): +@@ -589,7 +589,7 @@ class GTestFilterUnitTest(gtest_test_utils.TestCase): + + shard_status_file = os.path.join(gtest_test_utils.GetTempDir(), + 'shard_status_file2') +- self.assert_(not os.path.exists(shard_status_file)) ++ self.assertTrue(not os.path.exists(shard_status_file)) + + extra_env = {SHARD_STATUS_FILE_ENV_VAR: shard_status_file} + try: +@@ -599,12 +599,12 @@ class GTestFilterUnitTest(gtest_test_utils.TestCase): + finally: + # This assertion ensures that Google Test enumerated the tests as + # opposed to running them. +- self.assert_('[==========]' not in output, ++ self.assertTrue('[==========]' not in output, + 'Unexpected output during test enumeration.\n' + 'Please ensure that LIST_TESTS_FLAG is assigned the\n' + 'correct flag value for listing Google Test tests.') + +- self.assert_(os.path.exists(shard_status_file)) ++ self.assertTrue(os.path.exists(shard_status_file)) + os.remove(shard_status_file) + + if SUPPORTS_DEATH_TESTS: +diff --git a/Source/ThirdParty/gtest/test/gtest_help_test.py b/Source/ThirdParty/gtest/test/gtest_help_test.py +index 3cb4c48e0..8aae487b4 100755 +--- a/Source/ThirdParty/gtest/test/gtest_help_test.py ++++ b/Source/ThirdParty/gtest/test/gtest_help_test.py +@@ -107,17 +107,17 @@ class GTestHelpTest(gtest_test_utils.TestCase): + """ + + exit_code, output = RunWithFlag(flag) +- self.assertEquals(0, exit_code) +- self.assert_(HELP_REGEX.search(output), output) ++ self.assertEqual(0, exit_code) ++ self.assertTrue(HELP_REGEX.search(output), output) + if IS_WINDOWS: +- self.assert_(CATCH_EXCEPTIONS_FLAG in output, output) ++ self.assertTrue(CATCH_EXCEPTIONS_FLAG in output, output) + else: +- self.assert_(CATCH_EXCEPTIONS_FLAG not in output, output) ++ self.assertTrue(CATCH_EXCEPTIONS_FLAG not in output, output) + + if SUPPORTS_DEATH_TESTS and not IS_WINDOWS: +- self.assert_(DEATH_TEST_STYLE_FLAG in output, output) ++ self.assertTrue(DEATH_TEST_STYLE_FLAG in output, output) + else: +- self.assert_(DEATH_TEST_STYLE_FLAG not in output, output) ++ self.assertTrue(DEATH_TEST_STYLE_FLAG not in output, output) + + def TestNonHelpFlag(self, flag): + """Verifies correct behavior when no help flag is specified. +@@ -130,8 +130,8 @@ class GTestHelpTest(gtest_test_utils.TestCase): + """ + + exit_code, output = RunWithFlag(flag) +- self.assert_(exit_code != 0) +- self.assert_(not HELP_REGEX.search(output), output) ++ self.assertTrue(exit_code != 0) ++ self.assertTrue(not HELP_REGEX.search(output), output) + + def testPrintsHelpWithFullFlag(self): + self.TestHelpFlag('--help') +diff --git a/Source/ThirdParty/gtest/test/gtest_list_tests_unittest.py b/Source/ThirdParty/gtest/test/gtest_list_tests_unittest.py +index ce8c3ef05..1d3ce746c 100755 +--- a/Source/ThirdParty/gtest/test/gtest_list_tests_unittest.py ++++ b/Source/ThirdParty/gtest/test/gtest_list_tests_unittest.py +@@ -136,9 +136,9 @@ class GTestListTestsUnitTest(gtest_test_utils.TestCase): + (LIST_TESTS_FLAG, flag_expression, ' '.join(args), output)) + + if expected_output is not None: +- self.assert_(output == expected_output, msg) ++ self.assertTrue(output == expected_output, msg) + else: +- self.assert_(output != EXPECTED_OUTPUT_NO_FILTER, msg) ++ self.assertTrue(output != EXPECTED_OUTPUT_NO_FILTER, msg) + + def testDefaultBehavior(self): + """Tests the behavior of the default mode.""" +diff --git a/Source/ThirdParty/gtest/test/gtest_shuffle_test.py b/Source/ThirdParty/gtest/test/gtest_shuffle_test.py +index 30d0303d1..e4902f09a 100755 +--- a/Source/ThirdParty/gtest/test/gtest_shuffle_test.py ++++ b/Source/ThirdParty/gtest/test/gtest_shuffle_test.py +@@ -179,23 +179,23 @@ class GTestShuffleUnitTest(gtest_test_utils.TestCase): + self.assertEqual(len(SHARDED_TESTS), len(SHUFFLED_SHARDED_TESTS)) + + def testShuffleChangesTestOrder(self): +- self.assert_(SHUFFLED_ALL_TESTS != ALL_TESTS, SHUFFLED_ALL_TESTS) +- self.assert_(SHUFFLED_ACTIVE_TESTS != ACTIVE_TESTS, SHUFFLED_ACTIVE_TESTS) +- self.assert_(SHUFFLED_FILTERED_TESTS != FILTERED_TESTS, ++ self.assertTrue(SHUFFLED_ALL_TESTS != ALL_TESTS, SHUFFLED_ALL_TESTS) ++ self.assertTrue(SHUFFLED_ACTIVE_TESTS != ACTIVE_TESTS, SHUFFLED_ACTIVE_TESTS) ++ self.assertTrue(SHUFFLED_FILTERED_TESTS != FILTERED_TESTS, + SHUFFLED_FILTERED_TESTS) +- self.assert_(SHUFFLED_SHARDED_TESTS != SHARDED_TESTS, ++ self.assertTrue(SHUFFLED_SHARDED_TESTS != SHARDED_TESTS, + SHUFFLED_SHARDED_TESTS) + + def testShuffleChangesTestCaseOrder(self): +- self.assert_(GetTestCases(SHUFFLED_ALL_TESTS) != GetTestCases(ALL_TESTS), ++ self.assertTrue(GetTestCases(SHUFFLED_ALL_TESTS) != GetTestCases(ALL_TESTS), + GetTestCases(SHUFFLED_ALL_TESTS)) +- self.assert_( ++ self.assertTrue( + GetTestCases(SHUFFLED_ACTIVE_TESTS) != GetTestCases(ACTIVE_TESTS), + GetTestCases(SHUFFLED_ACTIVE_TESTS)) +- self.assert_( ++ self.assertTrue( + GetTestCases(SHUFFLED_FILTERED_TESTS) != GetTestCases(FILTERED_TESTS), + GetTestCases(SHUFFLED_FILTERED_TESTS)) +- self.assert_( ++ self.assertTrue( + GetTestCases(SHUFFLED_SHARDED_TESTS) != GetTestCases(SHARDED_TESTS), + GetTestCases(SHUFFLED_SHARDED_TESTS)) + +@@ -215,29 +215,29 @@ class GTestShuffleUnitTest(gtest_test_utils.TestCase): + + def testShuffleDoesNotCreateNewTest(self): + for test in SHUFFLED_ALL_TESTS: +- self.assert_(test in ALL_TESTS, '%s is an invalid test' % (test,)) ++ self.assertTrue(test in ALL_TESTS, '%s is an invalid test' % (test,)) + for test in SHUFFLED_ACTIVE_TESTS: +- self.assert_(test in ACTIVE_TESTS, '%s is an invalid test' % (test,)) ++ self.assertTrue(test in ACTIVE_TESTS, '%s is an invalid test' % (test,)) + for test in SHUFFLED_FILTERED_TESTS: +- self.assert_(test in FILTERED_TESTS, '%s is an invalid test' % (test,)) ++ self.assertTrue(test in FILTERED_TESTS, '%s is an invalid test' % (test,)) + for test in SHUFFLED_SHARDED_TESTS: +- self.assert_(test in SHARDED_TESTS, '%s is an invalid test' % (test,)) ++ self.assertTrue(test in SHARDED_TESTS, '%s is an invalid test' % (test,)) + + def testShuffleIncludesAllTests(self): + for test in ALL_TESTS: +- self.assert_(test in SHUFFLED_ALL_TESTS, '%s is missing' % (test,)) ++ self.assertTrue(test in SHUFFLED_ALL_TESTS, '%s is missing' % (test,)) + for test in ACTIVE_TESTS: +- self.assert_(test in SHUFFLED_ACTIVE_TESTS, '%s is missing' % (test,)) ++ self.assertTrue(test in SHUFFLED_ACTIVE_TESTS, '%s is missing' % (test,)) + for test in FILTERED_TESTS: +- self.assert_(test in SHUFFLED_FILTERED_TESTS, '%s is missing' % (test,)) ++ self.assertTrue(test in SHUFFLED_FILTERED_TESTS, '%s is missing' % (test,)) + for test in SHARDED_TESTS: +- self.assert_(test in SHUFFLED_SHARDED_TESTS, '%s is missing' % (test,)) ++ self.assertTrue(test in SHUFFLED_SHARDED_TESTS, '%s is missing' % (test,)) + + def testShuffleLeavesDeathTestsAtFront(self): + non_death_test_found = False + for test in SHUFFLED_ACTIVE_TESTS: + if 'DeathTest.' in test: +- self.assert_(not non_death_test_found, ++ self.assertTrue(not non_death_test_found, + '%s appears after a non-death test' % (test,)) + else: + non_death_test_found = True +@@ -295,11 +295,11 @@ class GTestShuffleUnitTest(gtest_test_utils.TestCase): + GetTestsForAllIterations( + {}, [ShuffleFlag(), RandomSeedFlag(1), RepeatFlag(3)])) + +- self.assert_(tests_in_iteration1 != tests_in_iteration2, ++ self.assertTrue(tests_in_iteration1 != tests_in_iteration2, + tests_in_iteration1) +- self.assert_(tests_in_iteration1 != tests_in_iteration3, ++ self.assertTrue(tests_in_iteration1 != tests_in_iteration3, + tests_in_iteration1) +- self.assert_(tests_in_iteration2 != tests_in_iteration3, ++ self.assertTrue(tests_in_iteration2 != tests_in_iteration3, + tests_in_iteration2) + + def testShuffleShardedTestsPreservesPartition(self): +diff --git a/Source/ThirdParty/gtest/test/gtest_test_utils.py b/Source/ThirdParty/gtest/test/gtest_test_utils.py +index e0f5973e7..80a953ea1 100755 +--- a/Source/ThirdParty/gtest/test/gtest_test_utils.py ++++ b/Source/ThirdParty/gtest/test/gtest_test_utils.py +@@ -167,7 +167,7 @@ def GetTestExecutablePath(executable_name, build_dir=None): + # TODO(vladl@google.com): change mk_test.py to test.py after renaming + # the file. + 'Please run mk_test.py -h for help.') +- print >> sys.stderr, message ++ print(message, file=sys.stderr) + sys.exit(1) + + return path +diff --git a/Source/ThirdParty/gtest/test/gtest_throw_on_failure_test.py b/Source/ThirdParty/gtest/test/gtest_throw_on_failure_test.py +index 5678ffeaf..318e6306c 100755 +--- a/Source/ThirdParty/gtest/test/gtest_throw_on_failure_test.py ++++ b/Source/ThirdParty/gtest/test/gtest_throw_on_failure_test.py +@@ -70,7 +70,7 @@ def SetEnvVar(env_var, value): + def Run(command): + """Runs a command; returns True/False if its exit code is/isn't 0.""" + +- print 'Running "%s". . .' % ' '.join(command) ++ print('Running "%s". . .' % ' '.join(command)) + p = gtest_test_utils.Subprocess(command) + return p.exited and p.exit_code == 0 + +@@ -123,7 +123,7 @@ class ThrowOnFailureTest(gtest_test_utils.TestCase): + 'exit code.' % + (THROW_ON_FAILURE, env_var_value_msg, ' '.join(command), + should_or_not)) +- self.assert_(failed == should_fail, msg) ++ self.assertTrue(failed == should_fail, msg) + + def testDefaultBehavior(self): + """Tests the behavior of the default mode.""" +diff --git a/Source/ThirdParty/gtest/test/gtest_uninitialized_test.py b/Source/ThirdParty/gtest/test/gtest_uninitialized_test.py +index 6ae57eeed..435837009 100755 +--- a/Source/ThirdParty/gtest/test/gtest_uninitialized_test.py ++++ b/Source/ThirdParty/gtest/test/gtest_uninitialized_test.py +@@ -46,8 +46,8 @@ def Assert(condition): + + def AssertEq(expected, actual): + if expected != actual: +- print 'Expected: %s' % (expected,) +- print ' Actual: %s' % (actual,) ++ print('Expected: %s' % (expected,)) ++ print(' Actual: %s' % (actual,)) + raise AssertionError + + +diff --git a/Source/ThirdParty/gtest/test/gtest_xml_outfiles_test.py b/Source/ThirdParty/gtest/test/gtest_xml_outfiles_test.py +index 0fe947f08..7281864c5 100755 +--- a/Source/ThirdParty/gtest/test/gtest_xml_outfiles_test.py ++++ b/Source/ThirdParty/gtest/test/gtest_xml_outfiles_test.py +@@ -100,8 +100,8 @@ class GTestXMLOutFilesTest(gtest_xml_test_utils.GTestXMLTestCase): + command = [gtest_prog_path, "--gtest_output=xml:%s" % self.output_dir_] + p = gtest_test_utils.Subprocess(command, + working_dir=gtest_test_utils.GetTempDir()) +- self.assert_(p.exited) +- self.assertEquals(0, p.exit_code) ++ self.assertTrue(p.exited) ++ self.assertEqual(0, p.exit_code) + + # TODO(wan@google.com): libtool causes the built test binary to be + # named lt-gtest_xml_outfiles_test_ instead of +@@ -112,7 +112,7 @@ class GTestXMLOutFilesTest(gtest_xml_test_utils.GTestXMLTestCase): + output_file1 = os.path.join(self.output_dir_, output_file_name1) + output_file_name2 = 'lt-' + output_file_name1 + output_file2 = os.path.join(self.output_dir_, output_file_name2) +- self.assert_(os.path.isfile(output_file1) or os.path.isfile(output_file2), ++ self.assertTrue(os.path.isfile(output_file1) or os.path.isfile(output_file2), + output_file1) + + expected = minidom.parseString(expected_xml) +diff --git a/Source/ThirdParty/gtest/test/gtest_xml_output_unittest.py b/Source/ThirdParty/gtest/test/gtest_xml_output_unittest.py +index 6d44929ca..93b67532e 100755 +--- a/Source/ThirdParty/gtest/test/gtest_xml_output_unittest.py ++++ b/Source/ThirdParty/gtest/test/gtest_xml_output_unittest.py +@@ -145,16 +145,16 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase): + "gtest_no_test_unittest") + try: + os.remove(output_file) +- except OSError, e: ++ except OSError as e: + if e.errno != errno.ENOENT: + raise + + p = gtest_test_utils.Subprocess( + [gtest_prog_path, "%s=xml" % GTEST_OUTPUT_FLAG], + working_dir=gtest_test_utils.GetTempDir()) +- self.assert_(p.exited) +- self.assertEquals(0, p.exit_code) +- self.assert_(os.path.isfile(output_file)) ++ self.assertTrue(p.exited) ++ self.assertEqual(0, p.exit_code) ++ self.assertTrue(os.path.isfile(output_file)) + + def testSuppressedXmlOutput(self): + """ +@@ -174,16 +174,16 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase): + "--shut_down_xml"] + p = gtest_test_utils.Subprocess(command) + if p.terminated_by_signal: +- self.assert_(False, ++ self.assertTrue(False, + "%s was killed by signal %d" % (gtest_prog_name, p.signal)) + else: +- self.assert_(p.exited) +- self.assertEquals(1, p.exit_code, ++ self.assertTrue(p.exited) ++ self.assertEqual(1, p.exit_code, + "'%s' exited with code %s, which doesn't match " + "the expected exit code %s." + % (command, p.exit_code, 1)) + +- self.assert_(not os.path.isfile(xml_path)) ++ self.assertTrue(not os.path.isfile(xml_path)) + + + def _TestXmlOutput(self, gtest_prog_name, expected_xml, expected_exit_code): +@@ -200,11 +200,11 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase): + command = [gtest_prog_path, "%s=xml:%s" % (GTEST_OUTPUT_FLAG, xml_path)] + p = gtest_test_utils.Subprocess(command) + if p.terminated_by_signal: +- self.assert_(False, ++ self.assertTrue(False, + "%s was killed by signal %d" % (gtest_prog_name, p.signal)) + else: +- self.assert_(p.exited) +- self.assertEquals(expected_exit_code, p.exit_code, ++ self.assertTrue(p.exited) ++ self.assertEqual(expected_exit_code, p.exit_code, + "'%s' exited with code %s, which doesn't match " + "the expected exit code %s." + % (command, p.exit_code, expected_exit_code)) +diff --git a/Source/ThirdParty/gtest/test/gtest_xml_test_utils.py b/Source/ThirdParty/gtest/test/gtest_xml_test_utils.py +index c83c3b7ea..2d6afb359 100755 +--- a/Source/ThirdParty/gtest/test/gtest_xml_test_utils.py ++++ b/Source/ThirdParty/gtest/test/gtest_xml_test_utils.py +@@ -67,37 +67,37 @@ class GTestXMLTestCase(gtest_test_utils.TestCase): + """ + + if expected_node.nodeType == Node.CDATA_SECTION_NODE: +- self.assertEquals(Node.CDATA_SECTION_NODE, actual_node.nodeType) +- self.assertEquals(expected_node.nodeValue, actual_node.nodeValue) ++ self.assertEqual(Node.CDATA_SECTION_NODE, actual_node.nodeType) ++ self.assertEqual(expected_node.nodeValue, actual_node.nodeValue) + return + +- self.assertEquals(Node.ELEMENT_NODE, actual_node.nodeType) +- self.assertEquals(Node.ELEMENT_NODE, expected_node.nodeType) +- self.assertEquals(expected_node.tagName, actual_node.tagName) ++ self.assertEqual(Node.ELEMENT_NODE, actual_node.nodeType) ++ self.assertEqual(Node.ELEMENT_NODE, expected_node.nodeType) ++ self.assertEqual(expected_node.tagName, actual_node.tagName) + + expected_attributes = expected_node.attributes + actual_attributes = actual_node .attributes +- self.assertEquals( ++ self.assertEqual( + expected_attributes.length, actual_attributes.length, + "attribute numbers differ in element " + actual_node.tagName) + for i in range(expected_attributes.length): + expected_attr = expected_attributes.item(i) + actual_attr = actual_attributes.get(expected_attr.name) +- self.assert_( ++ self.assertTrue( + actual_attr is not None, + "expected attribute %s not found in element %s" % + (expected_attr.name, actual_node.tagName)) +- self.assertEquals(expected_attr.value, actual_attr.value, ++ self.assertEqual(expected_attr.value, actual_attr.value, + " values of attribute %s in element %s differ" % + (expected_attr.name, actual_node.tagName)) + + expected_children = self._GetChildren(expected_node) + actual_children = self._GetChildren(actual_node) +- self.assertEquals( ++ self.assertEqual( + len(expected_children), len(actual_children), + "number of child elements differ in element " + actual_node.tagName) +- for child_id, child in expected_children.iteritems(): +- self.assert_(child_id in actual_children, ++ for child_id, child in expected_children.items(): ++ self.assertTrue(child_id in actual_children, + '<%s> is not in <%s> (in element %s)' % + (child_id, actual_children, actual_node.tagName)) + self.AssertEquivalentNodes(child, actual_children[child_id]) +@@ -125,10 +125,10 @@ class GTestXMLTestCase(gtest_test_utils.TestCase): + children = {} + for child in element.childNodes: + if child.nodeType == Node.ELEMENT_NODE: +- self.assert_(child.tagName in self.identifying_attribute, ++ self.assertTrue(child.tagName in self.identifying_attribute, + "Encountered unknown element <%s>" % child.tagName) + childID = child.getAttribute(self.identifying_attribute[child.tagName]) +- self.assert_(childID not in children) ++ self.assertTrue(childID not in children) + children[childID] = child + elif child.nodeType in [Node.TEXT_NODE, Node.CDATA_SECTION_NODE]: + if "detail" not in children: +diff --git a/Source/ThirdParty/gtest/test/run_tests_util.py b/Source/ThirdParty/gtest/test/run_tests_util.py +index 9e57931eb..1f4d33af2 100755 +--- a/Source/ThirdParty/gtest/test/run_tests_util.py ++++ b/Source/ThirdParty/gtest/test/run_tests_util.py +@@ -159,8 +159,8 @@ def _GetConfigFromBuildDir(build_dir): + if m: + return m.group(1) + else: +- print >>sys.stderr, ('%s is an invalid build directory that does not ' +- 'correspond to any configuration.' % (build_dir,)) ++ print(('%s is an invalid build directory that does not ' ++ 'correspond to any configuration.' % (build_dir,)), file=sys.stderr) + return '' + + +@@ -250,7 +250,7 @@ class TestRunner(object): + # If this script is run on a Windows machine that has no association + # between the .py extension and a python interpreter, simply passing + # the script name into subprocess.Popen/os.spawn will not work. +- print 'Running %s . . .' % (test,) ++ print('Running %s . . .' % (test,)) + return self._Run([sys.executable, test]) + + finally: +@@ -308,7 +308,7 @@ class TestRunner(object): + # A final list of build directories which will be searched for the test + # binaries. First, add directories specified directly on the command + # line. +- build_dirs = filter(self.os.path.isdir, normalized_args) ++ build_dirs = list(filter(self.os.path.isdir, normalized_args)) + + # Adds build directories specified via their build configurations using + # the -c or -a options. +@@ -374,8 +374,8 @@ class TestRunner(object): + config = _GetConfigFromBuildDir(directory) + file_name = os.path.basename(test) + if python_tests_to_skip and (config, file_name) in python_tests_to_skip: +- print ('NOTE: %s is skipped for configuration %s, as it does not ' +- 'work there.' % (file_name, config)) ++ print(('NOTE: %s is skipped for configuration %s, as it does not ' ++ 'work there.' % (file_name, config))) + else: + python_test_pairs.append((directory, test)) + +@@ -418,17 +418,17 @@ class TestRunner(object): + failed = [(directory, test) + for (directory, test, success) in results + if not success] +- print +- print '%d tests run.' % len(results) ++ print() ++ print('%d tests run.' % len(results)) + if failed: +- print 'The following %d tests failed:' % len(failed) ++ print('The following %d tests failed:' % len(failed)) + for (directory, test) in failed: +- print '%s in %s' % (test, directory) ++ print('%s in %s' % (test, directory)) + return 1 + else: +- print 'All tests passed!' ++ print('All tests passed!') + else: # No tests defined +- print 'Nothing to test - no tests specified!' ++ print('Nothing to test - no tests specified!') + + return 0 + +@@ -440,7 +440,7 @@ def ParseArgs(project_name, argv=None, help_callback=None): + # required by optparse, even though they are unused. + # pylint: disable-msg=W0613 + def PrintHelp(option, opt, value, parser): +- print HELP_MSG % {'proj': project_name} ++ print(HELP_MSG % {'proj': project_name}) + sys.exit(1) + + parser = optparse.OptionParser() +diff --git a/Source/ThirdParty/gtest/test/run_tests_util_test.py b/Source/ThirdParty/gtest/test/run_tests_util_test.py +index 9c55726fd..dce27f3ae 100755 +--- a/Source/ThirdParty/gtest/test/run_tests_util_test.py ++++ b/Source/ThirdParty/gtest/test/run_tests_util_test.py +@@ -144,7 +144,7 @@ class FakeOs(object): + # pylint: disable-msg=C6409 + def listdir(self, path): + assert self.path.isdir(path) +- return self.path.PathElement(path).iterkeys() ++ return iter(self.path.PathElement(path).keys()) + + def spawnv(self, wait, executable, *kargs): + assert wait == FakeOs.P_WAIT +@@ -165,7 +165,7 @@ class GetTestsToRunTest(unittest.TestCase): + def NormalizeBinaryTestPair(pair): + """Normalizes path data in the (directory, binary_executable) pair.""" + +- directory, executable = map(os.path.normpath, pair) ++ directory, executable = list(map(os.path.normpath, pair)) + + # On Windows and Cygwin, the test file names have the .exe extension, but + # they can be invoked either by name or by name+extension. Our test must +@@ -174,8 +174,8 @@ class GetTestsToRunTest(unittest.TestCase): + executable = re.sub(r'\.exe$', '', executable) + return (directory, executable) + +- python_tests = sets.Set(map(NormalizePythonTestPair, results[0])) +- binary_tests = sets.Set(map(NormalizeBinaryTestPair, results[1])) ++ python_tests = sets.Set(list(map(NormalizePythonTestPair, results[0]))) ++ binary_tests = sets.Set(list(map(NormalizeBinaryTestPair, results[1]))) + return (python_tests, binary_tests) + + def AssertResultsEqual(self, results, expected): +@@ -472,7 +472,7 @@ class GetTestsToRunTest(unittest.TestCase): + def testNonTestBinary(self): + """Exercises GetTestsToRun with a non-test parameter.""" + +- self.assert_( ++ self.assertTrue( + not self.test_runner.GetTestsToRun( + ['gtest_unittest_not_really'], + '', +@@ -482,7 +482,7 @@ class GetTestsToRunTest(unittest.TestCase): + def testNonExistingPythonTest(self): + """Exercises GetTestsToRun with a non-existent Python test parameter.""" + +- self.assert_( ++ self.assertTrue( + not self.test_runner.GetTestsToRun( + ['nonexistent_test.py'], + '', +@@ -619,7 +619,7 @@ class ParseArgsTest(unittest.TestCase): + def testNoOptions(self): + options, args = run_tests_util.ParseArgs('gtest', argv=['script.py']) + self.assertEqual(args, ['script.py']) +- self.assert_(options.configurations is None) ++ self.assertTrue(options.configurations is None) + self.assertFalse(options.built_configurations) + + def testOptionC(self): +@@ -638,7 +638,7 @@ class ParseArgsTest(unittest.TestCase): + def testOptionB(self): + options, args = run_tests_util.ParseArgs('gtest', argv=['script.py', '-b']) + self.assertEqual(args, ['script.py']) +- self.assert_(options.configurations is None) ++ self.assertTrue(options.configurations is None) + self.assertTrue(options.built_configurations) + + def testOptionCAndOptionB(self): +diff --git a/Source/ThirdParty/gtest/xcode/Scripts/versiongenerate.py b/Source/ThirdParty/gtest/xcode/Scripts/versiongenerate.py +index 81de8c96a..ea24f964c 100644 +--- a/Source/ThirdParty/gtest/xcode/Scripts/versiongenerate.py ++++ b/Source/ThirdParty/gtest/xcode/Scripts/versiongenerate.py +@@ -54,7 +54,7 @@ import re + + # Read the command line argument (the output directory for Version.h) + if (len(sys.argv) < 3): +- print "Usage: versiongenerate.py input_dir output_dir" ++ print("Usage: versiongenerate.py input_dir output_dir") + sys.exit(1) + else: + input_dir = sys.argv[1] +diff --git a/Source/WebCore/AVFoundationSupport.py b/Source/WebCore/AVFoundationSupport.py +index 7f13a8742..a3ab479ad 100644 +--- a/Source/WebCore/AVFoundationSupport.py ++++ b/Source/WebCore/AVFoundationSupport.py +@@ -42,22 +42,22 @@ def fileContains(relativePath, regexp): + return False + + +-print "/* Identifying AVFoundation Support */" ++print("/* Identifying AVFoundation Support */") + if lookFor("/include/AVFoundationCF/AVCFBase.h"): +- print "#define HAVE_AVCF 1" ++ print("#define HAVE_AVCF 1") + if lookFor("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h"): +- print "#define HAVE_AVCF_LEGIBLE_OUTPUT 1" ++ print("#define HAVE_AVCF_LEGIBLE_OUTPUT 1") + if lookFor("/include/AVFoundationCF/AVCFAssetResourceLoader.h"): +- print "#define HAVE_AVFOUNDATION_LOADER_DELEGATE 1" ++ print("#define HAVE_AVFOUNDATION_LOADER_DELEGATE 1") + if lookFor("/include/AVFoundationCF/AVCFAsset.h"): + regexp = re.compile("AVCFURLAssetIsPlayableExtendedMIMEType") + if fileContains("/include/AVFoundationCF/AVCFAsset.h", regexp): +- print "#define HAVE_AVCFURL_PLAYABLE_MIMETYPE 1" ++ print("#define HAVE_AVCFURL_PLAYABLE_MIMETYPE 1") + if lookFor("/include/QuartzCore/CACFLayer.h"): + regexp = re.compile("CACFLayerSetContentsScale") + if fileContains("/include/QuartzCore/CACFLayer.h", regexp): +- print "#define HAVE_CACFLAYER_SETCONTENTSSCALE 1" ++ print("#define HAVE_CACFLAYER_SETCONTENTSSCALE 1") + if lookFor("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h"): + regexp = re.compile("kAVCFPlayerItemLegibleOutput_CallbacksVersion_2") + if fileContains("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h", regexp): +- print "#define HAVE_AVCFPLAYERITEM_CALLBACK_VERSION_2 1" ++ print("#define HAVE_AVCFPLAYERITEM_CALLBACK_VERSION_2 1") +diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt +index 56b32563a..feac0dbbb 100644 +--- a/Source/WebCore/CMakeLists.txt ++++ b/Source/WebCore/CMakeLists.txt +@@ -3671,14 +3671,14 @@ set(WebCore_BUILTINS_SOURCES + ) + + set(BUILTINS_GENERATOR_SCRIPTS +- ${JavaScriptCore_SCRIPTS_DIR}/builtins.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generator.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_model.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_templates.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_header.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_combined_implementation.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_header.py +- ${JavaScriptCore_SCRIPTS_DIR}/builtins_generate_separate_implementation.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generator.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_model.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_templates.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generate_combined_header.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generate_combined_implementation.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generate_separate_header.py ++ ${JavaScriptCore_SCRIPTS_DIR}/mybuiltins_generate_separate_implementation.py + ${JavaScriptCore_SCRIPTS_DIR}/generate-js-builtins.py + ${JavaScriptCore_SCRIPTS_DIR}/lazywriter.py + ) +diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make +index 0f5a79fa4..83bf5f96a 100644 +--- a/Source/WebCore/DerivedSources.make ++++ b/Source/WebCore/DerivedSources.make +@@ -1286,14 +1286,14 @@ WebCore_BUILTINS_SOURCES = \ + # + + BUILTINS_GENERATOR_SCRIPTS = \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins_generator.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins_model.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins_templates.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins_generate_combined_header.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins_generate_combined_implementation.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins_generate_separate_header.py \ +- $(JavaScriptCore_SCRIPTS_DIR)/builtins_generate_separate_implementation.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins_generator.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins_model.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins_templates.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins_generate_combined_header.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins_generate_combined_implementation.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins_generate_separate_header.py \ ++ $(JavaScriptCore_SCRIPTS_DIR)/mybuiltins_generate_separate_implementation.py \ + $(JavaScriptCore_SCRIPTS_DIR)/generate-js-builtins.py \ + $(JavaScriptCore_SCRIPTS_DIR)/lazywriter.py \ + # +diff --git a/Source/WebCore/platform/network/create-http-header-name-table b/Source/WebCore/platform/network/create-http-header-name-table +index 755d22e94..3dc57a568 100755 +--- a/Source/WebCore/platform/network/create-http-header-name-table ++++ b/Source/WebCore/platform/network/create-http-header-name-table +@@ -41,7 +41,7 @@ input_file = open(input_path) + http_header_name_to_id = { } + http_header_names = [] + +-for line in input_file.xreadlines(): ++for line in input_file: + http_header_name = line.strip() + if not http_header_name or http_header_name[:2] == '//': + continue +diff --git a/Source/WebInspectorUI/Scripts/jsmin.py b/Source/WebInspectorUI/Scripts/jsmin.py +index 372418b4d..2f9fddfce 100644 +--- a/Source/WebInspectorUI/Scripts/jsmin.py ++++ b/Source/WebInspectorUI/Scripts/jsmin.py +@@ -23,17 +23,20 @@ + # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + # THE SOFTWARE. + ++# stolen from webkitgtk 2.26.2 + + import sys + is_3 = sys.version_info >= (3, 0) + if is_3: + import io ++ python_text_type = str + else: + import StringIO + try: + import cStringIO + except ImportError: + cStringIO = None ++ python_text_type = basestring + + + __all__ = ['jsmin', 'JavascriptMinify'] +@@ -79,14 +82,18 @@ class JavascriptMinify(object): + def write(char): + # all of this is to support literal regular expressions. + # sigh +- if char in 'return': ++ if str(char) in 'return': + self.return_buf += char + self.is_return = self.return_buf == 'return' + self.outs.write(char) + if self.is_return: + self.return_buf = '' + +- read = self.ins.read ++ def read(n): ++ char = self.ins.read(n) ++ if not isinstance(char, python_text_type): ++ raise ValueError("ERROR: The script jsmin.py can only handle text input, but it received input of type %s" % type(char)) ++ return char + + space_strings = "abcdefghijklmnopqrstuvwxyz"\ + "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$\\" +@@ -118,8 +125,8 @@ class JavascriptMinify(object): + write(previous) + elif not previous: + return +- elif previous >= '!': +- if previous in "'\"": ++ elif str(previous) >= "!": ++ if str(previous) in "'\"": + in_quote = previous + write(previous) + previous_non_space = previous +@@ -166,7 +173,7 @@ class JavascriptMinify(object): + if numslashes % 2 == 0: + in_quote = '' + write(''.join(quote_buf)) +- elif next1 in '\r\n': ++ elif str(next1) in '\r\n': + if previous_non_space in newlineend_strings \ + or previous_non_space > '~': + while 1: +@@ -179,7 +186,7 @@ class JavascriptMinify(object): + or next2 > '~' or next2 == '/': + do_newline = True + break +- elif next1 < '!' and not in_re: ++ elif str(next1) < '!' and not in_re: + if (previous_non_space in space_strings \ + or previous_non_space > '~') \ + and (next2 in space_strings or next2 > '~'): +@@ -217,14 +224,14 @@ class JavascriptMinify(object): + do_newline = False + + write(next1) +- if not in_re and next1 in "'\"`": ++ if not in_re and str(next1) in "'\"`": + in_quote = next1 + quote_buf = [] + + previous = next1 + next1 = next2 + +- if previous >= '!': ++ if str(previous) >= '!': + previous_non_space = previous + + if previous == '\\': +diff --git a/Source/WebKit2/Scripts/generate-message-receiver.py b/Source/WebKit2/Scripts/generate-message-receiver.py +index 6413a8bf3..8702117f0 100644 +--- a/Source/WebKit2/Scripts/generate-message-receiver.py ++++ b/Source/WebKit2/Scripts/generate-message-receiver.py +@@ -22,7 +22,7 @@ + # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-from __future__ import with_statement ++ + import sys + + import webkit.messages +diff --git a/Source/WebKit2/Scripts/generate-messages-header.py b/Source/WebKit2/Scripts/generate-messages-header.py +index ad73a5283..b35ee7d51 100644 +--- a/Source/WebKit2/Scripts/generate-messages-header.py ++++ b/Source/WebKit2/Scripts/generate-messages-header.py +@@ -22,7 +22,7 @@ + # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +-from __future__ import with_statement ++ + import sys + + import webkit.messages +diff --git a/Source/WebKit2/Scripts/webkit/messages_unittest.py b/Source/WebKit2/Scripts/webkit/messages_unittest.py +index 164199fc2..5f58e1919 100644 +--- a/Source/WebKit2/Scripts/webkit/messages_unittest.py ++++ b/Source/WebKit2/Scripts/webkit/messages_unittest.py +@@ -24,7 +24,7 @@ import os + import re + import sys + import unittest +-from StringIO import StringIO ++from io import StringIO + + sys.path.append(os.path.dirname(os.path.dirname(__file__))) + from webkit import messages +@@ -255,43 +255,43 @@ class MessagesTest(unittest.TestCase): + + class ParsingTest(MessagesTest): + def check_message(self, message, expected_message): +- self.assertEquals(message.name, expected_message['name']) +- self.assertEquals(len(message.parameters), len(expected_message['parameters'])) ++ self.assertEqual(message.name, expected_message['name']) ++ self.assertEqual(len(message.parameters), len(expected_message['parameters'])) + for index, parameter in enumerate(message.parameters): + expected_parameter = expected_message['parameters'][index] +- self.assertEquals(parameter.type, expected_parameter[0]) +- self.assertEquals(parameter.name, expected_parameter[1]) ++ self.assertEqual(parameter.type, expected_parameter[0]) ++ self.assertEqual(parameter.name, expected_parameter[1]) + if len(expected_parameter) > 2: +- self.assertEquals(parameter.attributes, frozenset(expected_parameter[2])) ++ self.assertEqual(parameter.attributes, frozenset(expected_parameter[2])) + for attribute in expected_parameter[2]: + self.assertTrue(parameter.has_attribute(attribute)) + else: +- self.assertEquals(parameter.attributes, frozenset()) ++ self.assertEqual(parameter.attributes, frozenset()) + if message.reply_parameters is not None: + for index, parameter in enumerate(message.reply_parameters): +- self.assertEquals(parameter.type, expected_message['reply_parameters'][index][0]) +- self.assertEquals(parameter.name, expected_message['reply_parameters'][index][1]) ++ self.assertEqual(parameter.type, expected_message['reply_parameters'][index][0]) ++ self.assertEqual(parameter.name, expected_message['reply_parameters'][index][1]) + else: + self.assertFalse('reply_parameters' in expected_message) +- self.assertEquals(message.condition, expected_message['conditions']) ++ self.assertEqual(message.condition, expected_message['conditions']) + + def test_receiver(self): + """Receiver should be parsed as expected""" +- self.assertEquals(self.receiver.name, _expected_results['name']) +- self.assertEquals(self.receiver.condition, _expected_results['conditions']) +- self.assertEquals(len(self.receiver.messages), len(_expected_results['messages'])) ++ self.assertEqual(self.receiver.name, _expected_results['name']) ++ self.assertEqual(self.receiver.condition, _expected_results['conditions']) ++ self.assertEqual(len(self.receiver.messages), len(_expected_results['messages'])) + for index, message in enumerate(self.receiver.messages): + self.check_message(message, _expected_results['messages'][index]) + +- self.assertEquals(self.legacy_receiver.name, _expected_results['name']) +- self.assertEquals(self.legacy_receiver.condition, _expected_results['conditions']) +- self.assertEquals(len(self.legacy_receiver.messages), len(_expected_results['messages'])) ++ self.assertEqual(self.legacy_receiver.name, _expected_results['name']) ++ self.assertEqual(self.legacy_receiver.condition, _expected_results['conditions']) ++ self.assertEqual(len(self.legacy_receiver.messages), len(_expected_results['messages'])) + for index, message in enumerate(self.legacy_receiver.messages): + self.check_message(message, _expected_results['messages'][index]) + +- self.assertEquals(self.superclass_receiver.name, _expected_superclass_results['name']) +- self.assertEquals(self.superclass_receiver.superclass, _expected_superclass_results['superclass']) +- self.assertEquals(len(self.superclass_receiver.messages), len(_expected_superclass_results['messages'])) ++ self.assertEqual(self.superclass_receiver.name, _expected_superclass_results['name']) ++ self.assertEqual(self.superclass_receiver.superclass, _expected_superclass_results['superclass']) ++ self.assertEqual(len(self.superclass_receiver.messages), len(_expected_superclass_results['messages'])) + for index, message in enumerate(self.superclass_receiver.messages): + self.check_message(message, _expected_superclass_results['messages'][index]) + +@@ -309,9 +309,9 @@ class GeneratedFileContentsTest(unittest.TestCase): + expected_line_list = expected_file_contents.splitlines(False) + + for index, actual_line in enumerate(actual_line_list): +- self.assertEquals(actual_line, expected_line_list[index]) ++ self.assertEqual(actual_line, expected_line_list[index]) + +- self.assertEquals(len(actual_line_list), len(expected_line_list)) ++ self.assertEqual(len(actual_line_list), len(expected_line_list)) + + def assertHeaderEqual(self, input_messages_file_contents, expected_file_name): + actual_file_contents = messages.generate_messages_header(StringIO(input_messages_file_contents)) +@@ -344,11 +344,11 @@ class ReceiverImplementationTest(GeneratedFileContentsTest): + + class UnsupportedPrecompilerDirectiveTest(unittest.TestCase): + def test_error_at_else(self): +- with self.assertRaisesRegexp(Exception, r"ERROR: '#else.*' is not supported in the \*\.in files"): ++ with self.assertRaisesRegex(Exception, r"ERROR: '#else.*' is not supported in the \*\.in files"): + messages.generate_message_handler(StringIO("asd\n#else bla\nfoo")) + + def test_error_at_elif(self): +- with self.assertRaisesRegexp(Exception, r"ERROR: '#elif.*' is not supported in the \*\.in files"): ++ with self.assertRaisesRegex(Exception, r"ERROR: '#elif.*' is not supported in the \*\.in files"): + messages.generate_message_handler(StringIO("asd\n#elif bla\nfoo")) + + +diff --git a/Source/cmake/WebKitCommon.cmake b/Source/cmake/WebKitCommon.cmake +index de4ac8f65..1ba7b58ea 100644 +--- a/Source/cmake/WebKitCommon.cmake ++++ b/Source/cmake/WebKitCommon.cmake +@@ -25,9 +25,6 @@ if (NOT HAS_RUN_WEBKIT_COMMON) + find_package(Perl 5.10.0 REQUIRED) + + find_package(PythonInterp 2.7.0 REQUIRED) +- if (PYTHON_VERSION_MAJOR GREATER 2) +- message(FATAL_ERROR "Python 2 is required, but Python ${PYTHON_VERSION_MAJOR} was found.") +- endif () + + # We cannot check for RUBY_FOUND because it is set only when the full package is installed and + # the only thing we need is the interpreter. Unlike Python, cmake does not provide a macro +diff --git a/Tools/jhbuild/jhbuildutils.py b/Tools/jhbuild/jhbuildutils.py +index c00160e7e..f4edc29a2 100644 +--- a/Tools/jhbuild/jhbuildutils.py ++++ b/Tools/jhbuild/jhbuildutils.py +@@ -1,7 +1,7 @@ + import glob + import os.path + import sys +-import __builtin__ ++import builtins + + top_level_dir = None + +@@ -35,9 +35,9 @@ def enter_jhbuild_environment_if_available(platform): + sys.path.insert(0, source_path) + + # When loading jhbuild from the source checkout it fails if the SRCDIR, PKGDATADIR or DATADIR aren't present. +- __builtin__.__dict__['SRCDIR'] = source_path +- __builtin__.__dict__['PKGDATADIR'] = None +- __builtin__.__dict__['DATADIR'] = None ++ builtins.__dict__['SRCDIR'] = source_path ++ builtins.__dict__['PKGDATADIR'] = None ++ builtins.__dict__['DATADIR'] = None + + # We don't know the Python version, so we just assume that we can safely take the first one in the list. + site_packages_path = glob.glob(os.path.join(get_dependencies_path(platform), "Root", "lib", "*", "site-packages")) +@@ -49,7 +49,7 @@ def enter_jhbuild_environment_if_available(platform): + import jhbuild.config + from jhbuild.errors import FatalError + config = jhbuild.config.Config(get_config_file_for_platform(platform), []) +- except FatalError, exception: ++ except FatalError as exception: + sys.stderr.write('Could not load jhbuild config file: %s\n' % exception.args[0]) + return False + +-- +2.21.0 + diff --git a/recipes-qt/qt5/qtwebkit/0002-Do-not-skip-build-for-cross-compile.patch b/recipes-qt/qt5/qtwebkit/0002-Do-not-skip-build-for-cross-compile.patch new file mode 100644 index 00000000..a237d03d --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0002-Do-not-skip-build-for-cross-compile.patch @@ -0,0 +1,28 @@ +From 34018c2a61045c58f88e09a12ecd62533aa2c2f1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 4 Jun 2018 10:35:46 +0200 +Subject: [PATCH] Do not skip build for cross-compile +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller +--- + Tools/qmake/mkspecs/features/functions.prf | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf +index e3f42cec4..797b7085f 100644 +--- a/Tools/qmake/mkspecs/features/functions.prf ++++ b/Tools/qmake/mkspecs/features/functions.prf +@@ -53,8 +53,6 @@ defineReplace(appleSdkVersion) { + defineTest(isPlatformSupported) { + !qtHaveModule(widgets): skipBuild("QtWidgets module is required to build QtWebKit.") + +- cross_compile: skipBuild("cross-compilation of QtWebKit with qmake is not supported yet") +- + requiredPrograms = cmake gperf python perl bison ruby flex + for(program, requiredPrograms): \ + !programExistsInPath($$program): \ diff --git a/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch b/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch deleted file mode 100644 index bf79b363..00000000 --- a/recipes-qt/qt5/qtwebkit/0002-Fix-build-with-non-glibc-libc-on-musl.patch +++ /dev/null @@ -1,69 +0,0 @@ -From c4ceb318aa1064bfa677cdd800c52155eb1bed3a Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Thu, 23 Aug 2018 04:06:17 +0000 -Subject: [PATCH] Fix build with non-glibc libc on musl - -Need to ensure glibc features are not assumed to be linux-wide - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - Source/JavaScriptCore/heap/MachineStackMarker.cpp | 8 ++++---- - .../inspector/JSGlobalObjectInspectorController.cpp | 2 ++ - 2 files changed, 6 insertions(+), 4 deletions(-) - -diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp -index 883914fd3..ce4e8d331 100644 ---- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp -+++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp -@@ -566,7 +566,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const - #error Unknown Architecture - #endif - --#elif defined(__GLIBC__) && ENABLE(JIT) -+#elif defined(__linux__) && ENABLE(JIT) - - #if CPU(X86) - return reinterpret_cast((uintptr_t) regs.machineContext.gregs[REG_ESP]); -@@ -665,7 +665,7 @@ void* MachineThreads::Thread::Registers::framePointer() const - #error Unknown Architecture - #endif - --#elif defined(__GLIBC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -747,7 +747,7 @@ void* MachineThreads::Thread::Registers::instructionPointer() const - #error Unknown Architecture - #endif - --#elif defined(__GLIBC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -@@ -838,7 +838,7 @@ void* MachineThreads::Thread::Registers::llintPC() const - #error Unknown Architecture - #endif - --#elif defined(__GLIBC__) -+#elif defined(__linux__) - - // The following sequence depends on glibc's sys/ucontext.h. - #if CPU(X86) -diff --git a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp -index fd7f869d4..e95391b32 100644 ---- a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp -+++ b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp -@@ -51,8 +51,10 @@ - #include - #if OS(DARWIN) || (OS(LINUX) && !PLATFORM(GTK)) - #include -+#if defined(__GLIBC__) - #include - #endif -+#endif - - #if ENABLE(REMOTE_INSPECTOR) - #include "JSGlobalObjectDebuggable.h" diff --git a/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch b/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch deleted file mode 100644 index ffd8da0f..00000000 --- a/recipes-qt/qt5/qtwebkit/0003-Fix-build-bug-for-armv32-BE.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f6576377f8bf2c854d8079b7f309f570b3d2bde4 Mon Sep 17 00:00:00 2001 -From: Lei Maohui -Date: Fri, 31 Aug 2018 15:42:48 +0900 -Subject: [PATCH] Fix build bug for armv32 BE. - -Upstream-Status: Pending - -Signed-off-by: Lei Maohui ---- - Source/WTF/wtf/dtoa/utils.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h -index 889642cee..05302e6e6 100644 ---- a/Source/WTF/wtf/dtoa/utils.h -+++ b/Source/WTF/wtf/dtoa/utils.h -@@ -49,7 +49,7 @@ - defined(__ARMEL__) || \ - defined(_MIPS_ARCH_MIPS32R2) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 --#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) -+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(_M_IX86) || defined(__i386__) - #if defined(_WIN32) diff --git a/recipes-qt/qt5/qtwebkit/0003-Fix-build-with-non-glibc-libc-on-musl.patch b/recipes-qt/qt5/qtwebkit/0003-Fix-build-with-non-glibc-libc-on-musl.patch new file mode 100644 index 00000000..bf79b363 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0003-Fix-build-with-non-glibc-libc-on-musl.patch @@ -0,0 +1,69 @@ +From c4ceb318aa1064bfa677cdd800c52155eb1bed3a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 23 Aug 2018 04:06:17 +0000 +Subject: [PATCH] Fix build with non-glibc libc on musl + +Need to ensure glibc features are not assumed to be linux-wide + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + Source/JavaScriptCore/heap/MachineStackMarker.cpp | 8 ++++---- + .../inspector/JSGlobalObjectInspectorController.cpp | 2 ++ + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp +index 883914fd3..ce4e8d331 100644 +--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp ++++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp +@@ -566,7 +566,7 @@ void* MachineThreads::Thread::Registers::stackPointer() const + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) && ENABLE(JIT) ++#elif defined(__linux__) && ENABLE(JIT) + + #if CPU(X86) + return reinterpret_cast((uintptr_t) regs.machineContext.gregs[REG_ESP]); +@@ -665,7 +665,7 @@ void* MachineThreads::Thread::Registers::framePointer() const + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -747,7 +747,7 @@ void* MachineThreads::Thread::Registers::instructionPointer() const + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +@@ -838,7 +838,7 @@ void* MachineThreads::Thread::Registers::llintPC() const + #error Unknown Architecture + #endif + +-#elif defined(__GLIBC__) ++#elif defined(__linux__) + + // The following sequence depends on glibc's sys/ucontext.h. + #if CPU(X86) +diff --git a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp +index fd7f869d4..e95391b32 100644 +--- a/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp ++++ b/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp +@@ -51,8 +51,10 @@ + #include + #if OS(DARWIN) || (OS(LINUX) && !PLATFORM(GTK)) + #include ++#if defined(__GLIBC__) + #include + #endif ++#endif + + #if ENABLE(REMOTE_INSPECTOR) + #include "JSGlobalObjectDebuggable.h" diff --git a/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch b/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch new file mode 100644 index 00000000..ffd8da0f --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0004-Fix-build-bug-for-armv32-BE.patch @@ -0,0 +1,25 @@ +From f6576377f8bf2c854d8079b7f309f570b3d2bde4 Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Fri, 31 Aug 2018 15:42:48 +0900 +Subject: [PATCH] Fix build bug for armv32 BE. + +Upstream-Status: Pending + +Signed-off-by: Lei Maohui +--- + Source/WTF/wtf/dtoa/utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h +index 889642cee..05302e6e6 100644 +--- a/Source/WTF/wtf/dtoa/utils.h ++++ b/Source/WTF/wtf/dtoa/utils.h +@@ -49,7 +49,7 @@ + defined(__ARMEL__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) ++#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA) || CPU(ARM) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) + #if defined(_WIN32) diff --git a/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch deleted file mode 100644 index 14cb8aa4..00000000 --- a/recipes-qt/qt5/qtwebkit/0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 83aa5b3265d7c9f64e754cb890988cf8a5669ce7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 24 Sep 2018 02:11:10 -0700 -Subject: [PATCH] PlatformQt.cmake: Do not generate hardcoded include paths - -If we do not use this define,then it falls into else case which -generated .pri files with /usr/include and so on for includes and -compiler does not like specifying absolute include paths pointing to -build host includes - -Signed-off-by: Khem Raj ---- - Source/WebKit/PlatformQt.cmake | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake -index 9aed9906e..48638aef4 100644 ---- a/Source/WebKit/PlatformQt.cmake -+++ b/Source/WebKit/PlatformQt.cmake -@@ -512,7 +512,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) - install(FILES ${WebKit_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) - endif () - --if (KDE_INSTALL_USE_QT_SYS_PATHS) -+if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE) - set(WebKit_PRI_ARGUMENTS - BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" - LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" -@@ -737,7 +737,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) - install(FILES ${WebKitWidgets_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) - endif () - --if (KDE_INSTALL_USE_QT_SYS_PATHS) -+if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE) - set(WebKitWidgets_PRI_ARGUMENTS - BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" - LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" diff --git a/recipes-qt/qt5/qtwebkit/0005-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch b/recipes-qt/qt5/qtwebkit/0005-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch new file mode 100644 index 00000000..14cb8aa4 --- /dev/null +++ b/recipes-qt/qt5/qtwebkit/0005-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch @@ -0,0 +1,37 @@ +From 83aa5b3265d7c9f64e754cb890988cf8a5669ce7 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 24 Sep 2018 02:11:10 -0700 +Subject: [PATCH] PlatformQt.cmake: Do not generate hardcoded include paths + +If we do not use this define,then it falls into else case which +generated .pri files with /usr/include and so on for includes and +compiler does not like specifying absolute include paths pointing to +build host includes + +Signed-off-by: Khem Raj +--- + Source/WebKit/PlatformQt.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake +index 9aed9906e..48638aef4 100644 +--- a/Source/WebKit/PlatformQt.cmake ++++ b/Source/WebKit/PlatformQt.cmake +@@ -512,7 +512,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) + install(FILES ${WebKit_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) + endif () + +-if (KDE_INSTALL_USE_QT_SYS_PATHS) ++if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE) + set(WebKit_PRI_ARGUMENTS + BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" + LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" +@@ -737,7 +737,7 @@ if (NOT MACOS_BUILD_FRAMEWORKS) + install(FILES ${WebKitWidgets_PKGCONFIG_FILENAME} DESTINATION ${ECM_PKGCONFIG_INSTALL_DIR} COMPONENT Data) + endif () + +-if (KDE_INSTALL_USE_QT_SYS_PATHS) ++if (KDE_INSTALL_USE_QT_SYS_PATHS OR CROSS_COMPILE) + set(WebKitWidgets_PRI_ARGUMENTS + BIN_INSTALL_DIR "$$QT_MODULE_BIN_BASE" + LIB_INSTALL_DIR "$$QT_MODULE_LIB_BASE" diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index 942e733a..4655d9fd 100644 --- a/recipes-qt/qt5/qtwebkit_git.bb +++ b/recipes-qt/qt5/qtwebkit_git.bb @@ -12,20 +12,16 @@ DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt gperf- # Patches from https://github.com/meta-qt5/qtwebkit/commits/b5.13 # 5.13.meta-qt5.1 SRC_URI += "\ - file://0001-Do-not-skip-build-for-cross-compile.patch \ - file://0002-Fix-build-with-non-glibc-libc-on-musl.patch \ - file://0003-Fix-build-bug-for-armv32-BE.patch \ - file://0004-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ + file://0001-Port-build-to-python3.patch \ + file://0002-Do-not-skip-build-for-cross-compile.patch \ + file://0003-Fix-build-with-non-glibc-libc-on-musl.patch \ + file://0004-Fix-build-bug-for-armv32-BE.patch \ + file://0005-PlatformQt.cmake-Do-not-generate-hardcoded-include-p.patch \ " inherit cmake_qt5 perlnative -inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)} - -python() { - if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): - raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') -} +inherit python3native # qemuarm build fails with: # | {standard input}: Assembler messages: @@ -52,6 +48,7 @@ EXTRA_OECMAKE += " \ -DCROSS_COMPILE=ON \ -DECM_MKSPECS_INSTALL_DIR=${libdir}${QT_DIR_NAME}/mkspecs/modules \ -DQML_INSTALL_DIR=${OE_QMAKE_PATH_QML} \ + -DPYTHON_EXECUTABLE=`which python3` \ " EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}'" -- cgit v1.2.3 From f18d5948bb9d53e07241ef7f2b399e485e170d07 Mon Sep 17 00:00:00 2001 From: Nicola Lunghi <25422924+nicola-lunghi@users.noreply.github.com> Date: Wed, 5 Feb 2020 16:18:22 +0000 Subject: qtbase: fix build with platform where FE macro are not defined see added patch Signed-off-by: Nicola Lunghi --- ...r-FE_-macros-are-not-defined-for-every-pl.patch | 123 +++++++++++++++++++++ recipes-qt/qt5/qtbase_git.bb | 1 + 2 files changed, 124 insertions(+) create mode 100644 recipes-qt/qt5/qtbase/0022-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtbase/0022-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch b/recipes-qt/qt5/qtbase/0022-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch new file mode 100644 index 00000000..8aeca2ef --- /dev/null +++ b/recipes-qt/qt5/qtbase/0022-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch @@ -0,0 +1,123 @@ +From 9b192df7e06992b256eb49af5a213c1b0d3e341a Mon Sep 17 00:00:00 2001 +From: Nicola Lunghi +Date: Wed, 5 Feb 2020 15:32:25 +0000 +Subject: [PATCH] tst_qpainter: FE_ macros are not defined for every platform + +the FE_INEXACT, FE_UNDERFLOW, FE_OVERFLOW, FE_DIVBYZERO, FE_INVALID are defined +only for platforms with fp engine. + +Signed-off-by: Nicola Lunghi +Upstream-Status: submitted [https://codereview.qt-project.org/c/qt/qtbase/+/289447] +--- + .../gui/painting/qpainter/tst_qpainter.cpp | 50 ++++++++++++++----- + 1 file changed, 37 insertions(+), 13 deletions(-) + +diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp +index 6e48439944..3566ef24be 100644 +--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp ++++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp +@@ -2890,19 +2890,43 @@ void tst_QPainter::monoImages() + #if !defined(Q_OS_AIX) && !defined(Q_CC_MSVC) && !defined(Q_OS_SOLARIS) && !defined(__UCLIBC__) + #include + ++#if defined(FE_INEXACT) ++ #define QP_FE_INEXACT (FE_INEXACT) ++#else ++ #define QP_FE_INEXACT 0 ++#endif ++#if defined(FE_UNDERFLOW) ++ #define QP_FE_UNDERFLOW (FE_UNDERFLOW) ++#else ++ #define QP_FE_UNDERFLOW 0 ++#endif ++#if defined(FE_OVERFLOW) ++ #define QP_FE_OVERFLOW (FE_OVERFLOW) ++#else ++ #define QP_FE_OVERFLOW 0 ++#endif ++#if defined(FE_DIVBYZERO) ++ #define QP_FE_DIVBYZERO (FE_DIVBYZERO) ++#else ++ #define QP_FE_DIVBYZERO 0 ++#endif ++#if defined(FE_INVALID) ++ #define QP_FE_INVALID (FE_INVALID) ++#else ++ #define QP_FE_INVALID 0 ++#endif ++ + static const QString fpeExceptionString(int exception) + { +-#ifdef FE_INEXACT +- if (exception & FE_INEXACT) ++ if (exception & QP_FE_INEXACT) + return QLatin1String("Inexact result"); +-#endif +- if (exception & FE_UNDERFLOW) ++ if (exception & QP_FE_UNDERFLOW) + return QLatin1String("Underflow"); +- if (exception & FE_OVERFLOW) ++ if (exception & QP_FE_OVERFLOW) + return QLatin1String("Overflow"); +- if (exception & FE_DIVBYZERO) ++ if (exception & QP_FE_DIVBYZERO) + return QLatin1String("Divide by zero"); +- if (exception & FE_INVALID) ++ if (exception & QP_FE_INVALID) + return QLatin1String("Invalid operation"); + return QLatin1String("No exception"); + } +@@ -2928,7 +2952,7 @@ private: + + void fpe_rasterizeLine_task232012() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + QImage img(128, 128, QImage::Format_ARGB32_Premultiplied); + img.fill(0x0); + QPainter p(&img); +@@ -2940,7 +2964,7 @@ void fpe_rasterizeLine_task232012() + + void fpe_pixmapTransform() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(128, 128, QImage::Format_ARGB32_Premultiplied); + +@@ -2968,7 +2992,7 @@ void fpe_pixmapTransform() + + void fpe_zeroLengthLines() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(128, 128, QImage::Format_ARGB32_Premultiplied); + +@@ -2980,7 +3004,7 @@ void fpe_zeroLengthLines() + + void fpe_divByZero() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(128, 128, QImage::Format_ARGB32_Premultiplied); + +@@ -3003,7 +3027,7 @@ void fpe_divByZero() + + void fpe_steepSlopes() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(1024, 1024, QImage::Format_ARGB32_Premultiplied); + +@@ -3022,7 +3046,7 @@ void fpe_steepSlopes() + + void fpe_radialGradients() + { +- FpExceptionChecker checker(FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID | FE_DIVBYZERO); ++ FpExceptionChecker checker(QP_FE_UNDERFLOW | QP_FE_OVERFLOW | QP_FE_INVALID | QP_FE_DIVBYZERO); + + QImage img(21, 21, QImage::Format_ARGB32_Premultiplied); + img.fill(0); diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index cda7f5d3..4de47ca4 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -34,6 +34,7 @@ SRC_URI += "\ 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 \ + file://0022-tst_qpainter-FE_-macros-are-not-defined-for-every-pl.patch \ " # for syncqt -- cgit v1.2.3 From abb423512d10d7554e0d62b3a593ce5e436f2756 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 17 Feb 2020 22:34:30 -0800 Subject: qtwebview: Skip if meta-python is not present It needs qtwebengine which needs python2 so skip it when python2 is not present Signed-off-by: Khem Raj --- recipes-qt/qt5/qtwebview_git.bb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebview_git.bb b/recipes-qt/qt5/qtwebview_git.bb index 5d102629..c0ca6118 100644 --- a/recipes-qt/qt5/qtwebview_git.bb +++ b/recipes-qt/qt5/qtwebview_git.bb @@ -20,3 +20,8 @@ COMPATIBLE_MACHINE_armv7ve = "(.*)" COMPATIBLE_MACHINE_aarch64 = "(.*)" SRCREV = "94c697c37945dedb37a55c1a9669d868f8c97f41" + +python() { + if 'meta-python2' not in d.getVar('BBFILE_COLLECTIONS').split(): + raise bb.parse.SkipRecipe('Requires meta-python2 to be present.') +} -- cgit v1.2.3 From b5e4f9250ae7f71901d6b076e0d46fe1d7ec673a Mon Sep 17 00:00:00 2001 From: Mikko Gronoff Date: Wed, 19 Feb 2020 09:29:01 +0200 Subject: qtquicktimeline: add recipe Change-Id: I064f5a4d6b6e275ccef631dd82f1f89dad7bf5b1 Reviewed-by: Samuli Piippo --- recipes-qt/qt5/qtquicktimeline_git.bb | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 recipes-qt/qt5/qtquicktimeline_git.bb (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtquicktimeline_git.bb b/recipes-qt/qt5/qtquicktimeline_git.bb new file mode 100644 index 00000000..5d030fb1 --- /dev/null +++ b/recipes-qt/qt5/qtquicktimeline_git.bb @@ -0,0 +1,13 @@ +require qt5.inc +require qt5-git.inc + +DESCRIPTION = "Qt Quick Timeline" +LICENSE = "GPL-2.0+ | The-Qt-Company-Commercial" +LIC_FILES_CHKSUM = " \ + file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \ + " + +DEPENDS = "qtbase qtdeclarative" + +SRCREV = "7f05ba0039134598dffa17c2ef3e234b5e27241a" -- cgit v1.2.3 From 9be6548e07e46d037ea991955e0ddd9be635ad5a Mon Sep 17 00:00:00 2001 From: Mikko Gronoff Date: Wed, 26 Feb 2020 09:37:18 +0200 Subject: qt5: update submodules Update to latest content in Qt 5.14 branch. Task-number: QTBUG-81892 Change-Id: Ie6dc04df9a62662a0394330775441cc0ba0b2ebc Reviewed-by: Samuli Piippo --- recipes-qt/qt5/nativesdk-qtbase_git.bb | 2 +- recipes-qt/qt5/qt3d_git.bb | 2 +- recipes-qt/qt5/qtbase-native_git.bb | 2 +- recipes-qt/qt5/qtbase_git.bb | 2 +- recipes-qt/qt5/qtcharts_git.bb | 2 +- recipes-qt/qt5/qtcoap_git.bb | 2 +- recipes-qt/qt5/qtconnectivity_git.bb | 2 +- recipes-qt/qt5/qtdeclarative_git.bb | 2 +- recipes-qt/qt5/qtimageformats_git.bb | 2 +- recipes-qt/qt5/qtlocation_git.bb | 2 +- recipes-qt/qt5/qtmultimedia_git.bb | 2 +- recipes-qt/qt5/qtquick3d_git.bb | 2 +- recipes-qt/qt5/qtquickcontrols2_git.bb | 2 +- recipes-qt/qt5/qtscript_git.bb | 2 +- recipes-qt/qt5/qttools_git.bb | 2 +- recipes-qt/qt5/qtwebengine_git.bb | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index ca602882..907a2559 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -194,4 +194,4 @@ fakeroot do_generate_qt_environment_file() { do_generate_qt_environment_file[umask] = "022" addtask generate_qt_environment_file after do_install before do_package -SRCREV = "d29aaf598ab565600af2619d91e05459f7bad0aa" +SRCREV = "835e18d9ff79867f508fc8baac7fcc5bb4efc0cb" diff --git a/recipes-qt/qt5/qt3d_git.bb b/recipes-qt/qt5/qt3d_git.bb index 7b5f024c..ffce87e0 100644 --- a/recipes-qt/qt5/qt3d_git.bb +++ b/recipes-qt/qt5/qt3d_git.bb @@ -36,6 +36,6 @@ do_configure_prepend() { ${S}/src/quick3d/imports/input/importsinput.pro } -SRCREV = "d33c1630b09fcdad83f69bfd2530354584b2f42b" +SRCREV = "597c9df33c2c8a9e91e3ad1de48b1200ebca6586" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index 8dca0dca..b9284b86 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -142,4 +142,4 @@ do_install() { echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake } -SRCREV = "d29aaf598ab565600af2619d91e05459f7bad0aa" +SRCREV = "835e18d9ff79867f508fc8baac7fcc5bb4efc0cb" diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index 19512b32..eb3225e3 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -295,4 +295,4 @@ sed -i \ $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qmodule.pri } -SRCREV = "d29aaf598ab565600af2619d91e05459f7bad0aa" +SRCREV = "835e18d9ff79867f508fc8baac7fcc5bb4efc0cb" diff --git a/recipes-qt/qt5/qtcharts_git.bb b/recipes-qt/qt5/qtcharts_git.bb index f811f171..3ce8e3e1 100644 --- a/recipes-qt/qt5/qtcharts_git.bb +++ b/recipes-qt/qt5/qtcharts_git.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative qtmultimedia" -SRCREV = "9d1491a38e927893340bde238ffcefe970abd9f9" +SRCREV = "5d0f4509012b9512e55f0a2483440d81bf32502c" # The same issue as in qtbase: # http://errors.yoctoproject.org/Errors/Details/152641/ diff --git a/recipes-qt/qt5/qtcoap_git.bb b/recipes-qt/qt5/qtcoap_git.bb index 764c7e98..846c321d 100644 --- a/recipes-qt/qt5/qtcoap_git.bb +++ b/recipes-qt/qt5/qtcoap_git.bb @@ -11,4 +11,4 @@ PACKAGECONFIG[qtdeclarative] = ",,qtdeclarative" DEPENDS += "qtbase" -SRCREV = "074a8388c64feaa2388ad902906a9ac4a8a842ce" +SRCREV = "ef3d6d957a01c836370c83fdfd64b7e54f4a6c5e" diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb index a97cbe13..6e175271 100644 --- a/recipes-qt/qt5/qtconnectivity_git.bb +++ b/recipes-qt/qt5/qtconnectivity_git.bb @@ -19,4 +19,4 @@ PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,bluez5" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "db6cd4110594abe09079ed4106d8fd30a848efa4" +SRCREV = "a2769b323dc890def9dffaf98c768cec12eba3c0" diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 2ebeed5f..962c454b 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -28,6 +28,6 @@ do_install_append_class-nativesdk() { rm -rf ${D}${OE_QMAKE_PATH_QML} } -SRCREV = "4e15f2135cdbefd9999a17d4e4fff5ea93679fac" +SRCREV = "dd481a2bb4f858178b984a38cd8c3621d46446b7" BBCLASSEXTEND =+ "native nativesdk" diff --git a/recipes-qt/qt5/qtimageformats_git.bb b/recipes-qt/qt5/qtimageformats_git.bb index 91a4d0ef..ecbe95cb 100644 --- a/recipes-qt/qt5/qtimageformats_git.bb +++ b/recipes-qt/qt5/qtimageformats_git.bb @@ -25,4 +25,4 @@ PACKAGECONFIG[libwebp] = ",CONFIG+=done_config_libwebp,libwebp" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "4defbd4c1b8a6450d690b11e98ae3e1f93cc96d6" +SRCREV = "9584748fc6847240fd6b748e6735e91e451b8958" diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb index 1bd356a9..61b9119a 100644 --- a/recipes-qt/qt5/qtlocation_git.bb +++ b/recipes-qt/qt5/qtlocation_git.bb @@ -35,7 +35,7 @@ SRC_URI += " \ ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=${QT_MODULE_BRANCH_MAPBOXGL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \ " -SRCREV_qtlocation = "f813d6af4e41b8b60652265827c0c06deb888f66" +SRCREV_qtlocation = "1fb878d8de41a2cfd2e0afe4c939679bbb65fdb2" SRCREV_qtlocation-mapboxgl = "d9577fdebe019b19e184b4cac82749ae9ec87afb" SRCREV_FORMAT = "qtlocation_qtlocation-mapboxgl" diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb index 3e99f5ef..e99f50bd 100644 --- a/recipes-qt/qt5/qtmultimedia_git.bb +++ b/recipes-qt/qt5/qtmultimedia_git.bb @@ -37,4 +37,4 @@ SRC_URI += "\ # http://errors.yoctoproject.org/Errors/Build/44914/ LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "daac69f2f9e9ff9be06484dbdc10d139e83ab502" +SRCREV = "12460a14bde44d1ff7bedd75bc87c7f22d096588" diff --git a/recipes-qt/qt5/qtquick3d_git.bb b/recipes-qt/qt5/qtquick3d_git.bb index ca9c0bff..56f1da9e 100644 --- a/recipes-qt/qt5/qtquick3d_git.bb +++ b/recipes-qt/qt5/qtquick3d_git.bb @@ -21,7 +21,7 @@ FILES_${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick3D/Helpers/meshes/*.mesh \ " -SRCREV_qtquick3d = "7e17ebbcbb5e68dd319aa7307638469c3d9f3220" +SRCREV_qtquick3d = "82e8864f497af2b2a54d8308c793ebd1ecfc3be4" SRCREV_assimp = "5c900d689a5db5637b98f665fc1e9e9c9ed416b9" SRCREV_FORMAT = "qtquick3d_assimp" diff --git a/recipes-qt/qt5/qtquickcontrols2_git.bb b/recipes-qt/qt5/qtquickcontrols2_git.bb index 7f8b32a0..f4a89a82 100644 --- a/recipes-qt/qt5/qtquickcontrols2_git.bb +++ b/recipes-qt/qt5/qtquickcontrols2_git.bb @@ -10,4 +10,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtdeclarative qtdeclarative-native" -SRCREV = "b10912ba731144e8c41cbfa35fb1553ad04b2b88" +SRCREV = "09476c590ab13623130d5ac79045fa68e504be96" diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb index 349b1120..3a98a793 100644 --- a/recipes-qt/qt5/qtscript_git.bb +++ b/recipes-qt/qt5/qtscript_git.bb @@ -36,4 +36,4 @@ DEPENDS += "qtbase" # http://errors.yoctoproject.org/Errors/Build/44915/ LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" -SRCREV = "5eedef9953db0859cf9d13b618ea51a071febe39" +SRCREV = "bfaadab30cb804204e90498437c360b037cc0b8d" diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb index a5c0182b..1737f5de 100644 --- a/recipes-qt/qt5/qttools_git.bb +++ b/recipes-qt/qt5/qttools_git.bb @@ -49,7 +49,7 @@ EXTRA_QMAKEVARS_PRE_append_class-target = "\ ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=config_clang', 'CONFIG+=config_clang_done CONFIG-=config_clang', d)} \ " -SRCREV = "a3d82bec9678fda3d8c8b7766e83267142d1ef4a" +SRCREV = "698ffa215fd3fd7b8dd67ed9be88ca1a6731df91" BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index d4c6ab1e..56510ae3 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -180,7 +180,7 @@ SRC_URI_append_libc-musl = "\ file://chromium/0023-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ " -SRCREV_qtwebengine = "853c29aec4b81f1d9467b5b00e98cbd3b1f95e1c" +SRCREV_qtwebengine = "97bfaef8a39419d9524ef6ebbd073e5aee9c9c7d" SRCREV_chromium = "a9a20127e8adeb3f3cd7921b0bec32083103cc5c" SRCREV = "${SRCREV_qtwebengine}" -- cgit v1.2.3 From 7637ea77fa521c348da331d103ce96ed4d8b57f5 Mon Sep 17 00:00:00 2001 From: Mikko Gronoff Date: Fri, 28 Feb 2020 14:38:50 +0200 Subject: qt5: update submodules Update to latest content in Qt 5.14.2 branch. Task-number: QTBUG-81892 Change-Id: I08479294a9596061e99aece47fff71532f7af720 --- recipes-qt/qt5/nativesdk-qtbase_git.bb | 2 +- recipes-qt/qt5/qtbase-native_git.bb | 2 +- recipes-qt/qt5/qtbase_git.bb | 2 +- recipes-qt/qt5/qtconnectivity_git.bb | 2 +- recipes-qt/qt5/qtdeclarative_git.bb | 2 +- recipes-qt/qt5/qtimageformats_git.bb | 2 +- recipes-qt/qt5/qtknx_git.bb | 2 +- recipes-qt/qt5/qtlocation_git.bb | 2 +- recipes-qt/qt5/qtquick3d_git.bb | 2 +- recipes-qt/qt5/qtremoteobjects_git.bb | 2 +- recipes-qt/qt5/qtserialbus_git.bb | 2 +- recipes-qt/qt5/qtsvg_git.bb | 2 +- recipes-qt/qt5/qttools_git.bb | 2 +- recipes-qt/qt5/qtwebengine_git.bb | 4 ++-- recipes-qt/qt5/qtwebsockets_git.bb | 2 +- 15 files changed, 16 insertions(+), 16 deletions(-) (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb index 907a2559..852fd415 100644 --- a/recipes-qt/qt5/nativesdk-qtbase_git.bb +++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb @@ -194,4 +194,4 @@ fakeroot do_generate_qt_environment_file() { do_generate_qt_environment_file[umask] = "022" addtask generate_qt_environment_file after do_install before do_package -SRCREV = "835e18d9ff79867f508fc8baac7fcc5bb4efc0cb" +SRCREV = "eaf7f572bfbcb33b106097923f4e0efdd9c683fc" diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb index b9284b86..5bec8220 100644 --- a/recipes-qt/qt5/qtbase-native_git.bb +++ b/recipes-qt/qt5/qtbase-native_git.bb @@ -142,4 +142,4 @@ do_install() { echo 'set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/lib${QT_DIR_NAME}/mkspecs/linux-oe-g++")' > ${D}${libdir}/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake } -SRCREV = "835e18d9ff79867f508fc8baac7fcc5bb4efc0cb" +SRCREV = "eaf7f572bfbcb33b106097923f4e0efdd9c683fc" diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index eb3225e3..4d11d244 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb @@ -295,4 +295,4 @@ sed -i \ $D${OE_QMAKE_PATH_ARCHDATA}/mkspecs/qmodule.pri } -SRCREV = "835e18d9ff79867f508fc8baac7fcc5bb4efc0cb" +SRCREV = "eaf7f572bfbcb33b106097923f4e0efdd9c683fc" diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb index 6e175271..4f8cde08 100644 --- a/recipes-qt/qt5/qtconnectivity_git.bb +++ b/recipes-qt/qt5/qtconnectivity_git.bb @@ -19,4 +19,4 @@ PACKAGECONFIG[bluez] = "-feature-bluez,-no-feature-bluez,bluez5" EXTRA_QMAKEVARS_CONFIGURE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "a2769b323dc890def9dffaf98c768cec12eba3c0" +SRCREV = "0282c2fc4ae437cb4f549f25f3e748a90e64f864" diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb index 962c454b..30002b12 100644 --- a/recipes-qt/qt5/qtdeclarative_git.bb +++ b/recipes-qt/qt5/qtdeclarative_git.bb @@ -28,6 +28,6 @@ do_install_append_class-nativesdk() { rm -rf ${D}${OE_QMAKE_PATH_QML} } -SRCREV = "dd481a2bb4f858178b984a38cd8c3621d46446b7" +SRCREV = "83fdcbf3be0ddbbee1fd2c8c9ff1a4e3c707e3f0" BBCLASSEXTEND =+ "native nativesdk" diff --git a/recipes-qt/qt5/qtimageformats_git.bb b/recipes-qt/qt5/qtimageformats_git.bb index ecbe95cb..72c2b35e 100644 --- a/recipes-qt/qt5/qtimageformats_git.bb +++ b/recipes-qt/qt5/qtimageformats_git.bb @@ -25,4 +25,4 @@ PACKAGECONFIG[libwebp] = ",CONFIG+=done_config_libwebp,libwebp" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "9584748fc6847240fd6b748e6735e91e451b8958" +SRCREV = "0c4d4dc12a68124451113e21d2c4fdc5d06d01d0" diff --git a/recipes-qt/qt5/qtknx_git.bb b/recipes-qt/qt5/qtknx_git.bb index c4678e42..c835c023 100644 --- a/recipes-qt/qt5/qtknx_git.bb +++ b/recipes-qt/qt5/qtknx_git.bb @@ -9,4 +9,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "69d6f65ed454aba274af2d7cd4e0e264888afa40" +SRCREV = "2d5aac2c4835286c6ba881d97a73f04093be556e" diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb index 61b9119a..475471d7 100644 --- a/recipes-qt/qt5/qtlocation_git.bb +++ b/recipes-qt/qt5/qtlocation_git.bb @@ -35,7 +35,7 @@ SRC_URI += " \ ${QT_GIT}/qtlocation-mapboxgl.git;name=qtlocation-mapboxgl;branch=${QT_MODULE_BRANCH_MAPBOXGL};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/mapbox-gl-native \ " -SRCREV_qtlocation = "1fb878d8de41a2cfd2e0afe4c939679bbb65fdb2" +SRCREV_qtlocation = "07de1d0f0f93b742434e2fcfda70bf70cb6373c9" SRCREV_qtlocation-mapboxgl = "d9577fdebe019b19e184b4cac82749ae9ec87afb" SRCREV_FORMAT = "qtlocation_qtlocation-mapboxgl" diff --git a/recipes-qt/qt5/qtquick3d_git.bb b/recipes-qt/qt5/qtquick3d_git.bb index 56f1da9e..4afe039f 100644 --- a/recipes-qt/qt5/qtquick3d_git.bb +++ b/recipes-qt/qt5/qtquick3d_git.bb @@ -21,7 +21,7 @@ FILES_${PN}-qmlplugins += " \ ${OE_QMAKE_PATH_QML}/QtQuick3D/Helpers/meshes/*.mesh \ " -SRCREV_qtquick3d = "82e8864f497af2b2a54d8308c793ebd1ecfc3be4" +SRCREV_qtquick3d = "2c425cf308188a0b3fc3f288ee71934a4ed4da40" SRCREV_assimp = "5c900d689a5db5637b98f665fc1e9e9c9ed416b9" SRCREV_FORMAT = "qtquick3d_assimp" diff --git a/recipes-qt/qt5/qtremoteobjects_git.bb b/recipes-qt/qt5/qtremoteobjects_git.bb index 0a936a42..c9660ca6 100644 --- a/recipes-qt/qt5/qtremoteobjects_git.bb +++ b/recipes-qt/qt5/qtremoteobjects_git.bb @@ -25,6 +25,6 @@ PACKAGECONFIG[tools-only] = "CONFIG+=tools-only" EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" -SRCREV = "9129bbda7b90469e710772cec60f6d6b5e878278" +SRCREV = "14daacff9654980381a1d0b7b09d0b25f6c9dbb2" BBCLASSEXTEND += "native nativesdk" diff --git a/recipes-qt/qt5/qtserialbus_git.bb b/recipes-qt/qt5/qtserialbus_git.bb index 73c53803..f4683f39 100644 --- a/recipes-qt/qt5/qtserialbus_git.bb +++ b/recipes-qt/qt5/qtserialbus_git.bb @@ -11,4 +11,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtserialport" -SRCREV = "ab6f188bf00a9572804baa7b788536247ce88626" +SRCREV = "b63877157c2c9681ced1efbfefe1d2d1debf812e" diff --git a/recipes-qt/qt5/qtsvg_git.bb b/recipes-qt/qt5/qtsvg_git.bb index 37915933..eb20dd8a 100644 --- a/recipes-qt/qt5/qtsvg_git.bb +++ b/recipes-qt/qt5/qtsvg_git.bb @@ -12,4 +12,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase" -SRCREV = "d072a505d7ff39d509b9c9e2de8722cd3549b4df" +SRCREV = "45530ad4c5c6d3e90fe6d5a63f3bb551f37ad917" diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb index 1737f5de..5182e8e2 100644 --- a/recipes-qt/qt5/qttools_git.bb +++ b/recipes-qt/qt5/qttools_git.bb @@ -49,7 +49,7 @@ EXTRA_QMAKEVARS_PRE_append_class-target = "\ ${@bb.utils.contains('PACKAGECONFIG', 'clang', 'CONFIG+=config_clang', 'CONFIG+=config_clang_done CONFIG-=config_clang', d)} \ " -SRCREV = "698ffa215fd3fd7b8dd67ed9be88ca1a6731df91" +SRCREV = "ce895f066579f71d87c3b46361e291ad7734e88e" BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index 56510ae3..0262d9bd 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -180,8 +180,8 @@ SRC_URI_append_libc-musl = "\ file://chromium/0023-chromium-musl-pread-pwrite.patch;patchdir=src/3rdparty \ " -SRCREV_qtwebengine = "97bfaef8a39419d9524ef6ebbd073e5aee9c9c7d" -SRCREV_chromium = "a9a20127e8adeb3f3cd7921b0bec32083103cc5c" +SRCREV_qtwebengine = "df5d831bae99662fab43ed2628187113c18aac2c" +SRCREV_chromium = "12a57d9c943eaa80d87481712fe58f7bf6678ba2" SRCREV = "${SRCREV_qtwebengine}" SRCREV_FORMAT = "qtwebengine_chromium" diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb index 253ab57a..3e050016 100644 --- a/recipes-qt/qt5/qtwebsockets_git.bb +++ b/recipes-qt/qt5/qtwebsockets_git.bb @@ -11,4 +11,4 @@ LIC_FILES_CHKSUM = " \ DEPENDS += "qtbase qtdeclarative" -SRCREV = "2d10eaba1607f3efaaf3020e4b7c57a31060177e" +SRCREV = "9d3eb184c72333a95ee8f9ee33bd51942271de64" -- cgit v1.2.3