From 26b7fee65a3c23a9c2447d549668f373bfa76bae Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Tue, 1 Jul 2014 17:36:38 +0200 Subject: qtwebengine: Add 2 more patches to fix do_configure and fix QA warning * otherwise moc generated files have the same basename and do_configure fails with: core_generated.gyp:QtWebEngineCore#target has several files with the same basename: | javascript_dialog_controller: javascript_dialog_controller.cpp | /OE/build/oe-core/tmp-eglibc/work/i586-oe-linux/qtwebengine/0.9.99+gitAUTOINC+21f6ce84ec-r0/git/src/core/.moc/moc_/OE/build/oe-core/tmp-eglibc/work/i586-oe-linux/qtwebengine/0.9.99+gitAUTOI.moc+21f6ce84ec-r0/git/src/core/javascript_dialog_controller.cpp ... Signed-off-by: Martin Jansa --- recipes-qt/qt5/qtwebengine.inc | 3 + ...ild-time-only-dependency-on-x11-libraries.patch | 137 -------------------- ...ip-unwanted-echo-compiling-prefix-from-CC.patch | 38 ------ ...upplied-by-environment-variable-NINJA_PAT.patch | 36 ++++++ ...op-build-time-only-dependency-on-x11-libr.patch | 139 +++++++++++++++++++++ ...upplied-by-environment-variable-NINJA_PAT.patch | 36 ------ ...rip-unwanted-echo-compiling-prefix-from-C.patch | 40 ++++++ ...rf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch | 29 +++++ ...0003-functions.prf-Try-to-add-_moc-suffix.patch | 34 +++++ recipes-qt/qt5/qtwebengine_git.bb | 8 +- 10 files changed, 286 insertions(+), 214 deletions(-) delete mode 100644 recipes-qt/qt5/qtwebengine/0001-Drop-build-time-only-dependency-on-x11-libraries.patch delete mode 100644 recipes-qt/qt5/qtwebengine/0001-Strip-unwanted-echo-compiling-prefix-from-CC.patch create mode 100644 recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch create mode 100644 recipes-qt/qt5/qtwebengine/0001-chromium-Drop-build-time-only-dependency-on-x11-libr.patch delete mode 100644 recipes-qt/qt5/qtwebengine/0002-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch create mode 100644 recipes-qt/qt5/qtwebengine/0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch create mode 100644 recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch create mode 100644 recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch (limited to 'recipes-qt/qt5') diff --git a/recipes-qt/qt5/qtwebengine.inc b/recipes-qt/qt5/qtwebengine.inc index b6f56ae2..060faa7b 100644 --- a/recipes-qt/qt5/qtwebengine.inc +++ b/recipes-qt/qt5/qtwebengine.inc @@ -41,4 +41,7 @@ do_configure() { QMAKE_AR="${OE_QMAKE_AR}" } +do_install_append() { + rmdir ${D}${OE_QMAKE_PATH_PLUGINS}/${BPN} ${D}${OE_QMAKE_PATH_PLUGINS} || true +} PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src" diff --git a/recipes-qt/qt5/qtwebengine/0001-Drop-build-time-only-dependency-on-x11-libraries.patch b/recipes-qt/qt5/qtwebengine/0001-Drop-build-time-only-dependency-on-x11-libraries.patch deleted file mode 100644 index 7ee38d0c..00000000 --- a/recipes-qt/qt5/qtwebengine/0001-Drop-build-time-only-dependency-on-x11-libraries.patch +++ /dev/null @@ -1,137 +0,0 @@ -From f5c8e973f0a246691b71c256361bfa82619ee2ef Mon Sep 17 00:00:00 2001 -From: Simon Busch -Date: Fri, 20 Jun 2014 09:05:12 +0200 -Subject: [PATCH 1/2] Drop build time only dependency on x11 libraries - -Signed-off-by: Simon Busch ---- - src/3rdparty/chromium/build/linux/system.gyp | 114 --------------------------- - 1 file changed, 114 deletions(-) - -diff --git a/src/3rdparty/chromium/build/linux/system.gyp b/src/3rdparty/chromium/build/linux/system.gyp -index 9911317..85016b8 100644 ---- a/src/3rdparty/chromium/build/linux/system.gyp -+++ b/src/3rdparty/chromium/build/linux/system.gyp -@@ -786,119 +786,5 @@ - }], - ], - }, -- { -- 'target_name': 'x11', -- 'type': 'none', -- 'toolsets': ['host', 'target'], -- 'conditions': [ -- ['_toolset=="target"', { -- 'direct_dependent_settings': { -- 'cflags': [ -- ' -Date: Fri, 20 Jun 2014 19:04:14 +0200 -Subject: [PATCH] Strip unwanted "@echo compiling &&" prefix from ${CC} - -Causes problems when called from a perl script: - -@echo compiling && arm-webos-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon --sysroot=/home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/tenderloinCan't exec "@echo": No such file or directory at /home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/x86_64-linux/usr/lib/perl-native/perl/5.14.3/IPC/Open3.pm line 288. -open2: exec of @echo compiling && arm-webos-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon --sysroot=/home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/tenderloin -E -P -x c++ -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_SVG_FONTS=1 -DENABLE_GDI_FONTS_ON_WINDOWS=0 -DENABLE_HARFBUZZ_ON_WINDOWS=1 -DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_INPUT_MULTIPLE_FIELDS_UI=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_WEB_AUDIO=1 -DWTF_USE_WEBAUDIO_FFMPEG=1 -DENABLE_OPENTYPE_VERTICAL=1 -DWTF_USE_DEFAULT_RENDER_THEME=1 css/html.css failed at ../build/scripts/preprocessor.pm line 81 -Traceback (most recent call last): - File "../build/scripts/action_useragentstylesheets.py", line 124, in - sys.exit(main(sys.argv)) - File "../build/scripts/action_useragentstylesheets.py", line 118, in main - assert returnCode == 0 -AssertionError - -Signed-off-by: Simon Busch ---- - .../WebKit/Source/build/scripts/action_useragentstylesheets.py | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py b/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py -index c0712b3..8460637 100644 ---- a/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py -+++ b/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py -@@ -112,6 +112,9 @@ def main(args): - command.extend([outputH, outputCpp]) - command.extend(styleSheets) - -+ if os.environ["CC"].startswith("@echo"): -+ os.environ["CC"] = os.environ["CC"].replace("@echo compiling &&", "") -+ - # Do it. check_call is new in 2.5, so simulate its behavior with call and - # assert. - returnCode = subprocess.call(command) --- -1.9.1 - diff --git a/recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch b/recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch new file mode 100644 index 00000000..397929f4 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch @@ -0,0 +1,36 @@ +From daf8cd1ccd533d5546ff3a11d19710e0f155cc68 Mon Sep 17 00:00:00 2001 +From: Simon Busch +Date: Fri, 20 Jun 2014 09:09:12 +0200 +Subject: [PATCH 1/3] Use ninja supplied by environment variable NINJA_PATH + +Signed-off-by: Simon Busch +--- + tools/qmake/mkspecs/features/functions.prf | 14 ++------------ + 1 file changed, 2 insertions(+), 12 deletions(-) + +diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf +index 4dcd8ed..8725fd2 100644 +--- a/tools/qmake/mkspecs/features/functions.prf ++++ b/tools/qmake/mkspecs/features/functions.prf +@@ -84,16 +84,6 @@ defineReplace(which) { + } + + defineReplace(findOrBuildNinja) { +- git_chromium_src_dir = $$system("git config qtwebengine.chromiumsrcdir") +- # Fall back to the snapshot path if git does not know about chromium sources (i.e. init-repository.py has not been used) +- isEmpty(git_chromium_src_dir): git_chromium_src_dir = "src/3rdparty/chromium" +- +- out = $$absolute_path("$$git_chromium_src_dir/../ninja/ninja", "$$QTWEBENGINE_ROOT") +- win32: out = $$system_path($${out}.exe) +- +- # If we did not find ninja, then we bootstrap it. +- !exists($$out) { +- system("python $$dirname(out)/bootstrap.py") +- } +- return($$out) ++ message(Using ninja from path $$NINJA_PATH) ++ return($$NINJA_PATH) + } +-- +2.0.0 + diff --git a/recipes-qt/qt5/qtwebengine/0001-chromium-Drop-build-time-only-dependency-on-x11-libr.patch b/recipes-qt/qt5/qtwebengine/0001-chromium-Drop-build-time-only-dependency-on-x11-libr.patch new file mode 100644 index 00000000..abd351a6 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0001-chromium-Drop-build-time-only-dependency-on-x11-libr.patch @@ -0,0 +1,139 @@ +From 0c59430e6b919d4ffec80bfa6b50b9ce9953ac21 Mon Sep 17 00:00:00 2001 +From: Simon Busch +Date: Fri, 20 Jun 2014 09:05:12 +0200 +Subject: [PATCH 1/2] Drop build time only dependency on x11 + libraries + +Signed-off-by: Simon Busch +Signed-off-by: Martin Jansa +--- + chromium/build/linux/system.gyp | 114 ---------------------------------------- + 1 file changed, 114 deletions(-) + +diff --git a/src/3rdparty/chromium/build/linux/system.gyp b/src/3rdparty/chromium/build/linux/system.gyp +index 9911317..85016b8 100644 +--- a/src/3rdparty/chromium/build/linux/system.gyp ++++ b/src/3rdparty/chromium/build/linux/system.gyp +@@ -786,119 +786,5 @@ + }], + ], + }, +- { +- 'target_name': 'x11', +- 'type': 'none', +- 'toolsets': ['host', 'target'], +- 'conditions': [ +- ['_toolset=="target"', { +- 'direct_dependent_settings': { +- 'cflags': [ +- ' -Date: Fri, 20 Jun 2014 09:09:12 +0200 -Subject: [PATCH 2/2] Use ninja supplied by environment variable NINJA_PATH - -Signed-off-by: Simon Busch ---- - tools/qmake/mkspecs/features/functions.prf | 14 ++------------ - 1 file changed, 2 insertions(+), 12 deletions(-) - -diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf -index 4dcd8ed..8725fd2 100644 ---- a/tools/qmake/mkspecs/features/functions.prf -+++ b/tools/qmake/mkspecs/features/functions.prf -@@ -84,16 +84,6 @@ defineReplace(which) { - } - - defineReplace(findOrBuildNinja) { -- git_chromium_src_dir = $$system("git config qtwebengine.chromiumsrcdir") -- # Fall back to the snapshot path if git does not know about chromium sources (i.e. init-repository.py has not been used) -- isEmpty(git_chromium_src_dir): git_chromium_src_dir = "src/3rdparty/chromium" -- -- out = $$absolute_path("$$git_chromium_src_dir/../ninja/ninja", "$$QTWEBENGINE_ROOT") -- win32: out = $$system_path($${out}.exe) -- -- # If we did not find ninja, then we bootstrap it. -- !exists($$out) { -- system("python $$dirname(out)/bootstrap.py") -- } -- return($$out) -+ message(Using ninja from path $$NINJA_PATH) -+ return($$NINJA_PATH) - } --- -1.9.1 - diff --git a/recipes-qt/qt5/qtwebengine/0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch b/recipes-qt/qt5/qtwebengine/0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch new file mode 100644 index 00000000..0cbe7aa4 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch @@ -0,0 +1,40 @@ +From faaba972642f1966b4e38394b022d79de114c71e Mon Sep 17 00:00:00 2001 +From: Simon Busch +Date: Fri, 20 Jun 2014 19:04:14 +0200 +Subject: [PATCH 2/2] Strip unwanted "@echo compiling &&" prefix + from ${CC} + +Causes problems when called from a perl script: + +@echo compiling && arm-webos-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon --sysroot=/home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/tenderloinCan't exec "@echo": No such file or directory at /home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/x86_64-linux/usr/lib/perl-native/perl/5.14.3/IPC/Open3.pm line 288. +open2: exec of @echo compiling && arm-webos-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon --sysroot=/home/morphis/work/wop/webos-ports/tmp-eglibc/sysroots/tenderloin -E -P -x c++ -DENABLE_CUSTOM_SCHEME_HANDLER=0 -DENABLE_SVG_FONTS=1 -DENABLE_GDI_FONTS_ON_WINDOWS=0 -DENABLE_HARFBUZZ_ON_WINDOWS=1 -DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1 -DENABLE_INPUT_SPEECH=1 -DENABLE_INPUT_MULTIPLE_FIELDS_UI=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_MEDIA_CAPTURE=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=1 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_WEB_AUDIO=1 -DWTF_USE_WEBAUDIO_FFMPEG=1 -DENABLE_OPENTYPE_VERTICAL=1 -DWTF_USE_DEFAULT_RENDER_THEME=1 css/html.css failed at ../build/scripts/preprocessor.pm line 81 +Traceback (most recent call last): + File "../build/scripts/action_useragentstylesheets.py", line 124, in + sys.exit(main(sys.argv)) + File "../build/scripts/action_useragentstylesheets.py", line 118, in main + assert returnCode == 0 +AssertionError + +Signed-off-by: Simon Busch +Signed-off-by: Martin Jansa +--- + .../WebKit/Source/build/scripts/action_useragentstylesheets.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py b/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py +index c0712b3..8460637 100644 +--- a/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py ++++ b/src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/action_useragentstylesheets.py +@@ -112,6 +112,9 @@ def main(args): + command.extend([outputH, outputCpp]) + command.extend(styleSheets) + ++ if os.environ["CC"].startswith("@echo"): ++ os.environ["CC"] = os.environ["CC"].replace("@echo compiling &&", "") ++ + # Do it. check_call is new in 2.5, so simulate its behavior with call and + # assert. + returnCode = subprocess.call(command) +-- +2.0.0 + diff --git a/recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch b/recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch new file mode 100644 index 00000000..d9b75eb0 --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch @@ -0,0 +1,29 @@ +From fd954d63f62c551c5aeaab662b7ab42a3f2ab527 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Mon, 30 Jun 2014 20:08:17 +0200 +Subject: [PATCH 2/3] functions.prf: Don't match QMAKE_EXT_CPP or QMAKE_EXT_H + anywhere in patch, but at the end + +Signed-off-by: Martin Jansa +--- + tools/qmake/mkspecs/features/functions.prf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf +index 8725fd2..15c2941 100644 +--- a/tools/qmake/mkspecs/features/functions.prf ++++ b/tools/qmake/mkspecs/features/functions.prf +@@ -40,8 +40,8 @@ defineReplace(findIncludedMocFiles) { + defineReplace(mocOutput) { + out = $$1 + # The order is important, since the output of the second replace would end up accidentaly transformed by the first one +- out = $$replace(out, ^(.*)($$join(QMAKE_EXT_CPP,|)), $${QMAKE_CPP_MOD_MOC}\\1$${QMAKE_EXT_CPP_MOC}) +- out = $$replace(out, ^(.*)($$join(QMAKE_EXT_H,|)), $${QMAKE_H_MOD_MOC}\\1$${first(QMAKE_EXT_CPP)}) ++ out = $$replace(out, ^(.*)($$join(QMAKE_EXT_CPP,|))$, $${QMAKE_CPP_MOD_MOC}\\1$${QMAKE_EXT_CPP_MOC}) ++ out = $$replace(out, ^(.*)($$join(QMAKE_EXT_H,|))$, $${QMAKE_H_MOD_MOC}\\1$${first(QMAKE_EXT_CPP)}) + return($$out) + } + +-- +2.0.0 + diff --git a/recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch b/recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch new file mode 100644 index 00000000..bc5a75cc --- /dev/null +++ b/recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch @@ -0,0 +1,34 @@ +From 5089c3d10f13874e503f5548f40341d8f59e229f Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 1 Jul 2014 15:58:16 +0200 +Subject: [PATCH 3/3] functions.prf: Try to add _moc suffix + +* otherwise moc generated files have the same basename and do_configure fails with: + core_generated.gyp:QtWebEngineCore#target has several files with the same basename: + | javascript_dialog_controller: javascript_dialog_controller.cpp + | /OE/build/oe-core/tmp-eglibc/work/i586-oe-linux/qtwebengine/0.9.99+gitAUTOINC+21f6ce84ec-r0/git/src/core/.moc/moc_/OE/build/oe-core/tmp-eglibc/work/i586-oe-linux/qtwebengine/0.9.99+gitAUTOI.moc+21f6ce84ec-r0/git/src/core/javascript_dialog_controller.cpp + ... + +Signed-off-by: Martin Jansa +--- + tools/qmake/mkspecs/features/functions.prf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf +index 15c2941..78b1190 100644 +--- a/tools/qmake/mkspecs/features/functions.prf ++++ b/tools/qmake/mkspecs/features/functions.prf +@@ -40,8 +40,8 @@ defineReplace(findIncludedMocFiles) { + defineReplace(mocOutput) { + out = $$1 + # The order is important, since the output of the second replace would end up accidentaly transformed by the first one +- out = $$replace(out, ^(.*)($$join(QMAKE_EXT_CPP,|))$, $${QMAKE_CPP_MOD_MOC}\\1$${QMAKE_EXT_CPP_MOC}) +- out = $$replace(out, ^(.*)($$join(QMAKE_EXT_H,|))$, $${QMAKE_H_MOD_MOC}\\1$${first(QMAKE_EXT_CPP)}) ++ out = $$replace(out, ^(.*)($$join(QMAKE_EXT_CPP,|))$, $${QMAKE_CPP_MOD_MOC}\\1_moc$${QMAKE_EXT_CPP_MOC}) ++ out = $$replace(out, ^(.*)($$join(QMAKE_EXT_H,|))$, $${QMAKE_H_MOD_MOC}\\1_moc$${first(QMAKE_EXT_CPP)}) + return($$out) + } + +-- +2.0.0 + diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb index f4964bf7..d06c5214 100644 --- a/recipes-qt/qt5/qtwebengine_git.bb +++ b/recipes-qt/qt5/qtwebengine_git.bb @@ -14,9 +14,11 @@ QT_MODULE_BRANCH = "master" SRC_URI = " \ git://gitorious.org/qt-labs/qtwebengine.git;name=qtwebengine;protocol=git;branch=${QT_MODULE_BRANCH} \ git://gitorious.org/qt-labs/chromium.git;name=chromium;protocol=git;branch=${QT_MODULE_BRANCH};destsuffix=git/src/3rdparty \ - file://0001-Drop-build-time-only-dependency-on-x11-libraries.patch \ - file://0002-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch \ - file://0001-Strip-unwanted-echo-compiling-prefix-from-CC.patch \ + file://0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch \ + file://0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch \ + file://0003-functions.prf-Try-to-add-_moc-suffix.patch \ + file://0001-chromium-Drop-build-time-only-dependency-on-x11-libr.patch \ + file://0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch \ " SRCREV_qtwebengine = "21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b" SRCREV_chromium = "1f3cc8c2618979b557d60ef1ad984a49dca83bff" -- cgit v1.2.3-54-g00ecf