Signed-off-by: Carlos Rafael Giani <d...@pseudoterminal.org> --- ...accelerated-Canvas-support-from-blacklist.patch | 43 ++++++++++++ ...Add-Linux-to-impl-side-painting-whitelist.patch | 39 +++++++++++ .../0003-Disable-API-keys-info-bar.patch | 33 ++++++++++ ...4-Remove-hard-coded-values-for-CC-and-CXX.patch | 43 ++++++++++++ .../0005-Remove-X-libraries-from-GYP-files.patch | 77 ++++++++++++++++++++++ recipes-browser/chromium/chromium_40.0.2214.91.bb | 32 +++++++++ 6 files changed, 267 insertions(+) create mode 100644 recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch create mode 100644 recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch create mode 100644 recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch create mode 100644 recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch create mode 100644 recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch create mode 100644 recipes-browser/chromium/chromium_40.0.2214.91.bb
diff --git a/recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch new file mode 100644 index 0000000..e2c1a5c --- /dev/null +++ b/recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch @@ -0,0 +1,43 @@ +From 821d9fde2302f68f7cb7f0b211f4f78220c97180 Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani <d...@pseudoterminal.org> +Date: Sun, 12 Oct 2014 17:54:18 +0200 +Subject: [PATCH] Remove accelerated Canvas support from blacklist + +Together with the --gpu-no-context-lost command line switch, this patch is +necessary to enable hardware accelerated 2D canvas rendering when using +EGL. + +Note the implications on the behavior of Canvas, in particular with lost +contexts, as discussed here: + +http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-September/206450.html + +Upstream-Status: Inappropiate [see link above] +--- + gpu/config/software_rendering_list_json.cc | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc +index b9f5e3a..ccf1460 100644 +--- a/gpu/config/software_rendering_list_json.cc ++++ b/gpu/config/software_rendering_list_json.cc +@@ -240,16 +240,6 @@ const char kSoftwareRenderingListJson[] = LONG_STRING_CONST( + ] + }, + { +- "id": 24, +- "description": "Accelerated 2d canvas is unstable in Linux at the moment", +- "os": { +- "type": "linux" +- }, +- "features": [ +- "accelerated_2d_canvas" +- ] +- }, +- { + "id": 27, + "description": "ATI/AMD cards with older drivers in Linux are crash-prone", + "cr_bugs": [95934, 94973, 136240, 357314], +-- +1.9.1 + diff --git a/recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch b/recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch new file mode 100644 index 0000000..b5916ca --- /dev/null +++ b/recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch @@ -0,0 +1,39 @@ +From 61cbd67e88f5e99185d7df1a05f842c58e691495 Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani <d...@pseudoterminal.org> +Date: Sun, 21 Dec 2014 01:01:04 +0100 +Subject: [PATCH] Add Linux to impl side painting whitelist + +Upstream-Status: Inappropriate [enable feature] + +Signed-off-by: Carlos Rafael Giani <d...@pseudoterminal.org> +--- + gpu/config/software_rendering_list_json.cc | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc +index ccf1460..8630d75 100644 +--- a/gpu/config/software_rendering_list_json.cc ++++ b/gpu/config/software_rendering_list_json.cc +@@ -1088,13 +1088,18 @@ LONG_STRING_CONST( + }, + { + "id": 99, +- "description": "GPU rasterization is blacklisted on non-Android", ++ "description": "GPU rasterization is blacklisted on non-Android and non-Linux (Yocto patch)", + "cr_bugs": [362779], + "exceptions": [ + { + "os": { + "type": "android" + } ++ }, ++ { ++ "os": { ++ "type": "linux" ++ } + } + ], + "features": [ +-- +1.9.1 + diff --git a/recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch new file mode 100644 index 0000000..f36fc24 --- /dev/null +++ b/recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch @@ -0,0 +1,33 @@ +From 68773f2faea2608145e820bf23cf5efaf50e3399 Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani <d...@pseudoterminal.org> +Date: Mon, 9 Jun 2014 15:05:11 +0200 +Subject: [PATCH] Disable API keys info bar + +Upstream-Status: Inappropriate [other] +The info bar is not a bug; it is just undesirable in some use cases. +A clean approach - which requires discussion with upstream - is to +disable it by using a command line option. + +Signed-off-by: Carlos Rafael Giani <d...@pseudoterminal.org> +--- + chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc b/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc +index edea11a..4aef68f 100644 +--- a/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc ++++ b/chrome/browser/ui/startup/google_api_keys_infobar_delegate.cc +@@ -18,8 +18,10 @@ void GoogleApiKeysInfoBarDelegate::Create(InfoBarService* infobar_service) { + if (google_apis::HasKeysConfigured()) + return; + ++#if 0 + infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar( + scoped_ptr<ConfirmInfoBarDelegate>(new GoogleApiKeysInfoBarDelegate()))); ++#endif + } + + GoogleApiKeysInfoBarDelegate::GoogleApiKeysInfoBarDelegate() +-- +1.9.1 + diff --git a/recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch new file mode 100644 index 0000000..402a674 --- /dev/null +++ b/recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch @@ -0,0 +1,43 @@ +From 518135b0cd6878e91e5fcf489f3185740ec307c0 Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani <d...@pseudoterminal.org> +Date: Sun, 12 Oct 2014 19:31:47 +0200 +Subject: [PATCH] Remove hard coded values for CC and CXX + +In spite of what the comment says, the environment variables do *not* +override the variables; "which which arm-linux-gnueabihf-gcc" etc. are +always called. To undo this, remove the change. + +Upstream-Status: Pending + +The default values cannot be overriden without the patch; upstream +might be interested in this. + +Signed-off-by: Carlos Rafael Giani <d...@pseudoterminal.org> +--- + build/common.gypi | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/build/common.gypi b/build/common.gypi +index 7ec5ae2..11e8d1d 100644 +--- a/build/common.gypi ++++ b/build/common.gypi +@@ -5808,16 +5808,6 @@ + ['CXX.host', '<(host_cxx)'], + ], + }], +- ['OS=="linux" and target_arch=="arm" and host_arch!="arm" and chromeos==0 and clang==0', { +- # Set default ARM cross compiling on linux. These can be overridden +- # using CC/CXX/etc environment variables. +- 'make_global_settings': [ +- ['CC', '<!(which arm-linux-gnueabihf-gcc)'], +- ['CXX', '<!(which arm-linux-gnueabihf-g++)'], +- ['CC.host', '<(host_cc)'], +- ['CXX.host', '<(host_cxx)'], +- ], +- }], + + # TODO(yyanagisawa): supports GENERATOR==make + # make generator doesn't support CC_wrapper without CC +-- +1.9.1 + diff --git a/recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch b/recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch new file mode 100644 index 0000000..632590a --- /dev/null +++ b/recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch @@ -0,0 +1,77 @@ +From 23e33854a1c5cddc56acd9abdbda14757b809c7d Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani <d...@pseudoterminal.org> +Date: Sun, 12 Oct 2014 18:08:37 +0200 +Subject: [PATCH] Remove X libraries from GYP files + +Some X libraries are linked even when ozone-wayland is used, causing +linker errors if no X libraries are around + +Upstream-Status: Pending + +Signed-off-by: Carlos Rafael Giani <d...@pseudoterminal.org> +--- + third_party/libjingle/source/talk/libjingle.gyp | 2 -- + third_party/libjingle/source/talk/libjingle_examples.gyp | 4 ---- + third_party/webrtc/base/base.gyp | 4 ---- + third_party/webrtc/modules/desktop_capture/desktop_capture.gypi | 2 +- + 4 files changed, 1 insertion(+), 11 deletions(-) + +diff --git a/third_party/libjingle/source/talk/libjingle.gyp b/third_party/libjingle/source/talk/libjingle.gyp +index 90d1f41..22655dc 100755 +--- a/third_party/libjingle/source/talk/libjingle.gyp ++++ b/third_party/libjingle/source/talk/libjingle.gyp +@@ -455,8 +455,6 @@ + ], + 'libraries': [ + '-lrt', +- '-lXext', +- '-lX11', + ], + }], + ['OS=="win"', { +diff --git a/third_party/libjingle/source/talk/libjingle_examples.gyp b/third_party/libjingle/source/talk/libjingle_examples.gyp +index f7ce53b..204bc1e 100755 +--- a/third_party/libjingle/source/talk/libjingle_examples.gyp ++++ b/third_party/libjingle/source/talk/libjingle_examples.gyp +@@ -207,10 +207,6 @@ + 'libraries': [ + '<!@(pkg-config --libs-only-l glib-2.0 gobject-2.0' + ' gthread-2.0 gtk+-2.0)', +- '-lX11', +- '-lXcomposite', +- '-lXext', +- '-lXrender', + ], + }, + }], # OS=="linux" +diff --git a/third_party/webrtc/base/base.gyp b/third_party/webrtc/base/base.gyp +index 2fd64ba..ccab4e9 100644 +--- a/third_party/webrtc/base/base.gyp ++++ b/third_party/webrtc/base/base.gyp +@@ -593,10 +593,6 @@ + 'libraries': [ + '-ldl', + '-lrt', +- '-lXext', +- '-lX11', +- '-lXcomposite', +- '-lXrender', + ], + }, + }, { +diff --git a/third_party/webrtc/modules/desktop_capture/desktop_capture.gypi b/third_party/webrtc/modules/desktop_capture/desktop_capture.gypi +index 1b702f2..93ede57 100644 +--- a/third_party/webrtc/modules/desktop_capture/desktop_capture.gypi ++++ b/third_party/webrtc/modules/desktop_capture/desktop_capture.gypi +@@ -97,7 +97,7 @@ + 'desktop_capture_differ_sse2', + ], + }], +- ['use_x11 == 1', { ++ ['use_x11 == 1 and <(ozone_platform_wayland) != 1', { + 'link_settings': { + 'libraries': [ + '-lX11', +-- +1.9.1 + diff --git a/recipes-browser/chromium/chromium_40.0.2214.91.bb b/recipes-browser/chromium/chromium_40.0.2214.91.bb new file mode 100644 index 0000000..d0ff07d --- /dev/null +++ b/recipes-browser/chromium/chromium_40.0.2214.91.bb @@ -0,0 +1,32 @@ +include chromium.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=537e0b52077bf0a616d0a0c8a79bc9d5" +SRC_URI += "\ + ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', 'file://chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-40/0003-Disable-API-keys-info-bar.patch', '', d)} \ + file://chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch \ + file://unistd-2.patch \ +" +SRC_URI[md5sum] = "1f5093bd7e435fdebad070e74bfb3438" +SRC_URI[sha256sum] = "f72fda9ff1ea256ab911610ee532eadf8303137d431f2481d01d3d60e5e64149" + +OZONE_WAYLAND_EXTRA_PATCHES += " \ + file://chromium-40/0005-Remove-X-libraries-from-GYP-files.patch \ +" +OZONE_WAYLAND_GIT_BRANCH = "Milestone-ThanksGiving" +OZONE_WAYLAND_GIT_SRCREV = "5d7baa9bc3b8c88e9b7e476e3d6bc8cd44a887fe" +# using 00*.patch to skip the WebRTC patches in ozone-wayland +# the WebRTC patches remove X11 libraries from the linker flags, which is +# already done by another patch (see above). Furthermore, to be able to use +# these patches, it is necessary to update the git repository in third_party/webrtc, +# which would further complicate this recipe. +OZONE_WAYLAND_PATCH_FILE_GLOB = "00*.patch" + +# Component build is broken in ozone-wayland for Chromium 40, +# and is not planned to work again before version 41 +python() { + if (d.getVar('ENABLE_X11', True) != '1') and (d.getVar('ENABLE_WAYLAND', True) == '1'): + if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d): + bb.fatal("Chromium 40 Wayland version cannot be built in component-mode") +} -- 1.9.1 -- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel