* [meta-browser][PATCH 0/4] chromium updates
@ 2016-07-20 19:51 Trevor Woerner
2016-07-20 19:51 ` [meta-browser][PATCH 1/4] chromium: remove unused patch Trevor Woerner
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Trevor Woerner @ 2016-07-20 19:51 UTC (permalink / raw)
To: openembedded-devel
Building chromium for wayland is a significantly more difficult action than
building it for x11. In order for chromium to run on top of wayland, a shim
is required. This shim is added by checking out a separate repository which
provides patches that are applied to the chromium sources. These patches
are only generated a couple times per year, meaning only a small number of
chromium releases are capable of being run on wayland. This artificially holds
back the versions of chromium which this recipe can provide.
This patch set:
- starts off with a little cleanup (removing an unused patch),
- adds gcc-6 support (making it possible to build successfully with gcc-6),
- splits the chromium recipe into wayland and x11 parts so each can move
independently and, therefore, lower the maintenance effort while keeping
up-to-date,
- updates the chromium-x11 recipe to 52.0.2743.76 which is considered the
latest stable (as per https://www.chromium.org/developers/calendar)
Trevor Woerner (4):
chromium: remove unused patch
chromium: gcc-6 support
chromium: split into -wayland and -x11
chromium-x11: update 48.0.2548.0 -> 52.0.2743.76
recipes-browser/chromium/chromium-browser.inc | 33 ++--
.../chromium/chromium-wayland_48.0.2548.0.bb | 32 ++++
.../chromium/chromium-x11_52.0.2743.76.bb | 18 ++
...0001-bignum.cc-disable-warning-from-gcc-5.patch | 60 -------
.../0002-Disable-API-keys-info-bar.patch | 33 ----
...-image_util.cc-disable-warning-from-gcc-5.patch | 39 -----
.../0008-Fix-GCC-uninitialized-warning.patch | 26 ---
...9-Fix-build-errors-with-GCC-in-Debug-mode.patch | 46 -----
...be-used-uninitialized-in-this-function-wa.patch | 25 ---
...for-unused-variable-error-in-ui-gfx-color.patch | 86 ----------
.../0006-Remove-GBM-support-from-wayland.gyp.patch | 0
...for-glib-related-build-error-with-ozone-w.patch | 0
.../0011-Replace-readdir_r-with-readdir.patch | 0
.../add_missing_stat_h_include.patch | 0
.../chromium/chromium-wayland/remove-Werror.patch | 73 ++++++++
.../0011-Replace-readdir_r-with-readdir.patch | 186 +++++++++++++++++++++
.../chromium-x11/add_missing_stat_h_include.patch | 39 +++++
.../chromium/chromium-x11/remove-Werror.patch | 74 ++++++++
recipes-browser/chromium/chromium/unistd-2.patch | 27 ---
recipes-browser/chromium/chromium_48.0.2548.0.bb | 50 ------
...accelerated-Canvas-support-from-blacklist.patch | 0
...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 0
...y-i18n_process_css_test.html-file-to-avoi.patch | 0
...erride-root-filesystem-access-restriction.patch | 0
recipes-browser/chromium/files/api-keys.patch | 13 ++
.../{chromium => files}/armv6/include.gypi | 0
.../{chromium => files}/armv6/oe-defaults.gypi | 0
.../{chromium => files}/armv7a/include.gypi | 0
.../{chromium => files}/armv7a/oe-defaults.gypi | 0
.../{chromium => files}/component-build.gypi | 0
.../chromium/{chromium => files}/google-chrome | 0
.../{chromium => files}/google-chrome.desktop | 0
.../{chromium => files}/x86-64/include.gypi | 0
.../{chromium => files}/x86-64/oe-defaults.gypi | 0
.../chromium/{chromium => files}/x86/include.gypi | 0
.../{chromium => files}/x86/oe-defaults.gypi | 0
36 files changed, 447 insertions(+), 413 deletions(-)
create mode 100644 recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
create mode 100644 recipes-browser/chromium/chromium-x11_52.0.2743.76.bb
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0002-Disable-API-keys-info-bar.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0006-Remove-GBM-support-from-wayland.gyp.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0011-Replace-readdir_r-with-readdir.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/add_missing_stat_h_include.patch (100%)
create mode 100644 recipes-browser/chromium/chromium/chromium-wayland/remove-Werror.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
delete mode 100644 recipes-browser/chromium/chromium/unistd-2.patch
delete mode 100644 recipes-browser/chromium/chromium_48.0.2548.0.bb
rename recipes-browser/chromium/{chromium/chromium-48 => files}/0001-Remove-accelerated-Canvas-support-from-blacklist.patch (100%)
rename recipes-browser/chromium/{chromium/chromium-48 => files}/0003-Remove-hard-coded-values-for-CC-and-CXX.patch (100%)
rename recipes-browser/chromium/{chromium/chromium-48 => files}/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch (100%)
rename recipes-browser/chromium/{chromium/chromium-48 => files}/0005-Override-root-filesystem-access-restriction.patch (100%)
create mode 100644 recipes-browser/chromium/files/api-keys.patch
rename recipes-browser/chromium/{chromium => files}/armv6/include.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/armv6/oe-defaults.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/armv7a/include.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/armv7a/oe-defaults.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/component-build.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/google-chrome (100%)
rename recipes-browser/chromium/{chromium => files}/google-chrome.desktop (100%)
rename recipes-browser/chromium/{chromium => files}/x86-64/include.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/x86-64/oe-defaults.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/x86/include.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/x86/oe-defaults.gypi (100%)
--
2.9.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [meta-browser][PATCH 1/4] chromium: remove unused patch
2016-07-20 19:51 [meta-browser][PATCH 0/4] chromium updates Trevor Woerner
@ 2016-07-20 19:51 ` Trevor Woerner
2016-07-20 19:51 ` [meta-browser][PATCH 2/4] chromium: gcc-6 support Trevor Woerner
` (2 subsequent siblings)
3 siblings, 0 replies; 11+ messages in thread
From: Trevor Woerner @ 2016-07-20 19:51 UTC (permalink / raw)
To: openembedded-devel
The unistd-2 patch was no longer being referenced by the recipe, so remove it.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
recipes-browser/chromium/chromium-browser.inc | 5 ++---
recipes-browser/chromium/chromium/unistd-2.patch | 27 ------------------------
2 files changed, 2 insertions(+), 30 deletions(-)
delete mode 100644 recipes-browser/chromium/chromium/unistd-2.patch
diff --git a/recipes-browser/chromium/chromium-browser.inc b/recipes-browser/chromium/chromium-browser.inc
index 365f883..c9da1f7 100644
--- a/recipes-browser/chromium/chromium-browser.inc
+++ b/recipes-browser/chromium/chromium-browser.inc
@@ -2,9 +2,8 @@
# 1) Add patches to SRC_URI. Version specific patches should be contained in a
# "chromium-XX" subdirectory, where XX is the major version. There are also
# patches that are shared amongst versions but may one day no longer be
-# needed (like unistd2.patch). These do not belong in such a subdirectory,
-# but still need to be explicitely be added. Do NOT add ozone-wayland patches
-# to SRC_URI here!
+# needed. These do not belong in such a subdirectory, but still need to be
+# explicitely be added. Do NOT add ozone-wayland patches to SRC_URI here!
# 2) Add md5sum and sha256sum hashes of the tarball.
# 3) Add ozone-wayland patches to the OZONE_WAYLAND_EXTRA_PATCHES variable.
# The rule with the chromium-XX subdirectory also applies here.
diff --git a/recipes-browser/chromium/chromium/unistd-2.patch b/recipes-browser/chromium/chromium/unistd-2.patch
deleted file mode 100644
index 6b5018b..0000000
--- a/recipes-browser/chromium/chromium/unistd-2.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/chrome/browser/memory_details_linux.cc b/chrome/browser/memory_details_linux.cc
-index bee24ce..299f237 100644
---- a/chrome/browser/memory_details_linux.cc
-+++ b/chrome/browser/memory_details_linux.cc
-@@ -7,6 +7,10 @@
- #include <map>
- #include <set>
-
-+#if defined(OS_POSIX)
-+#include <unistd.h>
-+#endif
-+
- #include "base/bind.h"
- #include "base/process_util.h"
- #include "base/string_util.h"
-diff --git a/ipc/ipc_channel.h b/ipc/ipc_channel.h
-index 14c375b..345f9eb 100644
---- a/ipc/ipc_channel.h
-+++ b/ipc/ipc_channel.h
-@@ -10,6 +10,7 @@
-
- #if defined(OS_POSIX)
- #include <sys/types.h>
-+#include <unistd.h>
- #endif
-
- #include "base/compiler_specific.h"
--
2.9.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [meta-browser][PATCH 2/4] chromium: gcc-6 support
2016-07-20 19:51 [meta-browser][PATCH 0/4] chromium updates Trevor Woerner
2016-07-20 19:51 ` [meta-browser][PATCH 1/4] chromium: remove unused patch Trevor Woerner
@ 2016-07-20 19:51 ` Trevor Woerner
2016-07-20 19:59 ` Khem Raj
2016-07-20 19:52 ` [meta-browser][PATCH 3/4] chromium: split into -wayland and -x11 Trevor Woerner
2016-07-20 19:52 ` [meta-browser][PATCH 4/4] chromium-x11: update 48.0.2548.0 -> 52.0.2743.76 Trevor Woerner
3 siblings, 1 reply; 11+ messages in thread
From: Trevor Woerner @ 2016-07-20 19:51 UTC (permalink / raw)
To: openembedded-devel
Allow chromium to build with gcc-6.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
...0001-bignum.cc-disable-warning-from-gcc-5.patch | 60 ---------------
...-image_util.cc-disable-warning-from-gcc-5.patch | 39 ----------
.../0008-Fix-GCC-uninitialized-warning.patch | 26 -------
...9-Fix-build-errors-with-GCC-in-Debug-mode.patch | 46 ------------
...be-used-uninitialized-in-this-function-wa.patch | 25 -------
...for-unused-variable-error-in-ui-gfx-color.patch | 86 ----------------------
.../chromium/chromium-48/remove-Werror.patch | 73 ++++++++++++++++++
recipes-browser/chromium/chromium_48.0.2548.0.bb | 12 +--
8 files changed, 74 insertions(+), 293 deletions(-)
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch b/recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch
deleted file mode 100644
index 67f9800..0000000
--- a/recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 5b8c53a6bb11c8aa9b575b5a8155c25c5085f349 Mon Sep 17 00:00:00 2001
-From: Max Krummenacher <max.oss.09@gmail.com>
-Date: Fri, 6 Nov 2015 12:22:35 +0100
-Subject: [PATCH] bignum.cc: disable warning from gcc 5
-
-addresses:
- ../../third_party/WebKit/Source/wtf/dtoa/bignum.cc:105:10: error: assuming
- signed overflow does not occur when assuming that (X + c) < X is always
- false [-Werror=strict-overflow]
- void Bignum::AssignDecimalString(Vector<const char> value) {
- ^
-
-Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
-
-Upstream-Status: Pending
-See the discussion on the issue in Chromium upstream:
-https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/3uwBwunIa7g
----
- third_party/WebKit/Source/wtf/dtoa/bignum.cc | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/third_party/WebKit/Source/wtf/dtoa/bignum.cc b/third_party/WebKit/Source/wtf/dtoa/bignum.cc
-index a000b46..6c6d336 100644
---- a/third_party/WebKit/Source/wtf/dtoa/bignum.cc
-+++ b/third_party/WebKit/Source/wtf/dtoa/bignum.cc
-@@ -102,7 +102,10 @@
- }
-
-
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic warning "-Wstrict-overflow"
- void Bignum::AssignDecimalString(Vector<const char> value) {
-+#pragma GCC diagnostic pop
- // 2^64 = 18446744073709551616 > 10^19
- const int kMaxUint64DecimalDigits = 19;
- Zero();
-@@ -696,7 +696,10 @@
- }
-
-
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic warning "-Wstrict-overflow"
- void Bignum::Align(const Bignum& other) {
-+#pragma GCC diagnostic pop
- if (exponent_ > other.exponent_) {
- // If "X" represents a "hidden" digit (by the exponent) then we are in the
- // following case (a == this, b == other):
-@@ -709,7 +709,10 @@
- for (int i = used_digits_ - 1; i >= 0; --i) {
- bigits_[i + zero_digits] = bigits_[i];
- }
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic warning "-Wstrict-overflow"
- for (int i = 0; i < zero_digits; ++i) {
-+#pragma GCC diagnostic pop
- bigits_[i] = 0;
- }
- used_digits_ += zero_digits;
---
-1.8.4.5
diff --git a/recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch b/recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch
deleted file mode 100644
index 1825a85..0000000
--- a/recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 2f674d980a116075dc7123a3e243b1451e4a732d Mon Sep 17 00:00:00 2001
-From: Max Krummenacher <max.oss.09@gmail.com>
-Date: Tue, 3 Nov 2015 22:13:40 +0100
-Subject: [PATCH] image_util.cc: disable warning from gcc 5
-
-addresses:
- ../../ui/gfx/image/image_util.cc:50:6: error: assuming signed overflow does
- not occur when assuming that (X - c) <= X is always true
- [-Werror=strict-overflow]
- bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) {
- ^
-
-Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
-
-Upstream-Status: Pending
-See the discussion on the issue in Chromium upstream:
-https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/3uwBwunIa7g
-
----
- ui/gfx/image/image_util.cc | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/ui/gfx/image/image_util.cc b/ui/gfx/image/image_util.cc
-index 89a3f8c..d595da3 100644
---- a/ui/gfx/image/image_util.cc
-+++ b/ui/gfx/image/image_util.cc
-@@ -47,7 +47,10 @@
- }
- #endif // !defined(OS_IOS)
-
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic warning "-Wstrict-overflow"
- bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) {
-+#pragma GCC diagnostic pop
- *leading = 0;
- *trailing = std::max(1, image.width()) - 1;
- if (!image.HasRepresentation(1.0))
---
-1.8.4.5
diff --git a/recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch b/recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch
deleted file mode 100644
index 3bf6d96..0000000
--- a/recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 12d7fb643188ea5033aaf70ffe64b4c58eefc5eb Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Fri, 29 Apr 2016 14:02:44 +0200
-Subject: [PATCH] Fix GCC uninitialized warning
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- third_party/ots/src/name.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/third_party/ots/src/name.cc b/third_party/ots/src/name.cc
-index a0dd1ea..070ddae 100644
---- a/third_party/ots/src/name.cc
-+++ b/third_party/ots/src/name.cc
-@@ -79,7 +79,7 @@ bool ots_name_parse(Font *font, const uint8_t* data, size_t length) {
- const char* string_base = reinterpret_cast<const char*>(data) +
- string_offset;
-
-- NameRecord prev_record;
-+ NameRecord prev_record(0, 0, 0, 0);
- bool sort_required = false;
-
- // Read all the names, discarding any with invalid IDs,
---
-2.5.0
-
diff --git a/recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch b/recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch
deleted file mode 100644
index f5f7889..0000000
--- a/recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 2d7143090fdfd82950be352078daa5019279d81f Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Fri, 29 Apr 2016 17:14:15 +0200
-Subject: [PATCH] Fix build errors with GCC in Debug mode
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- third_party/WebKit/Source/wtf/dtoa/utils.h | 7 +++++++
- .../cacheinvalidation/src/google/cacheinvalidation/include/types.h | 2 +-
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/third_party/WebKit/Source/wtf/dtoa/utils.h b/third_party/WebKit/Source/wtf/dtoa/utils.h
-index 0a61c01..7738e9a 100644
---- a/third_party/WebKit/Source/wtf/dtoa/utils.h
-+++ b/third_party/WebKit/Source/wtf/dtoa/utils.h
-@@ -165,7 +165,14 @@ namespace double_conversion {
-
- // Access individual vector elements - checks bounds in debug mode.
- T& operator[](int index) const {
-+#if !defined(NDEBUG)
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wstrict-overflow"
-+#endif // !defined(NDEBUG)
- ASSERT(0 <= index && index < length_);
-+#if !defined(NDEBUG)
-+#pragma GCC diagnostic pop
-+#endif // !defined(NDEBUG)
- return start_[index];
- }
-
-diff --git a/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h b/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h
-index 4e3be27..835e956 100644
---- a/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h
-+++ b/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h
-@@ -172,7 +172,7 @@ class ErrorInfo {
- */
- class ObjectId {
- public:
-- ObjectId() : is_initialized_(false) {}
-+ ObjectId() : is_initialized_(false), source_(0) {}
-
- /* Creates an object id for the given source and name (the name is copied). */
- ObjectId(int source, const string& name)
---
-2.5.0
-
diff --git a/recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch b/recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch
deleted file mode 100644
index 30cd511..0000000
--- a/recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 135debdc4613d5d323d1659166466f74f2e75284 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Fri, 6 May 2016 12:44:36 +0200
-Subject: [PATCH] Fix "'rv' may be used uninitialized in this function" warning
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- third_party/mojo/src/mojo/edk/system/unique_identifier.cc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/third_party/mojo/src/mojo/edk/system/unique_identifier.cc b/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
-index 22abf22..6f9a761 100644
---- a/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
-+++ b/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
-@@ -31,6 +31,7 @@ UniqueIdentifier UniqueIdentifier::FromString(const std::string& s,
- memcpy(rv.data_, &bytes[0], sizeof(rv.data_));
- *success = true;
- } else {
-+ memset(rv.data_, 0, sizeof(rv.data_));
- *success = false;
- }
- return rv;
---
-2.7.4
-
diff --git a/recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch b/recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch
deleted file mode 100644
index e3f20ef..0000000
--- a/recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 41cb20a99eb12443f649051a608c7dfe28661d85 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Thu, 19 May 2016 22:38:32 +0200
-Subject: [PATCH] Workaround for unused-variable error in
- ui/gfx/color_palette.h
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- ui/gfx/BUILD.gn | 1 +
- ui/gfx/color_palette.cc | 12 ++++++++++++
- ui/gfx/color_palette.h | 12 ++++++------
- ui/gfx/gfx.gyp | 1 +
- 4 files changed, 20 insertions(+), 6 deletions(-)
- create mode 100644 ui/gfx/color_palette.cc
-
-diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
-index dcd15b0..bf1455c 100644
---- a/ui/gfx/BUILD.gn
-+++ b/ui/gfx/BUILD.gn
-@@ -61,6 +61,7 @@ component("gfx") {
- "codec/png_codec.h",
- "color_analysis.cc",
- "color_analysis.h",
-+ "color_palette.cc",
- "color_palette.h",
- "color_profile.cc",
- "color_profile.h",
-diff --git a/ui/gfx/color_palette.cc b/ui/gfx/color_palette.cc
-new file mode 100644
-index 0000000..a8e6280
---- /dev/null
-+++ b/ui/gfx/color_palette.cc
-@@ -0,0 +1,12 @@
-+#include "color_palette.h"
-+
-+namespace gfx {
-+
-+const SkColor kChromeIconGrey = SkColorSetRGB(0x5A, 0x5A, 0x5A);
-+const SkColor kGoogleBlue300 = SkColorSetRGB(0x7B, 0xAA, 0xF7);
-+const SkColor kGoogleBlue500 = SkColorSetRGB(0x42, 0x85, 0xF4);
-+const SkColor kGoogleRed700 = SkColorSetRGB(0xC5, 0x39, 0x29);
-+const SkColor kGoogleGreen700 = SkColorSetRGB(0x0B, 0x80, 0x43);
-+const SkColor kGoogleYellow700 = SkColorSetRGB(0xF0, 0x93, 0x00);
-+
-+} // namespace gfx
-diff --git a/ui/gfx/color_palette.h b/ui/gfx/color_palette.h
-index 372f52c..63fa8af 100644
---- a/ui/gfx/color_palette.h
-+++ b/ui/gfx/color_palette.h
-@@ -9,15 +9,15 @@
-
- namespace gfx {
-
--const SkColor kChromeIconGrey = SkColorSetRGB(0x5A, 0x5A, 0x5A);
-+extern const SkColor kChromeIconGrey;
-
- // The number refers to the shade of darkness. Each color in the MD
- // palette ranges from 100-900.
--const SkColor kGoogleBlue300 = SkColorSetRGB(0x7B, 0xAA, 0xF7);
--const SkColor kGoogleBlue500 = SkColorSetRGB(0x42, 0x85, 0xF4);
--const SkColor kGoogleRed700 = SkColorSetRGB(0xC5, 0x39, 0x29);
--const SkColor kGoogleGreen700 = SkColorSetRGB(0x0B, 0x80, 0x43);
--const SkColor kGoogleYellow700 = SkColorSetRGB(0xF0, 0x93, 0x00);
-+extern const SkColor kGoogleBlue300;
-+extern const SkColor kGoogleBlue500;
-+extern const SkColor kGoogleRed700;
-+extern const SkColor kGoogleGreen700;
-+extern const SkColor kGoogleYellow700;
-
- } // namespace gfx
-
-diff --git a/ui/gfx/gfx.gyp b/ui/gfx/gfx.gyp
-index 8067bee..98b6312 100644
---- a/ui/gfx/gfx.gyp
-+++ b/ui/gfx/gfx.gyp
-@@ -142,6 +142,7 @@
- 'codec/png_codec.h',
- 'color_analysis.cc',
- 'color_analysis.h',
-+ 'color_palette.cc',
- 'color_palette.h',
- 'color_profile.cc',
- 'color_profile.h',
---
-2.7.4
-
diff --git a/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
new file mode 100644
index 0000000..2d1842b
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
@@ -0,0 +1,73 @@
+Index: chromium-48.0.2548.0/build/common.gypi
+===================================================================
+--- chromium-48.0.2548.0.orig/build/common.gypi
++++ chromium-48.0.2548.0/build/common.gypi
+@@ -1421,7 +1421,7 @@
+
+ # Disable fatal linker warnings, similarly to how we make it possible
+ # to disable -Werror (e.g. for different toolchain versions).
+- 'disable_fatal_linker_warnings%': 0,
++ 'disable_fatal_linker_warnings%': 1,
+
+ 'release_valgrind_build%': 0,
+
+@@ -3135,12 +3135,6 @@
+ '-Wsign-compare',
+ ]
+ }],
+- # TODO: Fix all warnings on chromeos too.
+- [ 'os_posix==1 and OS!="mac" and OS!="ios" and (clang!=1 or chromeos==1)', {
+- 'cflags!': [
+- '-Werror',
+- ],
+- }],
+ [ 'os_posix==1 and os_bsd!=1 and OS!="mac" and OS!="android"', {
+ 'cflags': [
+ # Don't warn about ignoring the return value from e.g. close().
+@@ -3692,10 +3686,10 @@
+ }],
+ ['os_posix==1 and OS!="mac" and OS!="ios"', {
+ 'target_defaults': {
+- # Enable -Werror by default, but put it in a variable so it can
++ # Disable -Werror by default, but put it in a variable so it can
+ # be disabled in ~/.gyp/include.gypi on the valgrind builders.
+ 'variables': {
+- 'werror%': '-Werror',
++ 'werror%': '',
+ 'libraries_for_target%': '',
+ },
+ 'defines': [
+@@ -5045,7 +5039,7 @@
+ 'GCC_OBJC_CALL_CXX_CDTORS': 'YES', # -fobjc-call-cxx-cdtors
+ 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
+ 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
+- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
++ 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror
+ 'GCC_VERSION': '4.2',
+ 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
+ 'USE_HEADERMAP': 'NO',
+Index: chromium-48.0.2548.0/build/config/compiler/BUILD.gn
+===================================================================
+--- chromium-48.0.2548.0.orig/build/config/compiler/BUILD.gn
++++ chromium-48.0.2548.0/build/config/compiler/BUILD.gn
+@@ -687,7 +687,6 @@ config("default_warnings") {
+ cflags += [
+ # Enables.
+ "-Wendif-labels", # Weird old-style text after an #endif.
+- "-Werror", # Warnings as errors.
+
+ # Disables.
+ "-Wno-missing-field-initializers", # "struct foo f = {0};"
+Index: chromium-48.0.2548.0/build/nocompile.gypi
+===================================================================
+--- chromium-48.0.2548.0.orig/build/nocompile.gypi
++++ chromium-48.0.2548.0/build/nocompile.gypi
+@@ -81,7 +81,7 @@
+ '<(nocompile_driver)',
+ '4', # number of compilers to invoke in parallel.
+ '<(RULE_INPUT_PATH)',
+- '-Wall -Werror -Wfatal-errors -I<(DEPTH)',
++ '-Wall -I<(DEPTH)',
+ '<(nc_result_path)',
+ ],
+ 'message': 'Generating no compile results for <(RULE_INPUT_PATH)',
diff --git a/recipes-browser/chromium/chromium_48.0.2548.0.bb b/recipes-browser/chromium/chromium_48.0.2548.0.bb
index 2a52568..70afa6c 100644
--- a/recipes-browser/chromium/chromium_48.0.2548.0.bb
+++ b/recipes-browser/chromium/chromium_48.0.2548.0.bb
@@ -2,16 +2,11 @@ include chromium-browser.inc
SRC_URI += "\
file://chromium-48/add_missing_stat_h_include.patch \
- file://chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch \
- file://chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch \
file://chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
file://chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
file://chromium-48/0005-Override-root-filesystem-access-restriction.patch \
- file://chromium-48/0008-Fix-GCC-uninitialized-warning.patch \
- file://chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch \
- file://chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch \
file://chromium-48/0011-Replace-readdir_r-with-readdir.patch \
- file://chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch \
+ file://chromium-48/remove-Werror.patch \
${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-48/0002-Disable-API-keys-info-bar.patch', '', d)} \
"
@@ -43,8 +38,3 @@ CHROMIUM_X11_DEPENDS = "xextproto gtk+ libxi libxss"
CHROMIUM_X11_GYP_DEFINES = ""
CHROMIUM_WAYLAND_DEPENDS = "wayland libxkbcommon"
CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1"
-
-# | gen/protoc_out/components/enhanced_bookmarks/proto/cluster.pb.cc:257:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
-# | if (!_extensions_.IsInitialized()) return false; return true;
-# | ^~
-PNBLACKLIST[chromium] ?= "BROKEN: fails to build with gcc-6"
--
2.9.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [meta-browser][PATCH 3/4] chromium: split into -wayland and -x11
2016-07-20 19:51 [meta-browser][PATCH 0/4] chromium updates Trevor Woerner
2016-07-20 19:51 ` [meta-browser][PATCH 1/4] chromium: remove unused patch Trevor Woerner
2016-07-20 19:51 ` [meta-browser][PATCH 2/4] chromium: gcc-6 support Trevor Woerner
@ 2016-07-20 19:52 ` Trevor Woerner
2016-07-20 20:00 ` Khem Raj
2016-07-20 19:52 ` [meta-browser][PATCH 4/4] chromium-x11: update 48.0.2548.0 -> 52.0.2743.76 Trevor Woerner
3 siblings, 1 reply; 11+ messages in thread
From: Trevor Woerner @ 2016-07-20 19:52 UTC (permalink / raw)
To: openembedded-devel
The wayland dependency on the ozone patches holds back the x11 version. By
splitting the recipe into two separate recipes, each can target separate
versions.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
recipes-browser/chromium/chromium-browser.inc | 31 +--
.../chromium/chromium-wayland_48.0.2548.0.bb | 33 +++
.../chromium/chromium-x11_48.0.2548.0.bb | 19 ++
...accelerated-Canvas-support-from-blacklist.patch | 0
.../0002-Disable-API-keys-info-bar.patch | 0
...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 0
...y-i18n_process_css_test.html-file-to-avoi.patch | 0
...erride-root-filesystem-access-restriction.patch | 0
.../0006-Remove-GBM-support-from-wayland.gyp.patch | 0
...for-glib-related-build-error-with-ozone-w.patch | 0
.../0011-Replace-readdir_r-with-readdir.patch | 0
.../add_missing_stat_h_include.patch | 0
.../remove-Werror.patch | 0
...accelerated-Canvas-support-from-blacklist.patch | 49 +++++
.../0002-Disable-API-keys-info-bar.patch | 33 +++
...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 43 ++++
...y-i18n_process_css_test.html-file-to-avoi.patch | 26 +++
...erride-root-filesystem-access-restriction.patch | 30 +++
.../0011-Replace-readdir_r-with-readdir.patch | 237 +++++++++++++++++++++
.../chromium-x11/add_missing_stat_h_include.patch | 39 ++++
.../chromium/chromium-x11/remove-Werror.patch | 73 +++++++
recipes-browser/chromium/chromium_48.0.2548.0.bb | 40 ----
.../{chromium => files}/armv6/include.gypi | 0
.../{chromium => files}/armv6/oe-defaults.gypi | 0
.../{chromium => files}/armv7a/include.gypi | 0
.../{chromium => files}/armv7a/oe-defaults.gypi | 0
.../{chromium => files}/component-build.gypi | 0
.../chromium/{chromium => files}/google-chrome | 0
.../{chromium => files}/google-chrome.desktop | 0
.../{chromium => files}/x86-64/include.gypi | 0
.../{chromium => files}/x86-64/oe-defaults.gypi | 0
.../chromium/{chromium => files}/x86/include.gypi | 0
.../{chromium => files}/x86/oe-defaults.gypi | 0
33 files changed, 593 insertions(+), 60 deletions(-)
create mode 100644 recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
create mode 100644 recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0001-Remove-accelerated-Canvas-support-from-blacklist.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0002-Disable-API-keys-info-bar.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0003-Remove-hard-coded-values-for-CC-and-CXX.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0005-Override-root-filesystem-access-restriction.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0006-Remove-GBM-support-from-wayland.gyp.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0011-Replace-readdir_r-with-readdir.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/add_missing_stat_h_include.patch (100%)
rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/remove-Werror.patch (100%)
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
create mode 100644 recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
delete mode 100644 recipes-browser/chromium/chromium_48.0.2548.0.bb
rename recipes-browser/chromium/{chromium => files}/armv6/include.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/armv6/oe-defaults.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/armv7a/include.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/armv7a/oe-defaults.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/component-build.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/google-chrome (100%)
rename recipes-browser/chromium/{chromium => files}/google-chrome.desktop (100%)
rename recipes-browser/chromium/{chromium => files}/x86-64/include.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/x86-64/oe-defaults.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/x86/include.gypi (100%)
rename recipes-browser/chromium/{chromium => files}/x86/oe-defaults.gypi (100%)
diff --git a/recipes-browser/chromium/chromium-browser.inc b/recipes-browser/chromium/chromium-browser.inc
index c9da1f7..fc7ac04 100644
--- a/recipes-browser/chromium/chromium-browser.inc
+++ b/recipes-browser/chromium/chromium-browser.inc
@@ -1,19 +1,16 @@
# Recipe files have to perform the following tasks after including this file:
-# 1) Add patches to SRC_URI. Version specific patches should be contained in a
-# "chromium-XX" subdirectory, where XX is the major version. There are also
-# patches that are shared amongst versions but may one day no longer be
-# needed. These do not belong in such a subdirectory, but still need to be
-# explicitely be added. Do NOT add ozone-wayland patches to SRC_URI here!
+# 1) Add patches to SRC_URI. Platform-specific patches should be contained in
+# either "chromium-x11" or "chromium-wayland". There are also patches that
+# are shared amongst platforms but may one day no longer be needed. These
+# do not belong in such a subdirectory, but still need to be explicitely be
+# added. Do NOT add ozone-wayland patches to SRC_URI here!
# 2) Add md5sum and sha256sum hashes of the tarball.
# 3) Add ozone-wayland patches to the OZONE_WAYLAND_EXTRA_PATCHES variable.
-# The rule with the chromium-XX subdirectory also applies here.
# 4) Set the OZONE_WAYLAND_GIT_BRANCH and OZONE_WAYLAND_GIT_SRCREV values.
# 5) Optionally, set values for these variables:
# * OZONE_WAYLAND_PATCH_FILE_GLOB
# * OZONE_WAYLAND_GIT_DESTSUFFIX
-# * CHROMIUM_X11_DEPENDS
# * CHROMIUM_X11_GYP_DEFINES
-# * CHROMIUM_WAYLAND_DEPENDS
# * CHROMIUM_WAYLAND_GYP_DEFINES
include chromium.inc
@@ -22,13 +19,16 @@ DESCRIPTION = "Chromium browser"
DEPENDS += "libgnome-keyring"
SRC_URI = "\
- http://gsdview.appspot.com/chromium-browser-official/${P}.tar.xz \
+ http://gsdview.appspot.com/chromium-browser-official/chromium-${PV}.tar.xz \
file://include.gypi \
file://oe-defaults.gypi \
file://google-chrome \
file://google-chrome.desktop \
"
+S = "${WORKDIR}/chromium-${PV}"
+BPN = "chromium"
+
# PACKAGECONFIG options
# ^^^^^^^^^^^^^^^^^^^^^
@@ -121,9 +121,7 @@ OZONE_WAYLAND_EXTRA_PATCHES ?= ""
# These are present as their own variables, since they have changed between versions
# a few times in the past already; making them variables makes it easier to handle that
-CHROMIUM_X11_DEPENDS ?= ""
CHROMIUM_X11_GYP_DEFINES ?= ""
-CHROMIUM_WAYLAND_DEPENDS ?= ""
CHROMIUM_WAYLAND_GYP_DEFINES ?= ""
@@ -134,12 +132,6 @@ CHROMIUM_EXTRA_ARGS ?= " \
${@bb.utils.contains('PACKAGECONFIG', 'kiosk-mode', '--start-fullscreen --kiosk --no-first-run', '', d)} \
"
-SRC_URI += "\
- ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
- ${@oe.utils.conditional('CHROMIUM_ENABLE_WAYLAND', '1', 'git://github.com/01org/ozone-wayland.git;destsuffix=${OZONE_WAYLAND_GIT_DESTSUFFIX};branch=${OZONE_WAYLAND_GIT_BRANCH};rev=${OZONE_WAYLAND_GIT_SRCREV}', '', d)} \
-"
-
-
# Some sanity checks.
python do_check_variables() {
CHROMIUM_BUILD_TYPE = d.getVar('CHROMIUM_BUILD_TYPE', True)
@@ -158,7 +150,7 @@ python do_check_variables() {
if (CHROMIUM_ENABLE_WAYLAND == '1'):
bb.plain("INFO: Chromium has been configured with Wayland support (ozone-wayland). Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
else:
- bb.plain("INFO: Chromium has been configured without Wayland support. Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
+ bb.plain("INFO: Chromium has been configured for X11. Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
}
addtask check_variables before do_fetch
@@ -191,6 +183,7 @@ EXTRA_OEGYP = " \
-Dclang=0 \
-Dhost_clang=0 \
-Ddisable_fatal_linker_warnings=1 \
+ -Dv8_use_external_startup_data=0 \
-Dlinux_use_bundled_gold=0 \
-Dlinux_use_bundled_binutils=0 \
${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-Dlinux_use_gold_flags=1', '-Dlinux_use_gold_flags=0', d)} \
@@ -203,10 +196,8 @@ EXTRA_OEGYP = " \
python() {
if d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1':
- d.appendVar('DEPENDS', ' %s ' % d.getVar('CHROMIUM_WAYLAND_DEPENDS', True))
d.appendVar('GYP_DEFINES', ' %s ' % d.getVar('CHROMIUM_WAYLAND_GYP_DEFINES', True))
else:
- d.appendVar('DEPENDS', ' %s ' % d.getVar('CHROMIUM_X11_DEPENDS', True))
d.appendVar('GYP_DEFINES', ' %s ' % d.getVar('CHROMIUM_X11_GYP_DEFINES', True))
}
diff --git a/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb b/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
new file mode 100644
index 0000000..a5d59a0
--- /dev/null
+++ b/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
@@ -0,0 +1,33 @@
+include chromium-browser.inc
+
+DEPENDS += "wayland libxkbcommon"
+
+SRC_URI += "\
+ file://chromium-wayland/add_missing_stat_h_include.patch \
+ file://chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
+ file://chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
+ file://chromium-wayland/0005-Override-root-filesystem-access-restriction.patch \
+ file://chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch \
+ file://chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch \
+ file://chromium-wayland/0011-Replace-readdir_r-with-readdir.patch \
+ file://chromium-wayland/remove-Werror.patch \
+ ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-wayland/0002-Disable-API-keys-info-bar.patch', '', d)} \
+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
+SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
+SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
+
+OZONE_WAYLAND_GIT_BRANCH = "Milestone-SouthSister"
+OZONE_WAYLAND_GIT_SRCREV = "c605505044af3345a276abbd7c29fd53db1dea40"
+
+# Component build is unsupported in ozone-wayland for Chromium 48
+python() {
+ if (d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1'):
+ if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d):
+ bb.fatal("Chromium 48 Wayland version cannot be built in component-mode")
+}
+
+CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1"
diff --git a/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb b/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
new file mode 100644
index 0000000..c446b7f
--- /dev/null
+++ b/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
@@ -0,0 +1,19 @@
+include chromium-browser.inc
+
+DEPENDS += "xextproto gtk+ libxi libxss"
+
+SRC_URI += "\
+ file://chromium-x11/add_missing_stat_h_include.patch \
+ file://chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
+ file://chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
+ file://chromium-x11/0005-Override-root-filesystem-access-restriction.patch \
+ file://chromium-x11/0011-Replace-readdir_r-with-readdir.patch \
+ file://chromium-x11/remove-Werror.patch \
+ ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-x11/0002-Disable-API-keys-info-bar.patch', '', d)} \
+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
+SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
+SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
diff --git a/recipes-browser/chromium/chromium/chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/0002-Disable-API-keys-info-bar.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch b/recipes-browser/chromium/chromium/chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/0005-Override-root-filesystem-access-restriction.patch b/recipes-browser/chromium/chromium/chromium-wayland/0005-Override-root-filesystem-access-restriction.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/0005-Override-root-filesystem-access-restriction.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/0005-Override-root-filesystem-access-restriction.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch b/recipes-browser/chromium/chromium/chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch b/recipes-browser/chromium/chromium/chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/0011-Replace-readdir_r-with-readdir.patch b/recipes-browser/chromium/chromium/chromium-wayland/0011-Replace-readdir_r-with-readdir.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/0011-Replace-readdir_r-with-readdir.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/0011-Replace-readdir_r-with-readdir.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-wayland/add_missing_stat_h_include.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/add_missing_stat_h_include.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/add_missing_stat_h_include.patch
diff --git a/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-wayland/remove-Werror.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
rename to recipes-browser/chromium/chromium/chromium-wayland/remove-Werror.patch
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
new file mode 100644
index 0000000..2d7bf84
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
@@ -0,0 +1,49 @@
+From be6f1d02f3f784594642929dff289dae33014d56 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Sun, 3 Apr 2016 17:46:59 +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 | 16 ----------------
+ 1 file changed, 16 deletions(-)
+
+diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc
+index 484467d..c3b5855 100644
+--- a/gpu/config/software_rendering_list_json.cc
++++ b/gpu/config/software_rendering_list_json.cc
+@@ -240,22 +240,6 @@ const char kSoftwareRenderingListJson[] = LONG_STRING_CONST(
+ ]
+ },
+ {
+- "id": 24,
+- "description": "Accelerated 2d canvas is unstable in Linux at the moment",
+- "os": {
+- "type": "linux"
+- },
+- "exceptions": [
+- {
+- "gl_vendor": "Vivante Corporation",
+- "gl_renderer": "Vivante GC1000"
+- }
+- ],
+- "features": [
+- "accelerated_2d_canvas"
+- ]
+- },
+- {
+ "id": 27,
+ "description": "ATI/AMD cards with older drivers in Linux are crash-prone",
+ "cr_bugs": [95934, 94973, 136240, 357314],
+--
+2.5.0
+
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
new file mode 100644
index 0000000..56a5b28
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
@@ -0,0 +1,33 @@
+From 68773f2faea2608145e820bf23cf5efaf50e3399 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@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 <dv@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(infobar_service->CreateConfirmInfoBar(
+ scoped_ptr<ConfirmInfoBarDelegate>(new GoogleApiKeysInfoBarDelegate())));
++#endif
+ }
+
+ GoogleApiKeysInfoBarDelegate::GoogleApiKeysInfoBarDelegate()
+--
+1.9.1
+
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
new file mode 100644
index 0000000..7bc8d14
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-x11/0003-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 <dv@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 <dv@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
+@@ -6047,16 +6047,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 tools on linux. These can be overridden
+- # using CC,CXX,CC.host and CXX.host 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
+ # in make_global_settings yet.
+--
+1.9.1
+
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch b/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
new file mode 100644
index 0000000..24bec71
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
@@ -0,0 +1,26 @@
+From 5158da97132db1a43c95f4c0ad65b4ac2629c4da Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Sat, 23 Apr 2016 14:05:04 +0200
+Subject: [PATCH] Create empty i18n_process_css_test.html file to avoid build
+ failure
+
+According to https://groups.google.com/a/chromium.org/forum/#!topic/chromium-packagers/9JX1N2nf4PU
+creating an empty i18n_process_css_test.html is a valid workaround for the
+following build error:
+
+"Exception: Failed to open test/data/webui/i18n_process_css_test.html while trying to flatten test/data/webui/i18n_process_css_test.html. (No such file or directory)"
+
+Upstream-Status: Pending
+
+Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+---
+ chrome/test/data/webui/i18n_process_css_test.html | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 chrome/test/data/webui/i18n_process_css_test.html
+
+diff --git a/chrome/test/data/webui/i18n_process_css_test.html b/chrome/test/data/webui/i18n_process_css_test.html
+new file mode 100644
+index 0000000..e69de29
+--
+2.5.0
+
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch b/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
new file mode 100644
index 0000000..ceb6c6c
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
@@ -0,0 +1,30 @@
+From ef3aaa58be440c1845e60432a498501088da07fe Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Thu, 28 Apr 2016 09:29:59 +0200
+Subject: [PATCH] Override root filesystem access restriction
+
+Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+---
+ sandbox/linux/suid/client/setuid_sandbox_client.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
+index 12ef7f9..b59908a 100644
+--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
++++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
+@@ -21,8 +21,12 @@
+ namespace {
+
+ bool IsFileSystemAccessDenied() {
++#if 0
+ base::ScopedFD root_dir(HANDLE_EINTR(open("/", O_RDONLY)));
+ return !root_dir.is_valid();
++#else
++ return true;
++#endif
+ }
+
+ int GetHelperApi(base::Environment* env) {
+--
+2.5.0
+
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch b/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
new file mode 100644
index 0000000..36c7ec2
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
@@ -0,0 +1,237 @@
+From feb645ae0259582e2075691047e27b5e064ec160 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv@pseudoterminal.org>
+Date: Thu, 19 May 2016 21:12:05 +0200
+Subject: [PATCH] Replace readdir_r with readdir
+
+readdir_r is deprecated in newer glibc version. Documented at:
+https://sourceware.org/bugzilla/show_bug.cgi?id=19056
+
+Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+---
+ base/files/file_enumerator_posix.cc | 15 ++++++++++---
+ net/disk_cache/simple/simple_index_file_posix.cc | 10 ++++++---
+ sandbox/linux/services/proc_util.cc | 24 +++++++++++++--------
+ third_party/boringssl/src/crypto/directory_posix.c | 25 +++-------------------
+ .../crashpad/crashpad/util/posix/close_multiple.cc | 8 +++++--
+ third_party/leveldatabase/env_chromium.cc | 13 ++++++++---
+ 6 files changed, 53 insertions(+), 42 deletions(-)
+
+diff --git a/base/files/file_enumerator_posix.cc b/base/files/file_enumerator_posix.cc
+index 7533a24..637b8cd 100644
+--- a/base/files/file_enumerator_posix.cc
++++ b/base/files/file_enumerator_posix.cc
+@@ -7,6 +7,7 @@
+ #include <dirent.h>
+ #include <errno.h>
+ #include <fnmatch.h>
++#include <string.h>
+
+ #include "base/logging.h"
+ #include "base/threading/thread_restrictions.h"
+@@ -129,9 +130,17 @@ bool FileEnumerator::ReadDirectory(std::vector<FileInfo>* entries,
+ additional space for pathname may be needed
+ #endif
+
+- struct dirent dent_buf;
+- struct dirent* dent;
+- while (readdir_r(dir, &dent_buf, &dent) == 0 && dent) {
++ while (true) {
++ struct dirent* dent;
++ errno = 0;
++ dent = readdir(dir);
++ if (errno != 0) {
++ DPLOG(ERROR) << "Couldn't read directory entry: " << strerror(errno);
++ break;
++ }
++ if (dent == NULL)
++ break;
++
+ FileInfo info;
+ info.filename_ = FilePath(dent->d_name);
+
+diff --git a/net/disk_cache/simple/simple_index_file_posix.cc b/net/disk_cache/simple/simple_index_file_posix.cc
+index 586699d..bbe81fc 100644
+--- a/net/disk_cache/simple/simple_index_file_posix.cc
++++ b/net/disk_cache/simple/simple_index_file_posix.cc
+@@ -34,8 +34,12 @@ bool SimpleIndexFile::TraverseCacheDirectory(
+ PLOG(ERROR) << "opendir " << cache_path.value();
+ return false;
+ }
+- dirent entry, *result;
+- while (readdir_r(dir.get(), &entry, &result) == 0) {
++ dirent *result;
++ while (true) {
++ errno = 0;
++ result = readdir(dir.get());
++ if (errno != 0)
++ break;
+ if (!result)
+ return true; // The traversal completed successfully.
+ const std::string file_name(result->d_name);
+@@ -45,7 +49,7 @@ bool SimpleIndexFile::TraverseCacheDirectory(
+ base::FilePath(file_name));
+ entry_file_callback.Run(file_path);
+ }
+- PLOG(ERROR) << "readdir_r " << cache_path.value();
++ PLOG(ERROR) << "readdir " << cache_path.value();
+ return false;
+ }
+
+diff --git a/sandbox/linux/services/proc_util.cc b/sandbox/linux/services/proc_util.cc
+index 8341b4a..1603415 100644
+--- a/sandbox/linux/services/proc_util.cc
++++ b/sandbox/linux/services/proc_util.cc
+@@ -50,15 +50,18 @@ int ProcUtil::CountOpenFds(int proc_fd) {
+ CHECK(dir);
+
+ int count = 0;
+- struct dirent e;
+ struct dirent* de;
+- while (!readdir_r(dir.get(), &e, &de) && de) {
+- if (strcmp(e.d_name, ".") == 0 || strcmp(e.d_name, "..") == 0) {
++ while (true) {
++ errno = 0;
++ de = readdir(dir.get());
++ if (de == NULL || errno != 0)
++ break;
++ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) {
+ continue;
+ }
+
+ int fd_num;
+- CHECK(base::StringToInt(e.d_name, &fd_num));
++ CHECK(base::StringToInt(de->d_name, &fd_num));
+ if (fd_num == proc_fd || fd_num == proc_self_fd) {
+ continue;
+ }
+@@ -80,22 +83,25 @@ bool ProcUtil::HasOpenDirectory(int proc_fd) {
+ ScopedDIR dir(fdopendir(proc_self_fd));
+ CHECK(dir);
+
+- struct dirent e;
+ struct dirent* de;
+- while (!readdir_r(dir.get(), &e, &de) && de) {
+- if (strcmp(e.d_name, ".") == 0 || strcmp(e.d_name, "..") == 0) {
++ while (true) {
++ errno = 0;
++ de = readdir(dir.get());
++ if (de == NULL || errno != 0)
++ break;
++ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) {
+ continue;
+ }
+
+ int fd_num;
+- CHECK(base::StringToInt(e.d_name, &fd_num));
++ CHECK(base::StringToInt(de->d_name, &fd_num));
+ if (fd_num == proc_fd || fd_num == proc_self_fd) {
+ continue;
+ }
+
+ struct stat s;
+ // It's OK to use proc_self_fd here, fstatat won't modify it.
+- CHECK(fstatat(proc_self_fd, e.d_name, &s, 0) == 0);
++ CHECK(fstatat(proc_self_fd, de->d_name, &s, 0) == 0);
+ if (S_ISDIR(s.st_mode)) {
+ return true;
+ }
+diff --git a/third_party/boringssl/src/crypto/directory_posix.c b/third_party/boringssl/src/crypto/directory_posix.c
+index b944b69..17143a7 100644
+--- a/third_party/boringssl/src/crypto/directory_posix.c
++++ b/third_party/boringssl/src/crypto/directory_posix.c
+@@ -24,10 +24,6 @@
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
+
+-#if !defined(_POSIX_C_SOURCE)
+-#define _POSIX_C_SOURCE 201409 /* for readdir_r */
+-#endif
+-
+ #include "directory.h"
+
+
+@@ -38,21 +34,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#if defined(OPENSSL_PNACL)
+-/* pnacl doesn't include readdir_r! So we do the best we can. */
+-int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) {
+- errno = 0;
+- *result = readdir(dirp);
+- if (*result != NULL) {
+- return 0;
+- }
+- if (errno) {
+- return 1;
+- }
+- return 0;
+-}
+-#endif
+-
+ struct OPENSSL_dir_context_st {
+ DIR *dir;
+ struct dirent dirent;
+@@ -85,10 +66,10 @@ const char *OPENSSL_DIR_read(OPENSSL_DIR_CTX **ctx, const char *directory) {
+ }
+ }
+
+- if (readdir_r((*ctx)->dir, &(*ctx)->dirent, &dirent) != 0 ||
+- dirent == NULL) {
++ errno = 0;
++ dirent = readdir((*ctx)->dir);
++ if (dirent == NULL || errno != 0)
+ return 0;
+- }
+
+ return (*ctx)->dirent.d_name;
+ }
+diff --git a/third_party/crashpad/crashpad/util/posix/close_multiple.cc b/third_party/crashpad/crashpad/util/posix/close_multiple.cc
+index d94d575..4c1287a 100644
+--- a/third_party/crashpad/crashpad/util/posix/close_multiple.cc
++++ b/third_party/crashpad/crashpad/util/posix/close_multiple.cc
+@@ -100,10 +100,14 @@ bool CloseMultipleNowOrOnExecUsingFDDir(int fd, int preserve_fd) {
+ return false;
+ }
+
+- dirent entry;
+ dirent* result;
+ int rv;
+- while ((rv = readdir_r(dir, &entry, &result)) == 0 && result != nullptr) {
++ while (true) {
++ errno = 0;
++ result = readdir(dir);
++ if (errno != 0 || result == nullptr)
++ break;
++
+ const char* entry_name = &(*result->d_name);
+ if (strcmp(entry_name, ".") == 0 || strcmp(entry_name, "..") == 0) {
+ continue;
+diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc
+index 939534c..f23142e 100644
+--- a/third_party/leveldatabase/env_chromium.cc
++++ b/third_party/leveldatabase/env_chromium.cc
+@@ -79,10 +79,17 @@ static base::File::Error GetDirectoryEntries(const FilePath& dir_param,
+ DIR* dir = opendir(dir_string.c_str());
+ if (!dir)
+ return base::File::OSErrorToFileError(errno);
+- struct dirent dent_buf;
+ struct dirent* dent;
+- int readdir_result;
+- while ((readdir_result = readdir_r(dir, &dent_buf, &dent)) == 0 && dent) {
++ int readdir_result = 0;
++ while (true) {
++ errno = 0;
++ dent = readdir(dir);
++ if (errno != 0) {
++ readdir_result = 1;
++ break;
++ }
++ if (dent == NULL)
++ break;
+ if (strcmp(dent->d_name, ".") == 0 || strcmp(dent->d_name, "..") == 0)
+ continue;
+ result->push_back(FilePath::FromUTF8Unsafe(dent->d_name));
+--
+2.7.4
+
diff --git a/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
new file mode 100644
index 0000000..4620db2
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
@@ -0,0 +1,39 @@
+sys/stat.h used to be indirectly included through
+device/udev_linux/scoped_udev.h -> libudev.h -> sys/stat.h
+but libudev.h in jethro no longer includes sys/stat.h resulting in the
+following compile time errors:
+
+arm-angstrom-linux-gnueabi-g++ ... ../../components/storage_monitor/storage_monitor_linux.cc -o obj/components/storage_monitor/storage_monitor.storage_monitor_linux.o
+../../components/storage_monitor/storage_monitor_linux.cc: In function 'scoped_ptr<storage_monitor::StorageInfo> storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)':
+../../components/storage_monitor/storage_monitor_linux.cc:132:15: error: aggregate 'storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat device_stat' has incomplete type and cannot be defined
+ struct stat device_stat;
+ ^
+../../components/storage_monitor/storage_monitor_linux.cc:133:53: error: invalid use of incomplete type 'struct storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat'
+ if (stat(device_path.value().c_str(), &device_stat) < 0)
+ ^
+../../components/storage_monitor/storage_monitor_linux.cc:132:10: error: forward declaration of 'struct storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat'
+ struct stat device_stat;
+ ^
+../../components/storage_monitor/storage_monitor_linux.cc:137:34: error: 'S_ISCHR' was not declared in this scope
+ if (S_ISCHR(device_stat.st_mode))
+ ^
+../../components/storage_monitor/storage_monitor_linux.cc:139:39: error: 'S_ISBLK' was not declared in this scope
+ else if (S_ISBLK(device_stat.st_mode))
+ ^
+
+As the code makes use of stat systemcalls include the file explicitely.
+Tested with ARCH armv7.
+
+Signed-off-by: Max Krummenacher <max.oss.09 at gmail.com>
+Upstream-Status: Pending
+
+--- a/components/storage_monitor/storage_monitor_linux.cc~ 2015-01-21 21:28:16.000000000 +0100
++++ b/components/storage_monitor/storage_monitor_linux.cc 2015-10-27 13:21:08.405655894 +0100
+@@ -8,6 +8,7 @@
+
+ #include <mntent.h>
+ #include <stdio.h>
++#include <sys/stat.h>
+
+ #include <list>
+
diff --git a/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
new file mode 100644
index 0000000..2d1842b
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
@@ -0,0 +1,73 @@
+Index: chromium-48.0.2548.0/build/common.gypi
+===================================================================
+--- chromium-48.0.2548.0.orig/build/common.gypi
++++ chromium-48.0.2548.0/build/common.gypi
+@@ -1421,7 +1421,7 @@
+
+ # Disable fatal linker warnings, similarly to how we make it possible
+ # to disable -Werror (e.g. for different toolchain versions).
+- 'disable_fatal_linker_warnings%': 0,
++ 'disable_fatal_linker_warnings%': 1,
+
+ 'release_valgrind_build%': 0,
+
+@@ -3135,12 +3135,6 @@
+ '-Wsign-compare',
+ ]
+ }],
+- # TODO: Fix all warnings on chromeos too.
+- [ 'os_posix==1 and OS!="mac" and OS!="ios" and (clang!=1 or chromeos==1)', {
+- 'cflags!': [
+- '-Werror',
+- ],
+- }],
+ [ 'os_posix==1 and os_bsd!=1 and OS!="mac" and OS!="android"', {
+ 'cflags': [
+ # Don't warn about ignoring the return value from e.g. close().
+@@ -3692,10 +3686,10 @@
+ }],
+ ['os_posix==1 and OS!="mac" and OS!="ios"', {
+ 'target_defaults': {
+- # Enable -Werror by default, but put it in a variable so it can
++ # Disable -Werror by default, but put it in a variable so it can
+ # be disabled in ~/.gyp/include.gypi on the valgrind builders.
+ 'variables': {
+- 'werror%': '-Werror',
++ 'werror%': '',
+ 'libraries_for_target%': '',
+ },
+ 'defines': [
+@@ -5045,7 +5039,7 @@
+ 'GCC_OBJC_CALL_CXX_CDTORS': 'YES', # -fobjc-call-cxx-cdtors
+ 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
+ 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
+- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
++ 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror
+ 'GCC_VERSION': '4.2',
+ 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
+ 'USE_HEADERMAP': 'NO',
+Index: chromium-48.0.2548.0/build/config/compiler/BUILD.gn
+===================================================================
+--- chromium-48.0.2548.0.orig/build/config/compiler/BUILD.gn
++++ chromium-48.0.2548.0/build/config/compiler/BUILD.gn
+@@ -687,7 +687,6 @@ config("default_warnings") {
+ cflags += [
+ # Enables.
+ "-Wendif-labels", # Weird old-style text after an #endif.
+- "-Werror", # Warnings as errors.
+
+ # Disables.
+ "-Wno-missing-field-initializers", # "struct foo f = {0};"
+Index: chromium-48.0.2548.0/build/nocompile.gypi
+===================================================================
+--- chromium-48.0.2548.0.orig/build/nocompile.gypi
++++ chromium-48.0.2548.0/build/nocompile.gypi
+@@ -81,7 +81,7 @@
+ '<(nocompile_driver)',
+ '4', # number of compilers to invoke in parallel.
+ '<(RULE_INPUT_PATH)',
+- '-Wall -Werror -Wfatal-errors -I<(DEPTH)',
++ '-Wall -I<(DEPTH)',
+ '<(nc_result_path)',
+ ],
+ 'message': 'Generating no compile results for <(RULE_INPUT_PATH)',
diff --git a/recipes-browser/chromium/chromium_48.0.2548.0.bb b/recipes-browser/chromium/chromium_48.0.2548.0.bb
deleted file mode 100644
index 70afa6c..0000000
--- a/recipes-browser/chromium/chromium_48.0.2548.0.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-include chromium-browser.inc
-
-SRC_URI += "\
- file://chromium-48/add_missing_stat_h_include.patch \
- file://chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
- file://chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
- file://chromium-48/0005-Override-root-filesystem-access-restriction.patch \
- file://chromium-48/0011-Replace-readdir_r-with-readdir.patch \
- file://chromium-48/remove-Werror.patch \
- ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-48/0002-Disable-API-keys-info-bar.patch', '', d)} \
-"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
-SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
-SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
-
-EXTRA_OEGYP += " \
- -Dv8_use_external_startup_data=0 \
-"
-
-OZONE_WAYLAND_GIT_BRANCH = "Milestone-SouthSister"
-OZONE_WAYLAND_GIT_SRCREV = "c605505044af3345a276abbd7c29fd53db1dea40"
-
-OZONE_WAYLAND_EXTRA_PATCHES = " \
- file://chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch \
- file://chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch \
-"
-
-# Component build is unsupported in ozone-wayland for Chromium 48
-python() {
- if (d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1'):
- if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d):
- bb.fatal("Chromium 48 Wayland version cannot be built in component-mode")
-}
-
-CHROMIUM_X11_DEPENDS = "xextproto gtk+ libxi libxss"
-CHROMIUM_X11_GYP_DEFINES = ""
-CHROMIUM_WAYLAND_DEPENDS = "wayland libxkbcommon"
-CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1"
diff --git a/recipes-browser/chromium/chromium/armv6/include.gypi b/recipes-browser/chromium/files/armv6/include.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/armv6/include.gypi
rename to recipes-browser/chromium/files/armv6/include.gypi
diff --git a/recipes-browser/chromium/chromium/armv6/oe-defaults.gypi b/recipes-browser/chromium/files/armv6/oe-defaults.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/armv6/oe-defaults.gypi
rename to recipes-browser/chromium/files/armv6/oe-defaults.gypi
diff --git a/recipes-browser/chromium/chromium/armv7a/include.gypi b/recipes-browser/chromium/files/armv7a/include.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/armv7a/include.gypi
rename to recipes-browser/chromium/files/armv7a/include.gypi
diff --git a/recipes-browser/chromium/chromium/armv7a/oe-defaults.gypi b/recipes-browser/chromium/files/armv7a/oe-defaults.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/armv7a/oe-defaults.gypi
rename to recipes-browser/chromium/files/armv7a/oe-defaults.gypi
diff --git a/recipes-browser/chromium/chromium/component-build.gypi b/recipes-browser/chromium/files/component-build.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/component-build.gypi
rename to recipes-browser/chromium/files/component-build.gypi
diff --git a/recipes-browser/chromium/chromium/google-chrome b/recipes-browser/chromium/files/google-chrome
similarity index 100%
rename from recipes-browser/chromium/chromium/google-chrome
rename to recipes-browser/chromium/files/google-chrome
diff --git a/recipes-browser/chromium/chromium/google-chrome.desktop b/recipes-browser/chromium/files/google-chrome.desktop
similarity index 100%
rename from recipes-browser/chromium/chromium/google-chrome.desktop
rename to recipes-browser/chromium/files/google-chrome.desktop
diff --git a/recipes-browser/chromium/chromium/x86-64/include.gypi b/recipes-browser/chromium/files/x86-64/include.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/x86-64/include.gypi
rename to recipes-browser/chromium/files/x86-64/include.gypi
diff --git a/recipes-browser/chromium/chromium/x86-64/oe-defaults.gypi b/recipes-browser/chromium/files/x86-64/oe-defaults.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/x86-64/oe-defaults.gypi
rename to recipes-browser/chromium/files/x86-64/oe-defaults.gypi
diff --git a/recipes-browser/chromium/chromium/x86/include.gypi b/recipes-browser/chromium/files/x86/include.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/x86/include.gypi
rename to recipes-browser/chromium/files/x86/include.gypi
diff --git a/recipes-browser/chromium/chromium/x86/oe-defaults.gypi b/recipes-browser/chromium/files/x86/oe-defaults.gypi
similarity index 100%
rename from recipes-browser/chromium/chromium/x86/oe-defaults.gypi
rename to recipes-browser/chromium/files/x86/oe-defaults.gypi
--
2.9.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [meta-browser][PATCH 4/4] chromium-x11: update 48.0.2548.0 -> 52.0.2743.76
2016-07-20 19:51 [meta-browser][PATCH 0/4] chromium updates Trevor Woerner
` (2 preceding siblings ...)
2016-07-20 19:52 ` [meta-browser][PATCH 3/4] chromium: split into -wayland and -x11 Trevor Woerner
@ 2016-07-20 19:52 ` Trevor Woerner
3 siblings, 0 replies; 11+ messages in thread
From: Trevor Woerner @ 2016-07-20 19:52 UTC (permalink / raw)
To: openembedded-devel
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
recipes-browser/chromium/chromium-browser.inc | 1 +
.../chromium/chromium-wayland_48.0.2548.0.bb | 9 +--
.../chromium/chromium-x11_48.0.2548.0.bb | 19 -----
.../chromium/chromium-x11_52.0.2743.76.bb | 18 +++++
.../0002-Disable-API-keys-info-bar.patch | 33 ---------
...accelerated-Canvas-support-from-blacklist.patch | 49 -------------
.../0002-Disable-API-keys-info-bar.patch | 33 ---------
...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 43 -----------
...y-i18n_process_css_test.html-file-to-avoi.patch | 26 -------
...erride-root-filesystem-access-restriction.patch | 30 --------
.../0011-Replace-readdir_r-with-readdir.patch | 55 +-------------
.../chromium-x11/add_missing_stat_h_include.patch | 12 +--
.../chromium/chromium-x11/remove-Werror.patch | 85 +++++++++++-----------
...accelerated-Canvas-support-from-blacklist.patch | 0
...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 0
...y-i18n_process_css_test.html-file-to-avoi.patch | 0
...erride-root-filesystem-access-restriction.patch | 0
recipes-browser/chromium/files/api-keys.patch | 13 ++++
18 files changed, 87 insertions(+), 339 deletions(-)
delete mode 100644 recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
create mode 100644 recipes-browser/chromium/chromium-x11_52.0.2743.76.bb
delete mode 100644 recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
delete mode 100644 recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
rename recipes-browser/chromium/{chromium/chromium-wayland => files}/0001-Remove-accelerated-Canvas-support-from-blacklist.patch (100%)
rename recipes-browser/chromium/{chromium/chromium-wayland => files}/0003-Remove-hard-coded-values-for-CC-and-CXX.patch (100%)
rename recipes-browser/chromium/{chromium/chromium-wayland => files}/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch (100%)
rename recipes-browser/chromium/{chromium/chromium-wayland => files}/0005-Override-root-filesystem-access-restriction.patch (100%)
create mode 100644 recipes-browser/chromium/files/api-keys.patch
diff --git a/recipes-browser/chromium/chromium-browser.inc b/recipes-browser/chromium/chromium-browser.inc
index fc7ac04..4fb47fd 100644
--- a/recipes-browser/chromium/chromium-browser.inc
+++ b/recipes-browser/chromium/chromium-browser.inc
@@ -23,6 +23,7 @@ SRC_URI = "\
file://include.gypi \
file://oe-defaults.gypi \
file://google-chrome \
+ ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://api-keys.patch;patchdir=${WORKDIR}', '', d)} \
file://google-chrome.desktop \
"
diff --git a/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb b/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
index a5d59a0..b1a32dc 100644
--- a/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
+++ b/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
@@ -4,16 +4,15 @@ DEPENDS += "wayland libxkbcommon"
SRC_URI += "\
file://chromium-wayland/add_missing_stat_h_include.patch \
- file://chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
- file://chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
- file://chromium-wayland/0005-Override-root-filesystem-access-restriction.patch \
+ file://0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
+ file://0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
+ file://0005-Override-root-filesystem-access-restriction.patch \
file://chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch \
file://chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch \
file://chromium-wayland/0011-Replace-readdir_r-with-readdir.patch \
file://chromium-wayland/remove-Werror.patch \
${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-wayland/0002-Disable-API-keys-info-bar.patch', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
diff --git a/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb b/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
deleted file mode 100644
index c446b7f..0000000
--- a/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-include chromium-browser.inc
-
-DEPENDS += "xextproto gtk+ libxi libxss"
-
-SRC_URI += "\
- file://chromium-x11/add_missing_stat_h_include.patch \
- file://chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
- file://chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
- file://chromium-x11/0005-Override-root-filesystem-access-restriction.patch \
- file://chromium-x11/0011-Replace-readdir_r-with-readdir.patch \
- file://chromium-x11/remove-Werror.patch \
- ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-x11/0002-Disable-API-keys-info-bar.patch', '', d)} \
-"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
-SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
-SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
diff --git a/recipes-browser/chromium/chromium-x11_52.0.2743.76.bb b/recipes-browser/chromium/chromium-x11_52.0.2743.76.bb
new file mode 100644
index 0000000..dcf1d2d
--- /dev/null
+++ b/recipes-browser/chromium/chromium-x11_52.0.2743.76.bb
@@ -0,0 +1,18 @@
+include chromium-browser.inc
+
+DEPENDS += "xextproto gtk+ libxi libxss"
+
+SRC_URI += "\
+ file://chromium-x11/add_missing_stat_h_include.patch \
+ file://0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
+ file://0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
+ file://0005-Override-root-filesystem-access-restriction.patch \
+ file://chromium-x11/0011-Replace-readdir_r-with-readdir.patch \
+ file://chromium-x11/remove-Werror.patch \
+ ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
+"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
+SRC_URI[md5sum] = "0fee71466e1f2dc39ed4549d04b58ee2"
+SRC_URI[sha256sum] = "c54cdc11c3324152f3d5be98dcb4eae2bda0fc9dac7dd5f9010150458d68c18c"
diff --git a/recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
deleted file mode 100644
index 56a5b28..0000000
--- a/recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 68773f2faea2608145e820bf23cf5efaf50e3399 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@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 <dv@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(infobar_service->CreateConfirmInfoBar(
- scoped_ptr<ConfirmInfoBarDelegate>(new GoogleApiKeysInfoBarDelegate())));
-+#endif
- }
-
- GoogleApiKeysInfoBarDelegate::GoogleApiKeysInfoBarDelegate()
---
-1.9.1
-
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
deleted file mode 100644
index 2d7bf84..0000000
--- a/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From be6f1d02f3f784594642929dff289dae33014d56 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Sun, 3 Apr 2016 17:46:59 +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 | 16 ----------------
- 1 file changed, 16 deletions(-)
-
-diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc
-index 484467d..c3b5855 100644
---- a/gpu/config/software_rendering_list_json.cc
-+++ b/gpu/config/software_rendering_list_json.cc
-@@ -240,22 +240,6 @@ const char kSoftwareRenderingListJson[] = LONG_STRING_CONST(
- ]
- },
- {
-- "id": 24,
-- "description": "Accelerated 2d canvas is unstable in Linux at the moment",
-- "os": {
-- "type": "linux"
-- },
-- "exceptions": [
-- {
-- "gl_vendor": "Vivante Corporation",
-- "gl_renderer": "Vivante GC1000"
-- }
-- ],
-- "features": [
-- "accelerated_2d_canvas"
-- ]
-- },
-- {
- "id": 27,
- "description": "ATI/AMD cards with older drivers in Linux are crash-prone",
- "cr_bugs": [95934, 94973, 136240, 357314],
---
-2.5.0
-
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
deleted file mode 100644
index 56a5b28..0000000
--- a/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 68773f2faea2608145e820bf23cf5efaf50e3399 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@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 <dv@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(infobar_service->CreateConfirmInfoBar(
- scoped_ptr<ConfirmInfoBarDelegate>(new GoogleApiKeysInfoBarDelegate())));
-+#endif
- }
-
- GoogleApiKeysInfoBarDelegate::GoogleApiKeysInfoBarDelegate()
---
-1.9.1
-
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
deleted file mode 100644
index 7bc8d14..0000000
--- a/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 518135b0cd6878e91e5fcf489f3185740ec307c0 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@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 <dv@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
-@@ -6047,16 +6047,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 tools on linux. These can be overridden
-- # using CC,CXX,CC.host and CXX.host 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
- # in make_global_settings yet.
---
-1.9.1
-
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch b/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
deleted file mode 100644
index 24bec71..0000000
--- a/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 5158da97132db1a43c95f4c0ad65b4ac2629c4da Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Sat, 23 Apr 2016 14:05:04 +0200
-Subject: [PATCH] Create empty i18n_process_css_test.html file to avoid build
- failure
-
-According to https://groups.google.com/a/chromium.org/forum/#!topic/chromium-packagers/9JX1N2nf4PU
-creating an empty i18n_process_css_test.html is a valid workaround for the
-following build error:
-
-"Exception: Failed to open test/data/webui/i18n_process_css_test.html while trying to flatten test/data/webui/i18n_process_css_test.html. (No such file or directory)"
-
-Upstream-Status: Pending
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- chrome/test/data/webui/i18n_process_css_test.html | 0
- 1 file changed, 0 insertions(+), 0 deletions(-)
- create mode 100644 chrome/test/data/webui/i18n_process_css_test.html
-
-diff --git a/chrome/test/data/webui/i18n_process_css_test.html b/chrome/test/data/webui/i18n_process_css_test.html
-new file mode 100644
-index 0000000..e69de29
---
-2.5.0
-
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch b/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
deleted file mode 100644
index ceb6c6c..0000000
--- a/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From ef3aaa58be440c1845e60432a498501088da07fe Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <dv@pseudoterminal.org>
-Date: Thu, 28 Apr 2016 09:29:59 +0200
-Subject: [PATCH] Override root filesystem access restriction
-
-Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
----
- sandbox/linux/suid/client/setuid_sandbox_client.cc | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
-index 12ef7f9..b59908a 100644
---- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
-+++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
-@@ -21,8 +21,12 @@
- namespace {
-
- bool IsFileSystemAccessDenied() {
-+#if 0
- base::ScopedFD root_dir(HANDLE_EINTR(open("/", O_RDONLY)));
- return !root_dir.is_valid();
-+#else
-+ return true;
-+#endif
- }
-
- int GetHelperApi(base::Environment* env) {
---
-2.5.0
-
diff --git a/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch b/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
index 36c7ec2..eaf9568 100644
--- a/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
+++ b/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
@@ -20,10 +20,10 @@ diff --git a/base/files/file_enumerator_posix.cc b/base/files/file_enumerator_po
index 7533a24..637b8cd 100644
--- a/base/files/file_enumerator_posix.cc
+++ b/base/files/file_enumerator_posix.cc
-@@ -7,6 +7,7 @@
- #include <dirent.h>
+@@ -8,6 +8,7 @@
#include <errno.h>
#include <fnmatch.h>
+ #include <stdint.h>
+#include <string.h>
#include "base/logging.h"
@@ -135,57 +135,6 @@ index 8341b4a..1603415 100644
if (S_ISDIR(s.st_mode)) {
return true;
}
-diff --git a/third_party/boringssl/src/crypto/directory_posix.c b/third_party/boringssl/src/crypto/directory_posix.c
-index b944b69..17143a7 100644
---- a/third_party/boringssl/src/crypto/directory_posix.c
-+++ b/third_party/boringssl/src/crypto/directory_posix.c
-@@ -24,10 +24,6 @@
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-
--#if !defined(_POSIX_C_SOURCE)
--#define _POSIX_C_SOURCE 201409 /* for readdir_r */
--#endif
--
- #include "directory.h"
-
-
-@@ -38,21 +34,6 @@
- #include <stdlib.h>
- #include <string.h>
-
--#if defined(OPENSSL_PNACL)
--/* pnacl doesn't include readdir_r! So we do the best we can. */
--int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) {
-- errno = 0;
-- *result = readdir(dirp);
-- if (*result != NULL) {
-- return 0;
-- }
-- if (errno) {
-- return 1;
-- }
-- return 0;
--}
--#endif
--
- struct OPENSSL_dir_context_st {
- DIR *dir;
- struct dirent dirent;
-@@ -85,10 +66,10 @@ const char *OPENSSL_DIR_read(OPENSSL_DIR_CTX **ctx, const char *directory) {
- }
- }
-
-- if (readdir_r((*ctx)->dir, &(*ctx)->dirent, &dirent) != 0 ||
-- dirent == NULL) {
-+ errno = 0;
-+ dirent = readdir((*ctx)->dir);
-+ if (dirent == NULL || errno != 0)
- return 0;
-- }
-
- return (*ctx)->dirent.d_name;
- }
diff --git a/third_party/crashpad/crashpad/util/posix/close_multiple.cc b/third_party/crashpad/crashpad/util/posix/close_multiple.cc
index d94d575..4c1287a 100644
--- a/third_party/crashpad/crashpad/util/posix/close_multiple.cc
diff --git a/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
index 4620db2..dc34437 100644
--- a/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
+++ b/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
@@ -27,13 +27,13 @@ Tested with ARCH armv7.
Signed-off-by: Max Krummenacher <max.oss.09 at gmail.com>
Upstream-Status: Pending
---- a/components/storage_monitor/storage_monitor_linux.cc~ 2015-01-21 21:28:16.000000000 +0100
-+++ b/components/storage_monitor/storage_monitor_linux.cc 2015-10-27 13:21:08.405655894 +0100
-@@ -8,6 +8,7 @@
-
+--- chromium-53.0.2774.4-ORIG/components/storage_monitor/storage_monitor_linux.cc 2016-06-22 12:04:10.000000000 -0400
++++ chromium-53.0.2774.4/components/storage_monitor/storage_monitor_linux.cc 2016-06-24 17:43:39.874640219 -0400
+@@ -9,6 +9,7 @@
#include <mntent.h>
+ #include <stdint.h>
#include <stdio.h>
+#include <sys/stat.h>
-
+ #include <limits>
#include <list>
-
+ #include <utility>
diff --git a/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
index 2d1842b..e69b643 100644
--- a/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
+++ b/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
@@ -1,8 +1,8 @@
-Index: chromium-48.0.2548.0/build/common.gypi
+Index: chromium-53.0.2774.4/build/common.gypi
===================================================================
---- chromium-48.0.2548.0.orig/build/common.gypi
-+++ chromium-48.0.2548.0/build/common.gypi
-@@ -1421,7 +1421,7 @@
+--- chromium-53.0.2774.4.orig/build/common.gypi
++++ chromium-53.0.2774.4/build/common.gypi
+@@ -1446,7 +1446,7 @@
# Disable fatal linker warnings, similarly to how we make it possible
# to disable -Werror (e.g. for different toolchain versions).
@@ -11,9 +11,9 @@ Index: chromium-48.0.2548.0/build/common.gypi
'release_valgrind_build%': 0,
-@@ -3135,12 +3135,6 @@
- '-Wsign-compare',
- ]
+@@ -3074,12 +3074,6 @@
+ # third-party code either.
+ 'cflags!': [ '-Wall' ],
}],
- # TODO: Fix all warnings on chromeos too.
- [ 'os_posix==1 and OS!="mac" and OS!="ios" and (clang!=1 or chromeos==1)', {
@@ -21,53 +21,54 @@ Index: chromium-48.0.2548.0/build/common.gypi
- '-Werror',
- ],
- }],
- [ 'os_posix==1 and os_bsd!=1 and OS!="mac" and OS!="android"', {
- 'cflags': [
- # Don't warn about ignoring the return value from e.g. close().
-@@ -3692,10 +3686,10 @@
+ [ 'OS=="win"', {
+ 'defines': [
+ '_CRT_SECURE_NO_DEPRECATE',
+@@ -3615,10 +3609,10 @@
}],
['os_posix==1 and OS!="mac" and OS!="ios"', {
'target_defaults': {
- # Enable -Werror by default, but put it in a variable so it can
-+ # Disable -Werror by default, but put it in a variable so it can
++ # Disable -Werror by default and put it in a variable so it can
# be disabled in ~/.gyp/include.gypi on the valgrind builders.
'variables': {
- 'werror%': '-Werror',
+ 'werror%': '',
'libraries_for_target%': '',
- },
- 'defines': [
-@@ -5045,7 +5039,7 @@
+ 'conditions' : [
+ # Enable -Wextra for chromium_code when we control the compiler.
+@@ -5076,7 +5070,7 @@
'GCC_OBJC_CALL_CXX_CDTORS': 'YES', # -fobjc-call-cxx-cdtors
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
-+ 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror
- 'GCC_VERSION': '4.2',
- 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
++ 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror
+ 'GCC_VERSION': 'com.apple.compilers.llvm.clang.1_0',
'USE_HEADERMAP': 'NO',
-Index: chromium-48.0.2548.0/build/config/compiler/BUILD.gn
+ 'WARNING_CFLAGS': [
+Index: chromium-53.0.2774.4/build/config/compiler/BUILD.gn
===================================================================
---- chromium-48.0.2548.0.orig/build/config/compiler/BUILD.gn
-+++ chromium-48.0.2548.0/build/config/compiler/BUILD.gn
-@@ -687,7 +687,6 @@ config("default_warnings") {
- cflags += [
- # Enables.
- "-Wendif-labels", # Weird old-style text after an #endif.
-- "-Werror", # Warnings as errors.
-
- # Disables.
- "-Wno-missing-field-initializers", # "struct foo f = {0};"
-Index: chromium-48.0.2548.0/build/nocompile.gypi
-===================================================================
---- chromium-48.0.2548.0.orig/build/nocompile.gypi
-+++ chromium-48.0.2548.0/build/nocompile.gypi
-@@ -81,7 +81,7 @@
- '<(nocompile_driver)',
- '4', # number of compilers to invoke in parallel.
- '<(RULE_INPUT_PATH)',
-- '-Wall -Werror -Wfatal-errors -I<(DEPTH)',
-+ '-Wall -I<(DEPTH)',
- '<(nc_result_path)',
- ],
- 'message': 'Generating no compile results for <(RULE_INPUT_PATH)',
+--- chromium-53.0.2774.4.orig/build/config/compiler/BUILD.gn
++++ chromium-53.0.2774.4/build/config/compiler/BUILD.gn
+@@ -1040,9 +1040,6 @@ config("chromium_code") {
+ cflags = [ "/W4" ] # Warning level 4.
+ } else {
+ cflags = [ "-Wall" ]
+- if (treat_warnings_as_errors) {
+- cflags += [ "-Werror" ]
+- }
+ if (is_clang) {
+ # Enable -Wextra for chromium_code when we control the compiler.
+ cflags += [ "-Wextra" ]
+@@ -1089,11 +1086,6 @@ config("no_chromium_code") {
+ "_CRT_NONSTDC_NO_DEPRECATE",
+ ]
+ } else {
+- # GCC may emit unsuppressible warnings so don't add -Werror for no chromium
+- # code. crbug.com/589724
+- if (treat_warnings_as_errors && is_clang) {
+- cflags += [ "-Werror" ]
+- }
+ if (is_clang && !is_nacl) {
+ # TODO(thakis): Remove !is_nacl once
+ # https://codereview.webrtc.org/1552863002/ made its way into chromium.
diff --git a/recipes-browser/chromium/chromium/chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/files/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
rename to recipes-browser/chromium/files/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
diff --git a/recipes-browser/chromium/chromium/chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/files/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
rename to recipes-browser/chromium/files/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
diff --git a/recipes-browser/chromium/chromium/chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch b/recipes-browser/chromium/files/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
rename to recipes-browser/chromium/files/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
diff --git a/recipes-browser/chromium/chromium/chromium-wayland/0005-Override-root-filesystem-access-restriction.patch b/recipes-browser/chromium/files/0005-Override-root-filesystem-access-restriction.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-wayland/0005-Override-root-filesystem-access-restriction.patch
rename to recipes-browser/chromium/files/0005-Override-root-filesystem-access-restriction.patch
diff --git a/recipes-browser/chromium/files/api-keys.patch b/recipes-browser/chromium/files/api-keys.patch
new file mode 100644
index 0000000..85dc40c
--- /dev/null
+++ b/recipes-browser/chromium/files/api-keys.patch
@@ -0,0 +1,13 @@
+--- a/google-chrome 2016-07-08 09:47:11.121810646 -0400
++++ b/google-chrome 2016-07-08 09:47:37.881683637 -0400
+@@ -3,6 +3,10 @@
+ export CHROME_DEVEL_SANDBOX=/usr/sbin/chrome-devel-sandbox
+ export LD_LIBRARY_PATH=/usr/lib/chromium
+
++export GOOGLE_API_KEY="no"
++export GOOGLE_DEFAULT_CLIENT_ID="no"
++export GOOGLE_DEFAULT_CLIENT_SECRET="no"
++
+ CHROME_EXTRA_ARGS=""
+ if [ "`whoami`" = "root" ] ; then
+ CHROME_EXTRA_ARGS="${CHROME_EXTRA_ARGS} --user-data-dir=ROOT_HOME/.chromium/"
--
2.9.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [meta-browser][PATCH 2/4] chromium: gcc-6 support
2016-07-20 19:51 ` [meta-browser][PATCH 2/4] chromium: gcc-6 support Trevor Woerner
@ 2016-07-20 19:59 ` Khem Raj
2016-07-20 20:13 ` Trevor Woerner
0 siblings, 1 reply; 11+ messages in thread
From: Khem Raj @ 2016-07-20 19:59 UTC (permalink / raw)
To: openembeded-devel
On Wed, Jul 20, 2016 at 12:51 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> Allow chromium to build with gcc-6.
bunch of patches are deleted. Are they upstreamed ? or how do they
help compiling chromium with gcc6?
>
> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
> ---
> ...0001-bignum.cc-disable-warning-from-gcc-5.patch | 60 ---------------
> ...-image_util.cc-disable-warning-from-gcc-5.patch | 39 ----------
> .../0008-Fix-GCC-uninitialized-warning.patch | 26 -------
> ...9-Fix-build-errors-with-GCC-in-Debug-mode.patch | 46 ------------
> ...be-used-uninitialized-in-this-function-wa.patch | 25 -------
> ...for-unused-variable-error-in-ui-gfx-color.patch | 86 ----------------------
> .../chromium/chromium-48/remove-Werror.patch | 73 ++++++++++++++++++
> recipes-browser/chromium/chromium_48.0.2548.0.bb | 12 +--
> 8 files changed, 74 insertions(+), 293 deletions(-)
> delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch
> delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch
> delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch
> delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch
> delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch
> delete mode 100644 recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch
> create mode 100644 recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
With this patch, we are lowering the bar for changes into chromium.
While it wont be accepted upstream. It would be good to collect
the warnings which are turned into errors by gcc6 and report it to
chromium community or here as well
>
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch b/recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch
> deleted file mode 100644
> index 67f9800..0000000
> --- a/recipes-browser/chromium/chromium/chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -From 5b8c53a6bb11c8aa9b575b5a8155c25c5085f349 Mon Sep 17 00:00:00 2001
> -From: Max Krummenacher <max.oss.09@gmail.com>
> -Date: Fri, 6 Nov 2015 12:22:35 +0100
> -Subject: [PATCH] bignum.cc: disable warning from gcc 5
> -
> -addresses:
> - ../../third_party/WebKit/Source/wtf/dtoa/bignum.cc:105:10: error: assuming
> - signed overflow does not occur when assuming that (X + c) < X is always
> - false [-Werror=strict-overflow]
> - void Bignum::AssignDecimalString(Vector<const char> value) {
> - ^
> -
> -Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
> -
> -Upstream-Status: Pending
> -See the discussion on the issue in Chromium upstream:
> -https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/3uwBwunIa7g
> ----
> - third_party/WebKit/Source/wtf/dtoa/bignum.cc | 3 +++
> - 1 file changed, 3 insertions(+)
> -
> -diff --git a/third_party/WebKit/Source/wtf/dtoa/bignum.cc b/third_party/WebKit/Source/wtf/dtoa/bignum.cc
> -index a000b46..6c6d336 100644
> ---- a/third_party/WebKit/Source/wtf/dtoa/bignum.cc
> -+++ b/third_party/WebKit/Source/wtf/dtoa/bignum.cc
> -@@ -102,7 +102,10 @@
> - }
> -
> -
> -+#pragma GCC diagnostic push
> -+#pragma GCC diagnostic warning "-Wstrict-overflow"
> - void Bignum::AssignDecimalString(Vector<const char> value) {
> -+#pragma GCC diagnostic pop
> - // 2^64 = 18446744073709551616 > 10^19
> - const int kMaxUint64DecimalDigits = 19;
> - Zero();
> -@@ -696,7 +696,10 @@
> - }
> -
> -
> -+#pragma GCC diagnostic push
> -+#pragma GCC diagnostic warning "-Wstrict-overflow"
> - void Bignum::Align(const Bignum& other) {
> -+#pragma GCC diagnostic pop
> - if (exponent_ > other.exponent_) {
> - // If "X" represents a "hidden" digit (by the exponent) then we are in the
> - // following case (a == this, b == other):
> -@@ -709,7 +709,10 @@
> - for (int i = used_digits_ - 1; i >= 0; --i) {
> - bigits_[i + zero_digits] = bigits_[i];
> - }
> -+#pragma GCC diagnostic push
> -+#pragma GCC diagnostic warning "-Wstrict-overflow"
> - for (int i = 0; i < zero_digits; ++i) {
> -+#pragma GCC diagnostic pop
> - bigits_[i] = 0;
> - }
> - used_digits_ += zero_digits;
> ---
> -1.8.4.5
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch b/recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch
> deleted file mode 100644
> index 1825a85..0000000
> --- a/recipes-browser/chromium/chromium/chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -From 2f674d980a116075dc7123a3e243b1451e4a732d Mon Sep 17 00:00:00 2001
> -From: Max Krummenacher <max.oss.09@gmail.com>
> -Date: Tue, 3 Nov 2015 22:13:40 +0100
> -Subject: [PATCH] image_util.cc: disable warning from gcc 5
> -
> -addresses:
> - ../../ui/gfx/image/image_util.cc:50:6: error: assuming signed overflow does
> - not occur when assuming that (X - c) <= X is always true
> - [-Werror=strict-overflow]
> - bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) {
> - ^
> -
> -Signed-off-by: Max Krummenacher <max.oss.09@gmail.com>
> -
> -Upstream-Status: Pending
> -See the discussion on the issue in Chromium upstream:
> -https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/3uwBwunIa7g
> -
> ----
> - ui/gfx/image/image_util.cc | 3 +++
> - 1 file changed, 3 insertions(+)
> -
> -diff --git a/ui/gfx/image/image_util.cc b/ui/gfx/image/image_util.cc
> -index 89a3f8c..d595da3 100644
> ---- a/ui/gfx/image/image_util.cc
> -+++ b/ui/gfx/image/image_util.cc
> -@@ -47,7 +47,10 @@
> - }
> - #endif // !defined(OS_IOS)
> -
> -+#pragma GCC diagnostic push
> -+#pragma GCC diagnostic warning "-Wstrict-overflow"
> - bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) {
> -+#pragma GCC diagnostic pop
> - *leading = 0;
> - *trailing = std::max(1, image.width()) - 1;
> - if (!image.HasRepresentation(1.0))
> ---
> -1.8.4.5
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch b/recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch
> deleted file mode 100644
> index 3bf6d96..0000000
> --- a/recipes-browser/chromium/chromium/chromium-48/0008-Fix-GCC-uninitialized-warning.patch
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -From 12d7fb643188ea5033aaf70ffe64b4c58eefc5eb Mon Sep 17 00:00:00 2001
> -From: Carlos Rafael Giani <dv@pseudoterminal.org>
> -Date: Fri, 29 Apr 2016 14:02:44 +0200
> -Subject: [PATCH] Fix GCC uninitialized warning
> -
> -Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> ----
> - third_party/ots/src/name.cc | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/third_party/ots/src/name.cc b/third_party/ots/src/name.cc
> -index a0dd1ea..070ddae 100644
> ---- a/third_party/ots/src/name.cc
> -+++ b/third_party/ots/src/name.cc
> -@@ -79,7 +79,7 @@ bool ots_name_parse(Font *font, const uint8_t* data, size_t length) {
> - const char* string_base = reinterpret_cast<const char*>(data) +
> - string_offset;
> -
> -- NameRecord prev_record;
> -+ NameRecord prev_record(0, 0, 0, 0);
> - bool sort_required = false;
> -
> - // Read all the names, discarding any with invalid IDs,
> ---
> -2.5.0
> -
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch b/recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch
> deleted file mode 100644
> index f5f7889..0000000
> --- a/recipes-browser/chromium/chromium/chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -From 2d7143090fdfd82950be352078daa5019279d81f Mon Sep 17 00:00:00 2001
> -From: Carlos Rafael Giani <dv@pseudoterminal.org>
> -Date: Fri, 29 Apr 2016 17:14:15 +0200
> -Subject: [PATCH] Fix build errors with GCC in Debug mode
> -
> -Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> ----
> - third_party/WebKit/Source/wtf/dtoa/utils.h | 7 +++++++
> - .../cacheinvalidation/src/google/cacheinvalidation/include/types.h | 2 +-
> - 2 files changed, 8 insertions(+), 1 deletion(-)
> -
> -diff --git a/third_party/WebKit/Source/wtf/dtoa/utils.h b/third_party/WebKit/Source/wtf/dtoa/utils.h
> -index 0a61c01..7738e9a 100644
> ---- a/third_party/WebKit/Source/wtf/dtoa/utils.h
> -+++ b/third_party/WebKit/Source/wtf/dtoa/utils.h
> -@@ -165,7 +165,14 @@ namespace double_conversion {
> -
> - // Access individual vector elements - checks bounds in debug mode.
> - T& operator[](int index) const {
> -+#if !defined(NDEBUG)
> -+#pragma GCC diagnostic push
> -+#pragma GCC diagnostic ignored "-Wstrict-overflow"
> -+#endif // !defined(NDEBUG)
> - ASSERT(0 <= index && index < length_);
> -+#if !defined(NDEBUG)
> -+#pragma GCC diagnostic pop
> -+#endif // !defined(NDEBUG)
> - return start_[index];
> - }
> -
> -diff --git a/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h b/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h
> -index 4e3be27..835e956 100644
> ---- a/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h
> -+++ b/third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h
> -@@ -172,7 +172,7 @@ class ErrorInfo {
> - */
> - class ObjectId {
> - public:
> -- ObjectId() : is_initialized_(false) {}
> -+ ObjectId() : is_initialized_(false), source_(0) {}
> -
> - /* Creates an object id for the given source and name (the name is copied). */
> - ObjectId(int source, const string& name)
> ---
> -2.5.0
> -
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch b/recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch
> deleted file mode 100644
> index 30cd511..0000000
> --- a/recipes-browser/chromium/chromium/chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -From 135debdc4613d5d323d1659166466f74f2e75284 Mon Sep 17 00:00:00 2001
> -From: Carlos Rafael Giani <dv@pseudoterminal.org>
> -Date: Fri, 6 May 2016 12:44:36 +0200
> -Subject: [PATCH] Fix "'rv' may be used uninitialized in this function" warning
> -
> -Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> ----
> - third_party/mojo/src/mojo/edk/system/unique_identifier.cc | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/third_party/mojo/src/mojo/edk/system/unique_identifier.cc b/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
> -index 22abf22..6f9a761 100644
> ---- a/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
> -+++ b/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
> -@@ -31,6 +31,7 @@ UniqueIdentifier UniqueIdentifier::FromString(const std::string& s,
> - memcpy(rv.data_, &bytes[0], sizeof(rv.data_));
> - *success = true;
> - } else {
> -+ memset(rv.data_, 0, sizeof(rv.data_));
> - *success = false;
> - }
> - return rv;
> ---
> -2.7.4
> -
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch b/recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch
> deleted file mode 100644
> index e3f20ef..0000000
> --- a/recipes-browser/chromium/chromium/chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch
> +++ /dev/null
> @@ -1,86 +0,0 @@
> -From 41cb20a99eb12443f649051a608c7dfe28661d85 Mon Sep 17 00:00:00 2001
> -From: Carlos Rafael Giani <dv@pseudoterminal.org>
> -Date: Thu, 19 May 2016 22:38:32 +0200
> -Subject: [PATCH] Workaround for unused-variable error in
> - ui/gfx/color_palette.h
> -
> -Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> ----
> - ui/gfx/BUILD.gn | 1 +
> - ui/gfx/color_palette.cc | 12 ++++++++++++
> - ui/gfx/color_palette.h | 12 ++++++------
> - ui/gfx/gfx.gyp | 1 +
> - 4 files changed, 20 insertions(+), 6 deletions(-)
> - create mode 100644 ui/gfx/color_palette.cc
> -
> -diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
> -index dcd15b0..bf1455c 100644
> ---- a/ui/gfx/BUILD.gn
> -+++ b/ui/gfx/BUILD.gn
> -@@ -61,6 +61,7 @@ component("gfx") {
> - "codec/png_codec.h",
> - "color_analysis.cc",
> - "color_analysis.h",
> -+ "color_palette.cc",
> - "color_palette.h",
> - "color_profile.cc",
> - "color_profile.h",
> -diff --git a/ui/gfx/color_palette.cc b/ui/gfx/color_palette.cc
> -new file mode 100644
> -index 0000000..a8e6280
> ---- /dev/null
> -+++ b/ui/gfx/color_palette.cc
> -@@ -0,0 +1,12 @@
> -+#include "color_palette.h"
> -+
> -+namespace gfx {
> -+
> -+const SkColor kChromeIconGrey = SkColorSetRGB(0x5A, 0x5A, 0x5A);
> -+const SkColor kGoogleBlue300 = SkColorSetRGB(0x7B, 0xAA, 0xF7);
> -+const SkColor kGoogleBlue500 = SkColorSetRGB(0x42, 0x85, 0xF4);
> -+const SkColor kGoogleRed700 = SkColorSetRGB(0xC5, 0x39, 0x29);
> -+const SkColor kGoogleGreen700 = SkColorSetRGB(0x0B, 0x80, 0x43);
> -+const SkColor kGoogleYellow700 = SkColorSetRGB(0xF0, 0x93, 0x00);
> -+
> -+} // namespace gfx
> -diff --git a/ui/gfx/color_palette.h b/ui/gfx/color_palette.h
> -index 372f52c..63fa8af 100644
> ---- a/ui/gfx/color_palette.h
> -+++ b/ui/gfx/color_palette.h
> -@@ -9,15 +9,15 @@
> -
> - namespace gfx {
> -
> --const SkColor kChromeIconGrey = SkColorSetRGB(0x5A, 0x5A, 0x5A);
> -+extern const SkColor kChromeIconGrey;
> -
> - // The number refers to the shade of darkness. Each color in the MD
> - // palette ranges from 100-900.
> --const SkColor kGoogleBlue300 = SkColorSetRGB(0x7B, 0xAA, 0xF7);
> --const SkColor kGoogleBlue500 = SkColorSetRGB(0x42, 0x85, 0xF4);
> --const SkColor kGoogleRed700 = SkColorSetRGB(0xC5, 0x39, 0x29);
> --const SkColor kGoogleGreen700 = SkColorSetRGB(0x0B, 0x80, 0x43);
> --const SkColor kGoogleYellow700 = SkColorSetRGB(0xF0, 0x93, 0x00);
> -+extern const SkColor kGoogleBlue300;
> -+extern const SkColor kGoogleBlue500;
> -+extern const SkColor kGoogleRed700;
> -+extern const SkColor kGoogleGreen700;
> -+extern const SkColor kGoogleYellow700;
> -
> - } // namespace gfx
> -
> -diff --git a/ui/gfx/gfx.gyp b/ui/gfx/gfx.gyp
> -index 8067bee..98b6312 100644
> ---- a/ui/gfx/gfx.gyp
> -+++ b/ui/gfx/gfx.gyp
> -@@ -142,6 +142,7 @@
> - 'codec/png_codec.h',
> - 'color_analysis.cc',
> - 'color_analysis.h',
> -+ 'color_palette.cc',
> - 'color_palette.h',
> - 'color_profile.cc',
> - 'color_profile.h',
> ---
> -2.7.4
> -
> diff --git a/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
> new file mode 100644
> index 0000000..2d1842b
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
> @@ -0,0 +1,73 @@
> +Index: chromium-48.0.2548.0/build/common.gypi
> +===================================================================
> +--- chromium-48.0.2548.0.orig/build/common.gypi
> ++++ chromium-48.0.2548.0/build/common.gypi
> +@@ -1421,7 +1421,7 @@
> +
> + # Disable fatal linker warnings, similarly to how we make it possible
> + # to disable -Werror (e.g. for different toolchain versions).
> +- 'disable_fatal_linker_warnings%': 0,
> ++ 'disable_fatal_linker_warnings%': 1,
> +
> + 'release_valgrind_build%': 0,
> +
> +@@ -3135,12 +3135,6 @@
> + '-Wsign-compare',
> + ]
> + }],
> +- # TODO: Fix all warnings on chromeos too.
> +- [ 'os_posix==1 and OS!="mac" and OS!="ios" and (clang!=1 or chromeos==1)', {
> +- 'cflags!': [
> +- '-Werror',
> +- ],
> +- }],
> + [ 'os_posix==1 and os_bsd!=1 and OS!="mac" and OS!="android"', {
> + 'cflags': [
> + # Don't warn about ignoring the return value from e.g. close().
> +@@ -3692,10 +3686,10 @@
> + }],
> + ['os_posix==1 and OS!="mac" and OS!="ios"', {
> + 'target_defaults': {
> +- # Enable -Werror by default, but put it in a variable so it can
> ++ # Disable -Werror by default, but put it in a variable so it can
> + # be disabled in ~/.gyp/include.gypi on the valgrind builders.
> + 'variables': {
> +- 'werror%': '-Werror',
> ++ 'werror%': '',
> + 'libraries_for_target%': '',
> + },
> + 'defines': [
> +@@ -5045,7 +5039,7 @@
> + 'GCC_OBJC_CALL_CXX_CDTORS': 'YES', # -fobjc-call-cxx-cdtors
> + 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
> + 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
> +- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
> ++ 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror
> + 'GCC_VERSION': '4.2',
> + 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
> + 'USE_HEADERMAP': 'NO',
> +Index: chromium-48.0.2548.0/build/config/compiler/BUILD.gn
> +===================================================================
> +--- chromium-48.0.2548.0.orig/build/config/compiler/BUILD.gn
> ++++ chromium-48.0.2548.0/build/config/compiler/BUILD.gn
> +@@ -687,7 +687,6 @@ config("default_warnings") {
> + cflags += [
> + # Enables.
> + "-Wendif-labels", # Weird old-style text after an #endif.
> +- "-Werror", # Warnings as errors.
> +
> + # Disables.
> + "-Wno-missing-field-initializers", # "struct foo f = {0};"
> +Index: chromium-48.0.2548.0/build/nocompile.gypi
> +===================================================================
> +--- chromium-48.0.2548.0.orig/build/nocompile.gypi
> ++++ chromium-48.0.2548.0/build/nocompile.gypi
> +@@ -81,7 +81,7 @@
> + '<(nocompile_driver)',
> + '4', # number of compilers to invoke in parallel.
> + '<(RULE_INPUT_PATH)',
> +- '-Wall -Werror -Wfatal-errors -I<(DEPTH)',
> ++ '-Wall -I<(DEPTH)',
> + '<(nc_result_path)',
> + ],
> + 'message': 'Generating no compile results for <(RULE_INPUT_PATH)',
> diff --git a/recipes-browser/chromium/chromium_48.0.2548.0.bb b/recipes-browser/chromium/chromium_48.0.2548.0.bb
> index 2a52568..70afa6c 100644
> --- a/recipes-browser/chromium/chromium_48.0.2548.0.bb
> +++ b/recipes-browser/chromium/chromium_48.0.2548.0.bb
> @@ -2,16 +2,11 @@ include chromium-browser.inc
>
> SRC_URI += "\
> file://chromium-48/add_missing_stat_h_include.patch \
> - file://chromium-48/0001-bignum.cc-disable-warning-from-gcc-5.patch \
> - file://chromium-48/0002-image_util.cc-disable-warning-from-gcc-5.patch \
> file://chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
> file://chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
> file://chromium-48/0005-Override-root-filesystem-access-restriction.patch \
> - file://chromium-48/0008-Fix-GCC-uninitialized-warning.patch \
> - file://chromium-48/0009-Fix-build-errors-with-GCC-in-Debug-mode.patch \
> - file://chromium-48/0010-Fix-rv-may-be-used-uninitialized-in-this-function-wa.patch \
> file://chromium-48/0011-Replace-readdir_r-with-readdir.patch \
> - file://chromium-48/0012-Workaround-for-unused-variable-error-in-ui-gfx-color.patch \
> + file://chromium-48/remove-Werror.patch \
> ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
> ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-48/0002-Disable-API-keys-info-bar.patch', '', d)} \
> "
> @@ -43,8 +38,3 @@ CHROMIUM_X11_DEPENDS = "xextproto gtk+ libxi libxss"
> CHROMIUM_X11_GYP_DEFINES = ""
> CHROMIUM_WAYLAND_DEPENDS = "wayland libxkbcommon"
> CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1"
> -
> -# | gen/protoc_out/components/enhanced_bookmarks/proto/cluster.pb.cc:257:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
> -# | if (!_extensions_.IsInitialized()) return false; return true;
> -# | ^~
> -PNBLACKLIST[chromium] ?= "BROKEN: fails to build with gcc-6"
> --
> 2.9.0
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-browser][PATCH 3/4] chromium: split into -wayland and -x11
2016-07-20 19:52 ` [meta-browser][PATCH 3/4] chromium: split into -wayland and -x11 Trevor Woerner
@ 2016-07-20 20:00 ` Khem Raj
2016-07-20 20:02 ` Khem Raj
0 siblings, 1 reply; 11+ messages in thread
From: Khem Raj @ 2016-07-20 20:00 UTC (permalink / raw)
To: openembeded-devel
I would just leave chromium as it is (defaulting to x11)
On Wed, Jul 20, 2016 at 12:52 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> The wayland dependency on the ozone patches holds back the x11 version. By
> splitting the recipe into two separate recipes, each can target separate
> versions.
>
> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
> ---
> recipes-browser/chromium/chromium-browser.inc | 31 +--
> .../chromium/chromium-wayland_48.0.2548.0.bb | 33 +++
> .../chromium/chromium-x11_48.0.2548.0.bb | 19 ++
> ...accelerated-Canvas-support-from-blacklist.patch | 0
> .../0002-Disable-API-keys-info-bar.patch | 0
> ...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 0
> ...y-i18n_process_css_test.html-file-to-avoi.patch | 0
> ...erride-root-filesystem-access-restriction.patch | 0
> .../0006-Remove-GBM-support-from-wayland.gyp.patch | 0
> ...for-glib-related-build-error-with-ozone-w.patch | 0
> .../0011-Replace-readdir_r-with-readdir.patch | 0
> .../add_missing_stat_h_include.patch | 0
> .../remove-Werror.patch | 0
> ...accelerated-Canvas-support-from-blacklist.patch | 49 +++++
> .../0002-Disable-API-keys-info-bar.patch | 33 +++
> ...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 43 ++++
> ...y-i18n_process_css_test.html-file-to-avoi.patch | 26 +++
> ...erride-root-filesystem-access-restriction.patch | 30 +++
> .../0011-Replace-readdir_r-with-readdir.patch | 237 +++++++++++++++++++++
> .../chromium-x11/add_missing_stat_h_include.patch | 39 ++++
> .../chromium/chromium-x11/remove-Werror.patch | 73 +++++++
> recipes-browser/chromium/chromium_48.0.2548.0.bb | 40 ----
> .../{chromium => files}/armv6/include.gypi | 0
> .../{chromium => files}/armv6/oe-defaults.gypi | 0
> .../{chromium => files}/armv7a/include.gypi | 0
> .../{chromium => files}/armv7a/oe-defaults.gypi | 0
> .../{chromium => files}/component-build.gypi | 0
> .../chromium/{chromium => files}/google-chrome | 0
> .../{chromium => files}/google-chrome.desktop | 0
> .../{chromium => files}/x86-64/include.gypi | 0
> .../{chromium => files}/x86-64/oe-defaults.gypi | 0
> .../chromium/{chromium => files}/x86/include.gypi | 0
> .../{chromium => files}/x86/oe-defaults.gypi | 0
> 33 files changed, 593 insertions(+), 60 deletions(-)
> create mode 100644 recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
> create mode 100644 recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0001-Remove-accelerated-Canvas-support-from-blacklist.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0002-Disable-API-keys-info-bar.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0003-Remove-hard-coded-values-for-CC-and-CXX.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0005-Override-root-filesystem-access-restriction.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0006-Remove-GBM-support-from-wayland.gyp.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0011-Replace-readdir_r-with-readdir.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/add_missing_stat_h_include.patch (100%)
> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/remove-Werror.patch (100%)
> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
> delete mode 100644 recipes-browser/chromium/chromium_48.0.2548.0.bb
> rename recipes-browser/chromium/{chromium => files}/armv6/include.gypi (100%)
> rename recipes-browser/chromium/{chromium => files}/armv6/oe-defaults.gypi (100%)
> rename recipes-browser/chromium/{chromium => files}/armv7a/include.gypi (100%)
> rename recipes-browser/chromium/{chromium => files}/armv7a/oe-defaults.gypi (100%)
> rename recipes-browser/chromium/{chromium => files}/component-build.gypi (100%)
> rename recipes-browser/chromium/{chromium => files}/google-chrome (100%)
> rename recipes-browser/chromium/{chromium => files}/google-chrome.desktop (100%)
> rename recipes-browser/chromium/{chromium => files}/x86-64/include.gypi (100%)
> rename recipes-browser/chromium/{chromium => files}/x86-64/oe-defaults.gypi (100%)
> rename recipes-browser/chromium/{chromium => files}/x86/include.gypi (100%)
> rename recipes-browser/chromium/{chromium => files}/x86/oe-defaults.gypi (100%)
>
> diff --git a/recipes-browser/chromium/chromium-browser.inc b/recipes-browser/chromium/chromium-browser.inc
> index c9da1f7..fc7ac04 100644
> --- a/recipes-browser/chromium/chromium-browser.inc
> +++ b/recipes-browser/chromium/chromium-browser.inc
> @@ -1,19 +1,16 @@
> # Recipe files have to perform the following tasks after including this file:
> -# 1) Add patches to SRC_URI. Version specific patches should be contained in a
> -# "chromium-XX" subdirectory, where XX is the major version. There are also
> -# patches that are shared amongst versions but may one day no longer be
> -# needed. These do not belong in such a subdirectory, but still need to be
> -# explicitely be added. Do NOT add ozone-wayland patches to SRC_URI here!
> +# 1) Add patches to SRC_URI. Platform-specific patches should be contained in
> +# either "chromium-x11" or "chromium-wayland". There are also patches that
> +# are shared amongst platforms but may one day no longer be needed. These
> +# do not belong in such a subdirectory, but still need to be explicitely be
> +# added. Do NOT add ozone-wayland patches to SRC_URI here!
> # 2) Add md5sum and sha256sum hashes of the tarball.
> # 3) Add ozone-wayland patches to the OZONE_WAYLAND_EXTRA_PATCHES variable.
> -# The rule with the chromium-XX subdirectory also applies here.
> # 4) Set the OZONE_WAYLAND_GIT_BRANCH and OZONE_WAYLAND_GIT_SRCREV values.
> # 5) Optionally, set values for these variables:
> # * OZONE_WAYLAND_PATCH_FILE_GLOB
> # * OZONE_WAYLAND_GIT_DESTSUFFIX
> -# * CHROMIUM_X11_DEPENDS
> # * CHROMIUM_X11_GYP_DEFINES
> -# * CHROMIUM_WAYLAND_DEPENDS
> # * CHROMIUM_WAYLAND_GYP_DEFINES
>
> include chromium.inc
> @@ -22,13 +19,16 @@ DESCRIPTION = "Chromium browser"
> DEPENDS += "libgnome-keyring"
>
> SRC_URI = "\
> - http://gsdview.appspot.com/chromium-browser-official/${P}.tar.xz \
> + http://gsdview.appspot.com/chromium-browser-official/chromium-${PV}.tar.xz \
> file://include.gypi \
> file://oe-defaults.gypi \
> file://google-chrome \
> file://google-chrome.desktop \
> "
>
> +S = "${WORKDIR}/chromium-${PV}"
> +BPN = "chromium"
> +
>
> # PACKAGECONFIG options
> # ^^^^^^^^^^^^^^^^^^^^^
> @@ -121,9 +121,7 @@ OZONE_WAYLAND_EXTRA_PATCHES ?= ""
>
> # These are present as their own variables, since they have changed between versions
> # a few times in the past already; making them variables makes it easier to handle that
> -CHROMIUM_X11_DEPENDS ?= ""
> CHROMIUM_X11_GYP_DEFINES ?= ""
> -CHROMIUM_WAYLAND_DEPENDS ?= ""
> CHROMIUM_WAYLAND_GYP_DEFINES ?= ""
>
>
> @@ -134,12 +132,6 @@ CHROMIUM_EXTRA_ARGS ?= " \
> ${@bb.utils.contains('PACKAGECONFIG', 'kiosk-mode', '--start-fullscreen --kiosk --no-first-run', '', d)} \
> "
>
> -SRC_URI += "\
> - ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
> - ${@oe.utils.conditional('CHROMIUM_ENABLE_WAYLAND', '1', 'git://github.com/01org/ozone-wayland.git;destsuffix=${OZONE_WAYLAND_GIT_DESTSUFFIX};branch=${OZONE_WAYLAND_GIT_BRANCH};rev=${OZONE_WAYLAND_GIT_SRCREV}', '', d)} \
> -"
> -
> -
> # Some sanity checks.
> python do_check_variables() {
> CHROMIUM_BUILD_TYPE = d.getVar('CHROMIUM_BUILD_TYPE', True)
> @@ -158,7 +150,7 @@ python do_check_variables() {
> if (CHROMIUM_ENABLE_WAYLAND == '1'):
> bb.plain("INFO: Chromium has been configured with Wayland support (ozone-wayland). Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
> else:
> - bb.plain("INFO: Chromium has been configured without Wayland support. Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
> + bb.plain("INFO: Chromium has been configured for X11. Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
> }
> addtask check_variables before do_fetch
>
> @@ -191,6 +183,7 @@ EXTRA_OEGYP = " \
> -Dclang=0 \
> -Dhost_clang=0 \
> -Ddisable_fatal_linker_warnings=1 \
> + -Dv8_use_external_startup_data=0 \
> -Dlinux_use_bundled_gold=0 \
> -Dlinux_use_bundled_binutils=0 \
> ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-Dlinux_use_gold_flags=1', '-Dlinux_use_gold_flags=0', d)} \
> @@ -203,10 +196,8 @@ EXTRA_OEGYP = " \
>
> python() {
> if d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1':
> - d.appendVar('DEPENDS', ' %s ' % d.getVar('CHROMIUM_WAYLAND_DEPENDS', True))
> d.appendVar('GYP_DEFINES', ' %s ' % d.getVar('CHROMIUM_WAYLAND_GYP_DEFINES', True))
> else:
> - d.appendVar('DEPENDS', ' %s ' % d.getVar('CHROMIUM_X11_DEPENDS', True))
> d.appendVar('GYP_DEFINES', ' %s ' % d.getVar('CHROMIUM_X11_GYP_DEFINES', True))
> }
>
> diff --git a/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb b/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
> new file mode 100644
> index 0000000..a5d59a0
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
> @@ -0,0 +1,33 @@
> +include chromium-browser.inc
> +
> +DEPENDS += "wayland libxkbcommon"
> +
> +SRC_URI += "\
> + file://chromium-wayland/add_missing_stat_h_include.patch \
> + file://chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
> + file://chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
> + file://chromium-wayland/0005-Override-root-filesystem-access-restriction.patch \
> + file://chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch \
> + file://chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch \
> + file://chromium-wayland/0011-Replace-readdir_r-with-readdir.patch \
> + file://chromium-wayland/remove-Werror.patch \
> + ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
> + ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
> + ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-wayland/0002-Disable-API-keys-info-bar.patch', '', d)} \
> +"
> +
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
> +SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
> +SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
> +
> +OZONE_WAYLAND_GIT_BRANCH = "Milestone-SouthSister"
> +OZONE_WAYLAND_GIT_SRCREV = "c605505044af3345a276abbd7c29fd53db1dea40"
> +
> +# Component build is unsupported in ozone-wayland for Chromium 48
> +python() {
> + if (d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1'):
> + if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d):
> + bb.fatal("Chromium 48 Wayland version cannot be built in component-mode")
> +}
> +
> +CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1"
> diff --git a/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb b/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
> new file mode 100644
> index 0000000..c446b7f
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
> @@ -0,0 +1,19 @@
> +include chromium-browser.inc
> +
> +DEPENDS += "xextproto gtk+ libxi libxss"
> +
> +SRC_URI += "\
> + file://chromium-x11/add_missing_stat_h_include.patch \
> + file://chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
> + file://chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
> + file://chromium-x11/0005-Override-root-filesystem-access-restriction.patch \
> + file://chromium-x11/0011-Replace-readdir_r-with-readdir.patch \
> + file://chromium-x11/remove-Werror.patch \
> + ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
> + ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
> + ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-x11/0002-Disable-API-keys-info-bar.patch', '', d)} \
> +"
> +
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
> +SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
> +SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/0002-Disable-API-keys-info-bar.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch b/recipes-browser/chromium/chromium/chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0005-Override-root-filesystem-access-restriction.patch b/recipes-browser/chromium/chromium/chromium-wayland/0005-Override-root-filesystem-access-restriction.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/0005-Override-root-filesystem-access-restriction.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/0005-Override-root-filesystem-access-restriction.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch b/recipes-browser/chromium/chromium/chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch b/recipes-browser/chromium/chromium/chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/0011-Replace-readdir_r-with-readdir.patch b/recipes-browser/chromium/chromium/chromium-wayland/0011-Replace-readdir_r-with-readdir.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/0011-Replace-readdir_r-with-readdir.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/0011-Replace-readdir_r-with-readdir.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-wayland/add_missing_stat_h_include.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/add_missing_stat_h_include.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/add_missing_stat_h_include.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-wayland/remove-Werror.patch
> similarity index 100%
> rename from recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
> rename to recipes-browser/chromium/chromium/chromium-wayland/remove-Werror.patch
> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
> new file mode 100644
> index 0000000..2d7bf84
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
> @@ -0,0 +1,49 @@
> +From be6f1d02f3f784594642929dff289dae33014d56 Mon Sep 17 00:00:00 2001
> +From: Carlos Rafael Giani <dv@pseudoterminal.org>
> +Date: Sun, 3 Apr 2016 17:46:59 +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 | 16 ----------------
> + 1 file changed, 16 deletions(-)
> +
> +diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc
> +index 484467d..c3b5855 100644
> +--- a/gpu/config/software_rendering_list_json.cc
> ++++ b/gpu/config/software_rendering_list_json.cc
> +@@ -240,22 +240,6 @@ const char kSoftwareRenderingListJson[] = LONG_STRING_CONST(
> + ]
> + },
> + {
> +- "id": 24,
> +- "description": "Accelerated 2d canvas is unstable in Linux at the moment",
> +- "os": {
> +- "type": "linux"
> +- },
> +- "exceptions": [
> +- {
> +- "gl_vendor": "Vivante Corporation",
> +- "gl_renderer": "Vivante GC1000"
> +- }
> +- ],
> +- "features": [
> +- "accelerated_2d_canvas"
> +- ]
> +- },
> +- {
> + "id": 27,
> + "description": "ATI/AMD cards with older drivers in Linux are crash-prone",
> + "cr_bugs": [95934, 94973, 136240, 357314],
> +--
> +2.5.0
> +
> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
> new file mode 100644
> index 0000000..56a5b28
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
> @@ -0,0 +1,33 @@
> +From 68773f2faea2608145e820bf23cf5efaf50e3399 Mon Sep 17 00:00:00 2001
> +From: Carlos Rafael Giani <dv@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 <dv@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(infobar_service->CreateConfirmInfoBar(
> + scoped_ptr<ConfirmInfoBarDelegate>(new GoogleApiKeysInfoBarDelegate())));
> ++#endif
> + }
> +
> + GoogleApiKeysInfoBarDelegate::GoogleApiKeysInfoBarDelegate()
> +--
> +1.9.1
> +
> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
> new file mode 100644
> index 0000000..7bc8d14
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-x11/0003-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 <dv@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 <dv@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
> +@@ -6047,16 +6047,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 tools on linux. These can be overridden
> +- # using CC,CXX,CC.host and CXX.host 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
> + # in make_global_settings yet.
> +--
> +1.9.1
> +
> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch b/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
> new file mode 100644
> index 0000000..24bec71
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
> @@ -0,0 +1,26 @@
> +From 5158da97132db1a43c95f4c0ad65b4ac2629c4da Mon Sep 17 00:00:00 2001
> +From: Carlos Rafael Giani <dv@pseudoterminal.org>
> +Date: Sat, 23 Apr 2016 14:05:04 +0200
> +Subject: [PATCH] Create empty i18n_process_css_test.html file to avoid build
> + failure
> +
> +According to https://groups.google.com/a/chromium.org/forum/#!topic/chromium-packagers/9JX1N2nf4PU
> +creating an empty i18n_process_css_test.html is a valid workaround for the
> +following build error:
> +
> +"Exception: Failed to open test/data/webui/i18n_process_css_test.html while trying to flatten test/data/webui/i18n_process_css_test.html. (No such file or directory)"
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> +---
> + chrome/test/data/webui/i18n_process_css_test.html | 0
> + 1 file changed, 0 insertions(+), 0 deletions(-)
> + create mode 100644 chrome/test/data/webui/i18n_process_css_test.html
> +
> +diff --git a/chrome/test/data/webui/i18n_process_css_test.html b/chrome/test/data/webui/i18n_process_css_test.html
> +new file mode 100644
> +index 0000000..e69de29
> +--
> +2.5.0
> +
> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch b/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
> new file mode 100644
> index 0000000..ceb6c6c
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
> @@ -0,0 +1,30 @@
> +From ef3aaa58be440c1845e60432a498501088da07fe Mon Sep 17 00:00:00 2001
> +From: Carlos Rafael Giani <dv@pseudoterminal.org>
> +Date: Thu, 28 Apr 2016 09:29:59 +0200
> +Subject: [PATCH] Override root filesystem access restriction
> +
> +Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> +---
> + sandbox/linux/suid/client/setuid_sandbox_client.cc | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
> +index 12ef7f9..b59908a 100644
> +--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
> ++++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
> +@@ -21,8 +21,12 @@
> + namespace {
> +
> + bool IsFileSystemAccessDenied() {
> ++#if 0
> + base::ScopedFD root_dir(HANDLE_EINTR(open("/", O_RDONLY)));
> + return !root_dir.is_valid();
> ++#else
> ++ return true;
> ++#endif
> + }
> +
> + int GetHelperApi(base::Environment* env) {
> +--
> +2.5.0
> +
> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch b/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
> new file mode 100644
> index 0000000..36c7ec2
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
> @@ -0,0 +1,237 @@
> +From feb645ae0259582e2075691047e27b5e064ec160 Mon Sep 17 00:00:00 2001
> +From: Carlos Rafael Giani <dv@pseudoterminal.org>
> +Date: Thu, 19 May 2016 21:12:05 +0200
> +Subject: [PATCH] Replace readdir_r with readdir
> +
> +readdir_r is deprecated in newer glibc version. Documented at:
> +https://sourceware.org/bugzilla/show_bug.cgi?id=19056
> +
> +Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> +---
> + base/files/file_enumerator_posix.cc | 15 ++++++++++---
> + net/disk_cache/simple/simple_index_file_posix.cc | 10 ++++++---
> + sandbox/linux/services/proc_util.cc | 24 +++++++++++++--------
> + third_party/boringssl/src/crypto/directory_posix.c | 25 +++-------------------
> + .../crashpad/crashpad/util/posix/close_multiple.cc | 8 +++++--
> + third_party/leveldatabase/env_chromium.cc | 13 ++++++++---
> + 6 files changed, 53 insertions(+), 42 deletions(-)
> +
> +diff --git a/base/files/file_enumerator_posix.cc b/base/files/file_enumerator_posix.cc
> +index 7533a24..637b8cd 100644
> +--- a/base/files/file_enumerator_posix.cc
> ++++ b/base/files/file_enumerator_posix.cc
> +@@ -7,6 +7,7 @@
> + #include <dirent.h>
> + #include <errno.h>
> + #include <fnmatch.h>
> ++#include <string.h>
> +
> + #include "base/logging.h"
> + #include "base/threading/thread_restrictions.h"
> +@@ -129,9 +130,17 @@ bool FileEnumerator::ReadDirectory(std::vector<FileInfo>* entries,
> + additional space for pathname may be needed
> + #endif
> +
> +- struct dirent dent_buf;
> +- struct dirent* dent;
> +- while (readdir_r(dir, &dent_buf, &dent) == 0 && dent) {
> ++ while (true) {
> ++ struct dirent* dent;
> ++ errno = 0;
> ++ dent = readdir(dir);
> ++ if (errno != 0) {
> ++ DPLOG(ERROR) << "Couldn't read directory entry: " << strerror(errno);
> ++ break;
> ++ }
> ++ if (dent == NULL)
> ++ break;
> ++
> + FileInfo info;
> + info.filename_ = FilePath(dent->d_name);
> +
> +diff --git a/net/disk_cache/simple/simple_index_file_posix.cc b/net/disk_cache/simple/simple_index_file_posix.cc
> +index 586699d..bbe81fc 100644
> +--- a/net/disk_cache/simple/simple_index_file_posix.cc
> ++++ b/net/disk_cache/simple/simple_index_file_posix.cc
> +@@ -34,8 +34,12 @@ bool SimpleIndexFile::TraverseCacheDirectory(
> + PLOG(ERROR) << "opendir " << cache_path.value();
> + return false;
> + }
> +- dirent entry, *result;
> +- while (readdir_r(dir.get(), &entry, &result) == 0) {
> ++ dirent *result;
> ++ while (true) {
> ++ errno = 0;
> ++ result = readdir(dir.get());
> ++ if (errno != 0)
> ++ break;
> + if (!result)
> + return true; // The traversal completed successfully.
> + const std::string file_name(result->d_name);
> +@@ -45,7 +49,7 @@ bool SimpleIndexFile::TraverseCacheDirectory(
> + base::FilePath(file_name));
> + entry_file_callback.Run(file_path);
> + }
> +- PLOG(ERROR) << "readdir_r " << cache_path.value();
> ++ PLOG(ERROR) << "readdir " << cache_path.value();
> + return false;
> + }
> +
> +diff --git a/sandbox/linux/services/proc_util.cc b/sandbox/linux/services/proc_util.cc
> +index 8341b4a..1603415 100644
> +--- a/sandbox/linux/services/proc_util.cc
> ++++ b/sandbox/linux/services/proc_util.cc
> +@@ -50,15 +50,18 @@ int ProcUtil::CountOpenFds(int proc_fd) {
> + CHECK(dir);
> +
> + int count = 0;
> +- struct dirent e;
> + struct dirent* de;
> +- while (!readdir_r(dir.get(), &e, &de) && de) {
> +- if (strcmp(e.d_name, ".") == 0 || strcmp(e.d_name, "..") == 0) {
> ++ while (true) {
> ++ errno = 0;
> ++ de = readdir(dir.get());
> ++ if (de == NULL || errno != 0)
> ++ break;
> ++ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) {
> + continue;
> + }
> +
> + int fd_num;
> +- CHECK(base::StringToInt(e.d_name, &fd_num));
> ++ CHECK(base::StringToInt(de->d_name, &fd_num));
> + if (fd_num == proc_fd || fd_num == proc_self_fd) {
> + continue;
> + }
> +@@ -80,22 +83,25 @@ bool ProcUtil::HasOpenDirectory(int proc_fd) {
> + ScopedDIR dir(fdopendir(proc_self_fd));
> + CHECK(dir);
> +
> +- struct dirent e;
> + struct dirent* de;
> +- while (!readdir_r(dir.get(), &e, &de) && de) {
> +- if (strcmp(e.d_name, ".") == 0 || strcmp(e.d_name, "..") == 0) {
> ++ while (true) {
> ++ errno = 0;
> ++ de = readdir(dir.get());
> ++ if (de == NULL || errno != 0)
> ++ break;
> ++ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) {
> + continue;
> + }
> +
> + int fd_num;
> +- CHECK(base::StringToInt(e.d_name, &fd_num));
> ++ CHECK(base::StringToInt(de->d_name, &fd_num));
> + if (fd_num == proc_fd || fd_num == proc_self_fd) {
> + continue;
> + }
> +
> + struct stat s;
> + // It's OK to use proc_self_fd here, fstatat won't modify it.
> +- CHECK(fstatat(proc_self_fd, e.d_name, &s, 0) == 0);
> ++ CHECK(fstatat(proc_self_fd, de->d_name, &s, 0) == 0);
> + if (S_ISDIR(s.st_mode)) {
> + return true;
> + }
> +diff --git a/third_party/boringssl/src/crypto/directory_posix.c b/third_party/boringssl/src/crypto/directory_posix.c
> +index b944b69..17143a7 100644
> +--- a/third_party/boringssl/src/crypto/directory_posix.c
> ++++ b/third_party/boringssl/src/crypto/directory_posix.c
> +@@ -24,10 +24,6 @@
> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
> +
> +-#if !defined(_POSIX_C_SOURCE)
> +-#define _POSIX_C_SOURCE 201409 /* for readdir_r */
> +-#endif
> +-
> + #include "directory.h"
> +
> +
> +@@ -38,21 +34,6 @@
> + #include <stdlib.h>
> + #include <string.h>
> +
> +-#if defined(OPENSSL_PNACL)
> +-/* pnacl doesn't include readdir_r! So we do the best we can. */
> +-int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) {
> +- errno = 0;
> +- *result = readdir(dirp);
> +- if (*result != NULL) {
> +- return 0;
> +- }
> +- if (errno) {
> +- return 1;
> +- }
> +- return 0;
> +-}
> +-#endif
> +-
> + struct OPENSSL_dir_context_st {
> + DIR *dir;
> + struct dirent dirent;
> +@@ -85,10 +66,10 @@ const char *OPENSSL_DIR_read(OPENSSL_DIR_CTX **ctx, const char *directory) {
> + }
> + }
> +
> +- if (readdir_r((*ctx)->dir, &(*ctx)->dirent, &dirent) != 0 ||
> +- dirent == NULL) {
> ++ errno = 0;
> ++ dirent = readdir((*ctx)->dir);
> ++ if (dirent == NULL || errno != 0)
> + return 0;
> +- }
> +
> + return (*ctx)->dirent.d_name;
> + }
> +diff --git a/third_party/crashpad/crashpad/util/posix/close_multiple.cc b/third_party/crashpad/crashpad/util/posix/close_multiple.cc
> +index d94d575..4c1287a 100644
> +--- a/third_party/crashpad/crashpad/util/posix/close_multiple.cc
> ++++ b/third_party/crashpad/crashpad/util/posix/close_multiple.cc
> +@@ -100,10 +100,14 @@ bool CloseMultipleNowOrOnExecUsingFDDir(int fd, int preserve_fd) {
> + return false;
> + }
> +
> +- dirent entry;
> + dirent* result;
> + int rv;
> +- while ((rv = readdir_r(dir, &entry, &result)) == 0 && result != nullptr) {
> ++ while (true) {
> ++ errno = 0;
> ++ result = readdir(dir);
> ++ if (errno != 0 || result == nullptr)
> ++ break;
> ++
> + const char* entry_name = &(*result->d_name);
> + if (strcmp(entry_name, ".") == 0 || strcmp(entry_name, "..") == 0) {
> + continue;
> +diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc
> +index 939534c..f23142e 100644
> +--- a/third_party/leveldatabase/env_chromium.cc
> ++++ b/third_party/leveldatabase/env_chromium.cc
> +@@ -79,10 +79,17 @@ static base::File::Error GetDirectoryEntries(const FilePath& dir_param,
> + DIR* dir = opendir(dir_string.c_str());
> + if (!dir)
> + return base::File::OSErrorToFileError(errno);
> +- struct dirent dent_buf;
> + struct dirent* dent;
> +- int readdir_result;
> +- while ((readdir_result = readdir_r(dir, &dent_buf, &dent)) == 0 && dent) {
> ++ int readdir_result = 0;
> ++ while (true) {
> ++ errno = 0;
> ++ dent = readdir(dir);
> ++ if (errno != 0) {
> ++ readdir_result = 1;
> ++ break;
> ++ }
> ++ if (dent == NULL)
> ++ break;
> + if (strcmp(dent->d_name, ".") == 0 || strcmp(dent->d_name, "..") == 0)
> + continue;
> + result->push_back(FilePath::FromUTF8Unsafe(dent->d_name));
> +--
> +2.7.4
> +
> diff --git a/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
> new file mode 100644
> index 0000000..4620db2
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
> @@ -0,0 +1,39 @@
> +sys/stat.h used to be indirectly included through
> +device/udev_linux/scoped_udev.h -> libudev.h -> sys/stat.h
> +but libudev.h in jethro no longer includes sys/stat.h resulting in the
> +following compile time errors:
> +
> +arm-angstrom-linux-gnueabi-g++ ... ../../components/storage_monitor/storage_monitor_linux.cc -o obj/components/storage_monitor/storage_monitor.storage_monitor_linux.o
> +../../components/storage_monitor/storage_monitor_linux.cc: In function 'scoped_ptr<storage_monitor::StorageInfo> storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)':
> +../../components/storage_monitor/storage_monitor_linux.cc:132:15: error: aggregate 'storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat device_stat' has incomplete type and cannot be defined
> + struct stat device_stat;
> + ^
> +../../components/storage_monitor/storage_monitor_linux.cc:133:53: error: invalid use of incomplete type 'struct storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat'
> + if (stat(device_path.value().c_str(), &device_stat) < 0)
> + ^
> +../../components/storage_monitor/storage_monitor_linux.cc:132:10: error: forward declaration of 'struct storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat'
> + struct stat device_stat;
> + ^
> +../../components/storage_monitor/storage_monitor_linux.cc:137:34: error: 'S_ISCHR' was not declared in this scope
> + if (S_ISCHR(device_stat.st_mode))
> + ^
> +../../components/storage_monitor/storage_monitor_linux.cc:139:39: error: 'S_ISBLK' was not declared in this scope
> + else if (S_ISBLK(device_stat.st_mode))
> + ^
> +
> +As the code makes use of stat systemcalls include the file explicitely.
> +Tested with ARCH armv7.
> +
> +Signed-off-by: Max Krummenacher <max.oss.09 at gmail.com>
> +Upstream-Status: Pending
> +
> +--- a/components/storage_monitor/storage_monitor_linux.cc~ 2015-01-21 21:28:16.000000000 +0100
> ++++ b/components/storage_monitor/storage_monitor_linux.cc 2015-10-27 13:21:08.405655894 +0100
> +@@ -8,6 +8,7 @@
> +
> + #include <mntent.h>
> + #include <stdio.h>
> ++#include <sys/stat.h>
> +
> + #include <list>
> +
> diff --git a/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
> new file mode 100644
> index 0000000..2d1842b
> --- /dev/null
> +++ b/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
> @@ -0,0 +1,73 @@
> +Index: chromium-48.0.2548.0/build/common.gypi
> +===================================================================
> +--- chromium-48.0.2548.0.orig/build/common.gypi
> ++++ chromium-48.0.2548.0/build/common.gypi
> +@@ -1421,7 +1421,7 @@
> +
> + # Disable fatal linker warnings, similarly to how we make it possible
> + # to disable -Werror (e.g. for different toolchain versions).
> +- 'disable_fatal_linker_warnings%': 0,
> ++ 'disable_fatal_linker_warnings%': 1,
> +
> + 'release_valgrind_build%': 0,
> +
> +@@ -3135,12 +3135,6 @@
> + '-Wsign-compare',
> + ]
> + }],
> +- # TODO: Fix all warnings on chromeos too.
> +- [ 'os_posix==1 and OS!="mac" and OS!="ios" and (clang!=1 or chromeos==1)', {
> +- 'cflags!': [
> +- '-Werror',
> +- ],
> +- }],
> + [ 'os_posix==1 and os_bsd!=1 and OS!="mac" and OS!="android"', {
> + 'cflags': [
> + # Don't warn about ignoring the return value from e.g. close().
> +@@ -3692,10 +3686,10 @@
> + }],
> + ['os_posix==1 and OS!="mac" and OS!="ios"', {
> + 'target_defaults': {
> +- # Enable -Werror by default, but put it in a variable so it can
> ++ # Disable -Werror by default, but put it in a variable so it can
> + # be disabled in ~/.gyp/include.gypi on the valgrind builders.
> + 'variables': {
> +- 'werror%': '-Werror',
> ++ 'werror%': '',
> + 'libraries_for_target%': '',
> + },
> + 'defines': [
> +@@ -5045,7 +5039,7 @@
> + 'GCC_OBJC_CALL_CXX_CDTORS': 'YES', # -fobjc-call-cxx-cdtors
> + 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
> + 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
> +- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
> ++ 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror
> + 'GCC_VERSION': '4.2',
> + 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
> + 'USE_HEADERMAP': 'NO',
> +Index: chromium-48.0.2548.0/build/config/compiler/BUILD.gn
> +===================================================================
> +--- chromium-48.0.2548.0.orig/build/config/compiler/BUILD.gn
> ++++ chromium-48.0.2548.0/build/config/compiler/BUILD.gn
> +@@ -687,7 +687,6 @@ config("default_warnings") {
> + cflags += [
> + # Enables.
> + "-Wendif-labels", # Weird old-style text after an #endif.
> +- "-Werror", # Warnings as errors.
> +
> + # Disables.
> + "-Wno-missing-field-initializers", # "struct foo f = {0};"
> +Index: chromium-48.0.2548.0/build/nocompile.gypi
> +===================================================================
> +--- chromium-48.0.2548.0.orig/build/nocompile.gypi
> ++++ chromium-48.0.2548.0/build/nocompile.gypi
> +@@ -81,7 +81,7 @@
> + '<(nocompile_driver)',
> + '4', # number of compilers to invoke in parallel.
> + '<(RULE_INPUT_PATH)',
> +- '-Wall -Werror -Wfatal-errors -I<(DEPTH)',
> ++ '-Wall -I<(DEPTH)',
> + '<(nc_result_path)',
> + ],
> + 'message': 'Generating no compile results for <(RULE_INPUT_PATH)',
> diff --git a/recipes-browser/chromium/chromium_48.0.2548.0.bb b/recipes-browser/chromium/chromium_48.0.2548.0.bb
> deleted file mode 100644
> index 70afa6c..0000000
> --- a/recipes-browser/chromium/chromium_48.0.2548.0.bb
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -include chromium-browser.inc
> -
> -SRC_URI += "\
> - file://chromium-48/add_missing_stat_h_include.patch \
> - file://chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
> - file://chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
> - file://chromium-48/0005-Override-root-filesystem-access-restriction.patch \
> - file://chromium-48/0011-Replace-readdir_r-with-readdir.patch \
> - file://chromium-48/remove-Werror.patch \
> - ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
> - ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-48/0002-Disable-API-keys-info-bar.patch', '', d)} \
> -"
> -
> -LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
> -SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
> -SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
> -
> -EXTRA_OEGYP += " \
> - -Dv8_use_external_startup_data=0 \
> -"
> -
> -OZONE_WAYLAND_GIT_BRANCH = "Milestone-SouthSister"
> -OZONE_WAYLAND_GIT_SRCREV = "c605505044af3345a276abbd7c29fd53db1dea40"
> -
> -OZONE_WAYLAND_EXTRA_PATCHES = " \
> - file://chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch \
> - file://chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch \
> -"
> -
> -# Component build is unsupported in ozone-wayland for Chromium 48
> -python() {
> - if (d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1'):
> - if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d):
> - bb.fatal("Chromium 48 Wayland version cannot be built in component-mode")
> -}
> -
> -CHROMIUM_X11_DEPENDS = "xextproto gtk+ libxi libxss"
> -CHROMIUM_X11_GYP_DEFINES = ""
> -CHROMIUM_WAYLAND_DEPENDS = "wayland libxkbcommon"
> -CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1"
> diff --git a/recipes-browser/chromium/chromium/armv6/include.gypi b/recipes-browser/chromium/files/armv6/include.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/armv6/include.gypi
> rename to recipes-browser/chromium/files/armv6/include.gypi
> diff --git a/recipes-browser/chromium/chromium/armv6/oe-defaults.gypi b/recipes-browser/chromium/files/armv6/oe-defaults.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/armv6/oe-defaults.gypi
> rename to recipes-browser/chromium/files/armv6/oe-defaults.gypi
> diff --git a/recipes-browser/chromium/chromium/armv7a/include.gypi b/recipes-browser/chromium/files/armv7a/include.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/armv7a/include.gypi
> rename to recipes-browser/chromium/files/armv7a/include.gypi
> diff --git a/recipes-browser/chromium/chromium/armv7a/oe-defaults.gypi b/recipes-browser/chromium/files/armv7a/oe-defaults.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/armv7a/oe-defaults.gypi
> rename to recipes-browser/chromium/files/armv7a/oe-defaults.gypi
> diff --git a/recipes-browser/chromium/chromium/component-build.gypi b/recipes-browser/chromium/files/component-build.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/component-build.gypi
> rename to recipes-browser/chromium/files/component-build.gypi
> diff --git a/recipes-browser/chromium/chromium/google-chrome b/recipes-browser/chromium/files/google-chrome
> similarity index 100%
> rename from recipes-browser/chromium/chromium/google-chrome
> rename to recipes-browser/chromium/files/google-chrome
> diff --git a/recipes-browser/chromium/chromium/google-chrome.desktop b/recipes-browser/chromium/files/google-chrome.desktop
> similarity index 100%
> rename from recipes-browser/chromium/chromium/google-chrome.desktop
> rename to recipes-browser/chromium/files/google-chrome.desktop
> diff --git a/recipes-browser/chromium/chromium/x86-64/include.gypi b/recipes-browser/chromium/files/x86-64/include.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/x86-64/include.gypi
> rename to recipes-browser/chromium/files/x86-64/include.gypi
> diff --git a/recipes-browser/chromium/chromium/x86-64/oe-defaults.gypi b/recipes-browser/chromium/files/x86-64/oe-defaults.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/x86-64/oe-defaults.gypi
> rename to recipes-browser/chromium/files/x86-64/oe-defaults.gypi
> diff --git a/recipes-browser/chromium/chromium/x86/include.gypi b/recipes-browser/chromium/files/x86/include.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/x86/include.gypi
> rename to recipes-browser/chromium/files/x86/include.gypi
> diff --git a/recipes-browser/chromium/chromium/x86/oe-defaults.gypi b/recipes-browser/chromium/files/x86/oe-defaults.gypi
> similarity index 100%
> rename from recipes-browser/chromium/chromium/x86/oe-defaults.gypi
> rename to recipes-browser/chromium/files/x86/oe-defaults.gypi
> --
> 2.9.0
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-browser][PATCH 3/4] chromium: split into -wayland and -x11
2016-07-20 20:00 ` Khem Raj
@ 2016-07-20 20:02 ` Khem Raj
2016-07-20 20:16 ` Trevor Woerner
0 siblings, 1 reply; 11+ messages in thread
From: Khem Raj @ 2016-07-20 20:02 UTC (permalink / raw)
To: openembeded-devel
On Wed, Jul 20, 2016 at 1:00 PM, Khem Raj <raj.khem@gmail.com> wrote:
> I would just leave chromium as it is (defaulting to x11)
meaning. chromium and chromium-wayland are names for recipes.
>
> On Wed, Jul 20, 2016 at 12:52 PM, Trevor Woerner <twoerner@gmail.com> wrote:
>> The wayland dependency on the ozone patches holds back the x11 version. By
>> splitting the recipe into two separate recipes, each can target separate
>> versions.
>>
>> Signed-off-by: Trevor Woerner <twoerner@gmail.com>
>> ---
>> recipes-browser/chromium/chromium-browser.inc | 31 +--
>> .../chromium/chromium-wayland_48.0.2548.0.bb | 33 +++
>> .../chromium/chromium-x11_48.0.2548.0.bb | 19 ++
>> ...accelerated-Canvas-support-from-blacklist.patch | 0
>> .../0002-Disable-API-keys-info-bar.patch | 0
>> ...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 0
>> ...y-i18n_process_css_test.html-file-to-avoi.patch | 0
>> ...erride-root-filesystem-access-restriction.patch | 0
>> .../0006-Remove-GBM-support-from-wayland.gyp.patch | 0
>> ...for-glib-related-build-error-with-ozone-w.patch | 0
>> .../0011-Replace-readdir_r-with-readdir.patch | 0
>> .../add_missing_stat_h_include.patch | 0
>> .../remove-Werror.patch | 0
>> ...accelerated-Canvas-support-from-blacklist.patch | 49 +++++
>> .../0002-Disable-API-keys-info-bar.patch | 33 +++
>> ...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 43 ++++
>> ...y-i18n_process_css_test.html-file-to-avoi.patch | 26 +++
>> ...erride-root-filesystem-access-restriction.patch | 30 +++
>> .../0011-Replace-readdir_r-with-readdir.patch | 237 +++++++++++++++++++++
>> .../chromium-x11/add_missing_stat_h_include.patch | 39 ++++
>> .../chromium/chromium-x11/remove-Werror.patch | 73 +++++++
>> recipes-browser/chromium/chromium_48.0.2548.0.bb | 40 ----
>> .../{chromium => files}/armv6/include.gypi | 0
>> .../{chromium => files}/armv6/oe-defaults.gypi | 0
>> .../{chromium => files}/armv7a/include.gypi | 0
>> .../{chromium => files}/armv7a/oe-defaults.gypi | 0
>> .../{chromium => files}/component-build.gypi | 0
>> .../chromium/{chromium => files}/google-chrome | 0
>> .../{chromium => files}/google-chrome.desktop | 0
>> .../{chromium => files}/x86-64/include.gypi | 0
>> .../{chromium => files}/x86-64/oe-defaults.gypi | 0
>> .../chromium/{chromium => files}/x86/include.gypi | 0
>> .../{chromium => files}/x86/oe-defaults.gypi | 0
>> 33 files changed, 593 insertions(+), 60 deletions(-)
>> create mode 100644 recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
>> create mode 100644 recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0001-Remove-accelerated-Canvas-support-from-blacklist.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0002-Disable-API-keys-info-bar.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0003-Remove-hard-coded-values-for-CC-and-CXX.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0005-Override-root-filesystem-access-restriction.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0006-Remove-GBM-support-from-wayland.gyp.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/0011-Replace-readdir_r-with-readdir.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/add_missing_stat_h_include.patch (100%)
>> rename recipes-browser/chromium/chromium/{chromium-48 => chromium-wayland}/remove-Werror.patch (100%)
>> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
>> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
>> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
>> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
>> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
>> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
>> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
>> create mode 100644 recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
>> delete mode 100644 recipes-browser/chromium/chromium_48.0.2548.0.bb
>> rename recipes-browser/chromium/{chromium => files}/armv6/include.gypi (100%)
>> rename recipes-browser/chromium/{chromium => files}/armv6/oe-defaults.gypi (100%)
>> rename recipes-browser/chromium/{chromium => files}/armv7a/include.gypi (100%)
>> rename recipes-browser/chromium/{chromium => files}/armv7a/oe-defaults.gypi (100%)
>> rename recipes-browser/chromium/{chromium => files}/component-build.gypi (100%)
>> rename recipes-browser/chromium/{chromium => files}/google-chrome (100%)
>> rename recipes-browser/chromium/{chromium => files}/google-chrome.desktop (100%)
>> rename recipes-browser/chromium/{chromium => files}/x86-64/include.gypi (100%)
>> rename recipes-browser/chromium/{chromium => files}/x86-64/oe-defaults.gypi (100%)
>> rename recipes-browser/chromium/{chromium => files}/x86/include.gypi (100%)
>> rename recipes-browser/chromium/{chromium => files}/x86/oe-defaults.gypi (100%)
>>
>> diff --git a/recipes-browser/chromium/chromium-browser.inc b/recipes-browser/chromium/chromium-browser.inc
>> index c9da1f7..fc7ac04 100644
>> --- a/recipes-browser/chromium/chromium-browser.inc
>> +++ b/recipes-browser/chromium/chromium-browser.inc
>> @@ -1,19 +1,16 @@
>> # Recipe files have to perform the following tasks after including this file:
>> -# 1) Add patches to SRC_URI. Version specific patches should be contained in a
>> -# "chromium-XX" subdirectory, where XX is the major version. There are also
>> -# patches that are shared amongst versions but may one day no longer be
>> -# needed. These do not belong in such a subdirectory, but still need to be
>> -# explicitely be added. Do NOT add ozone-wayland patches to SRC_URI here!
>> +# 1) Add patches to SRC_URI. Platform-specific patches should be contained in
>> +# either "chromium-x11" or "chromium-wayland". There are also patches that
>> +# are shared amongst platforms but may one day no longer be needed. These
>> +# do not belong in such a subdirectory, but still need to be explicitely be
>> +# added. Do NOT add ozone-wayland patches to SRC_URI here!
>> # 2) Add md5sum and sha256sum hashes of the tarball.
>> # 3) Add ozone-wayland patches to the OZONE_WAYLAND_EXTRA_PATCHES variable.
>> -# The rule with the chromium-XX subdirectory also applies here.
>> # 4) Set the OZONE_WAYLAND_GIT_BRANCH and OZONE_WAYLAND_GIT_SRCREV values.
>> # 5) Optionally, set values for these variables:
>> # * OZONE_WAYLAND_PATCH_FILE_GLOB
>> # * OZONE_WAYLAND_GIT_DESTSUFFIX
>> -# * CHROMIUM_X11_DEPENDS
>> # * CHROMIUM_X11_GYP_DEFINES
>> -# * CHROMIUM_WAYLAND_DEPENDS
>> # * CHROMIUM_WAYLAND_GYP_DEFINES
>>
>> include chromium.inc
>> @@ -22,13 +19,16 @@ DESCRIPTION = "Chromium browser"
>> DEPENDS += "libgnome-keyring"
>>
>> SRC_URI = "\
>> - http://gsdview.appspot.com/chromium-browser-official/${P}.tar.xz \
>> + http://gsdview.appspot.com/chromium-browser-official/chromium-${PV}.tar.xz \
>> file://include.gypi \
>> file://oe-defaults.gypi \
>> file://google-chrome \
>> file://google-chrome.desktop \
>> "
>>
>> +S = "${WORKDIR}/chromium-${PV}"
>> +BPN = "chromium"
>> +
>>
>> # PACKAGECONFIG options
>> # ^^^^^^^^^^^^^^^^^^^^^
>> @@ -121,9 +121,7 @@ OZONE_WAYLAND_EXTRA_PATCHES ?= ""
>>
>> # These are present as their own variables, since they have changed between versions
>> # a few times in the past already; making them variables makes it easier to handle that
>> -CHROMIUM_X11_DEPENDS ?= ""
>> CHROMIUM_X11_GYP_DEFINES ?= ""
>> -CHROMIUM_WAYLAND_DEPENDS ?= ""
>> CHROMIUM_WAYLAND_GYP_DEFINES ?= ""
>>
>>
>> @@ -134,12 +132,6 @@ CHROMIUM_EXTRA_ARGS ?= " \
>> ${@bb.utils.contains('PACKAGECONFIG', 'kiosk-mode', '--start-fullscreen --kiosk --no-first-run', '', d)} \
>> "
>>
>> -SRC_URI += "\
>> - ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
>> - ${@oe.utils.conditional('CHROMIUM_ENABLE_WAYLAND', '1', 'git://github.com/01org/ozone-wayland.git;destsuffix=${OZONE_WAYLAND_GIT_DESTSUFFIX};branch=${OZONE_WAYLAND_GIT_BRANCH};rev=${OZONE_WAYLAND_GIT_SRCREV}', '', d)} \
>> -"
>> -
>> -
>> # Some sanity checks.
>> python do_check_variables() {
>> CHROMIUM_BUILD_TYPE = d.getVar('CHROMIUM_BUILD_TYPE', True)
>> @@ -158,7 +150,7 @@ python do_check_variables() {
>> if (CHROMIUM_ENABLE_WAYLAND == '1'):
>> bb.plain("INFO: Chromium has been configured with Wayland support (ozone-wayland). Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
>> else:
>> - bb.plain("INFO: Chromium has been configured without Wayland support. Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
>> + bb.plain("INFO: Chromium has been configured for X11. Build type is \'%s\'" %CHROMIUM_BUILD_TYPE)
>> }
>> addtask check_variables before do_fetch
>>
>> @@ -191,6 +183,7 @@ EXTRA_OEGYP = " \
>> -Dclang=0 \
>> -Dhost_clang=0 \
>> -Ddisable_fatal_linker_warnings=1 \
>> + -Dv8_use_external_startup_data=0 \
>> -Dlinux_use_bundled_gold=0 \
>> -Dlinux_use_bundled_binutils=0 \
>> ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-Dlinux_use_gold_flags=1', '-Dlinux_use_gold_flags=0', d)} \
>> @@ -203,10 +196,8 @@ EXTRA_OEGYP = " \
>>
>> python() {
>> if d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1':
>> - d.appendVar('DEPENDS', ' %s ' % d.getVar('CHROMIUM_WAYLAND_DEPENDS', True))
>> d.appendVar('GYP_DEFINES', ' %s ' % d.getVar('CHROMIUM_WAYLAND_GYP_DEFINES', True))
>> else:
>> - d.appendVar('DEPENDS', ' %s ' % d.getVar('CHROMIUM_X11_DEPENDS', True))
>> d.appendVar('GYP_DEFINES', ' %s ' % d.getVar('CHROMIUM_X11_GYP_DEFINES', True))
>> }
>>
>> diff --git a/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb b/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
>> new file mode 100644
>> index 0000000..a5d59a0
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bb
>> @@ -0,0 +1,33 @@
>> +include chromium-browser.inc
>> +
>> +DEPENDS += "wayland libxkbcommon"
>> +
>> +SRC_URI += "\
>> + file://chromium-wayland/add_missing_stat_h_include.patch \
>> + file://chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
>> + file://chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
>> + file://chromium-wayland/0005-Override-root-filesystem-access-restriction.patch \
>> + file://chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch \
>> + file://chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch \
>> + file://chromium-wayland/0011-Replace-readdir_r-with-readdir.patch \
>> + file://chromium-wayland/remove-Werror.patch \
>> + ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
>> + ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
>> + ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-wayland/0002-Disable-API-keys-info-bar.patch', '', d)} \
>> +"
>> +
>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
>> +SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
>> +SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
>> +
>> +OZONE_WAYLAND_GIT_BRANCH = "Milestone-SouthSister"
>> +OZONE_WAYLAND_GIT_SRCREV = "c605505044af3345a276abbd7c29fd53db1dea40"
>> +
>> +# Component build is unsupported in ozone-wayland for Chromium 48
>> +python() {
>> + if (d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1'):
>> + if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d):
>> + bb.fatal("Chromium 48 Wayland version cannot be built in component-mode")
>> +}
>> +
>> +CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1"
>> diff --git a/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb b/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
>> new file mode 100644
>> index 0000000..c446b7f
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium-x11_48.0.2548.0.bb
>> @@ -0,0 +1,19 @@
>> +include chromium-browser.inc
>> +
>> +DEPENDS += "xextproto gtk+ libxi libxss"
>> +
>> +SRC_URI += "\
>> + file://chromium-x11/add_missing_stat_h_include.patch \
>> + file://chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
>> + file://chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
>> + file://chromium-x11/0005-Override-root-filesystem-access-restriction.patch \
>> + file://chromium-x11/0011-Replace-readdir_r-with-readdir.patch \
>> + file://chromium-x11/remove-Werror.patch \
>> + ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
>> + ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
>> + ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-x11/0002-Disable-API-keys-info-bar.patch', '', d)} \
>> +"
>> +
>> +LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
>> +SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
>> +SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/0002-Disable-API-keys-info-bar.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/0002-Disable-API-keys-info-bar.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch b/recipes-browser/chromium/chromium/chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/0005-Override-root-filesystem-access-restriction.patch b/recipes-browser/chromium/chromium/chromium-wayland/0005-Override-root-filesystem-access-restriction.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/0005-Override-root-filesystem-access-restriction.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/0005-Override-root-filesystem-access-restriction.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch b/recipes-browser/chromium/chromium/chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/0006-Remove-GBM-support-from-wayland.gyp.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch b/recipes-browser/chromium/chromium/chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/0011-Replace-readdir_r-with-readdir.patch b/recipes-browser/chromium/chromium/chromium-wayland/0011-Replace-readdir_r-with-readdir.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/0011-Replace-readdir_r-with-readdir.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/0011-Replace-readdir_r-with-readdir.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-wayland/add_missing_stat_h_include.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/add_missing_stat_h_include.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/add_missing_stat_h_include.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-wayland/remove-Werror.patch
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/chromium-48/remove-Werror.patch
>> rename to recipes-browser/chromium/chromium/chromium-wayland/remove-Werror.patch
>> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
>> new file mode 100644
>> index 0000000..2d7bf84
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium/chromium-x11/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
>> @@ -0,0 +1,49 @@
>> +From be6f1d02f3f784594642929dff289dae33014d56 Mon Sep 17 00:00:00 2001
>> +From: Carlos Rafael Giani <dv@pseudoterminal.org>
>> +Date: Sun, 3 Apr 2016 17:46:59 +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 | 16 ----------------
>> + 1 file changed, 16 deletions(-)
>> +
>> +diff --git a/gpu/config/software_rendering_list_json.cc b/gpu/config/software_rendering_list_json.cc
>> +index 484467d..c3b5855 100644
>> +--- a/gpu/config/software_rendering_list_json.cc
>> ++++ b/gpu/config/software_rendering_list_json.cc
>> +@@ -240,22 +240,6 @@ const char kSoftwareRenderingListJson[] = LONG_STRING_CONST(
>> + ]
>> + },
>> + {
>> +- "id": 24,
>> +- "description": "Accelerated 2d canvas is unstable in Linux at the moment",
>> +- "os": {
>> +- "type": "linux"
>> +- },
>> +- "exceptions": [
>> +- {
>> +- "gl_vendor": "Vivante Corporation",
>> +- "gl_renderer": "Vivante GC1000"
>> +- }
>> +- ],
>> +- "features": [
>> +- "accelerated_2d_canvas"
>> +- ]
>> +- },
>> +- {
>> + "id": 27,
>> + "description": "ATI/AMD cards with older drivers in Linux are crash-prone",
>> + "cr_bugs": [95934, 94973, 136240, 357314],
>> +--
>> +2.5.0
>> +
>> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
>> new file mode 100644
>> index 0000000..56a5b28
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium/chromium-x11/0002-Disable-API-keys-info-bar.patch
>> @@ -0,0 +1,33 @@
>> +From 68773f2faea2608145e820bf23cf5efaf50e3399 Mon Sep 17 00:00:00 2001
>> +From: Carlos Rafael Giani <dv@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 <dv@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(infobar_service->CreateConfirmInfoBar(
>> + scoped_ptr<ConfirmInfoBarDelegate>(new GoogleApiKeysInfoBarDelegate())));
>> ++#endif
>> + }
>> +
>> + GoogleApiKeysInfoBarDelegate::GoogleApiKeysInfoBarDelegate()
>> +--
>> +1.9.1
>> +
>> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/chromium-x11/0003-Remove-hard-coded-values-for-CC-and-CXX.patch
>> new file mode 100644
>> index 0000000..7bc8d14
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium/chromium-x11/0003-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 <dv@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 <dv@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
>> +@@ -6047,16 +6047,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 tools on linux. These can be overridden
>> +- # using CC,CXX,CC.host and CXX.host 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
>> + # in make_global_settings yet.
>> +--
>> +1.9.1
>> +
>> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch b/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
>> new file mode 100644
>> index 0000000..24bec71
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium/chromium-x11/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch
>> @@ -0,0 +1,26 @@
>> +From 5158da97132db1a43c95f4c0ad65b4ac2629c4da Mon Sep 17 00:00:00 2001
>> +From: Carlos Rafael Giani <dv@pseudoterminal.org>
>> +Date: Sat, 23 Apr 2016 14:05:04 +0200
>> +Subject: [PATCH] Create empty i18n_process_css_test.html file to avoid build
>> + failure
>> +
>> +According to https://groups.google.com/a/chromium.org/forum/#!topic/chromium-packagers/9JX1N2nf4PU
>> +creating an empty i18n_process_css_test.html is a valid workaround for the
>> +following build error:
>> +
>> +"Exception: Failed to open test/data/webui/i18n_process_css_test.html while trying to flatten test/data/webui/i18n_process_css_test.html. (No such file or directory)"
>> +
>> +Upstream-Status: Pending
>> +
>> +Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
>> +---
>> + chrome/test/data/webui/i18n_process_css_test.html | 0
>> + 1 file changed, 0 insertions(+), 0 deletions(-)
>> + create mode 100644 chrome/test/data/webui/i18n_process_css_test.html
>> +
>> +diff --git a/chrome/test/data/webui/i18n_process_css_test.html b/chrome/test/data/webui/i18n_process_css_test.html
>> +new file mode 100644
>> +index 0000000..e69de29
>> +--
>> +2.5.0
>> +
>> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch b/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
>> new file mode 100644
>> index 0000000..ceb6c6c
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium/chromium-x11/0005-Override-root-filesystem-access-restriction.patch
>> @@ -0,0 +1,30 @@
>> +From ef3aaa58be440c1845e60432a498501088da07fe Mon Sep 17 00:00:00 2001
>> +From: Carlos Rafael Giani <dv@pseudoterminal.org>
>> +Date: Thu, 28 Apr 2016 09:29:59 +0200
>> +Subject: [PATCH] Override root filesystem access restriction
>> +
>> +Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
>> +---
>> + sandbox/linux/suid/client/setuid_sandbox_client.cc | 4 ++++
>> + 1 file changed, 4 insertions(+)
>> +
>> +diff --git a/sandbox/linux/suid/client/setuid_sandbox_client.cc b/sandbox/linux/suid/client/setuid_sandbox_client.cc
>> +index 12ef7f9..b59908a 100644
>> +--- a/sandbox/linux/suid/client/setuid_sandbox_client.cc
>> ++++ b/sandbox/linux/suid/client/setuid_sandbox_client.cc
>> +@@ -21,8 +21,12 @@
>> + namespace {
>> +
>> + bool IsFileSystemAccessDenied() {
>> ++#if 0
>> + base::ScopedFD root_dir(HANDLE_EINTR(open("/", O_RDONLY)));
>> + return !root_dir.is_valid();
>> ++#else
>> ++ return true;
>> ++#endif
>> + }
>> +
>> + int GetHelperApi(base::Environment* env) {
>> +--
>> +2.5.0
>> +
>> diff --git a/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch b/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
>> new file mode 100644
>> index 0000000..36c7ec2
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium/chromium-x11/0011-Replace-readdir_r-with-readdir.patch
>> @@ -0,0 +1,237 @@
>> +From feb645ae0259582e2075691047e27b5e064ec160 Mon Sep 17 00:00:00 2001
>> +From: Carlos Rafael Giani <dv@pseudoterminal.org>
>> +Date: Thu, 19 May 2016 21:12:05 +0200
>> +Subject: [PATCH] Replace readdir_r with readdir
>> +
>> +readdir_r is deprecated in newer glibc version. Documented at:
>> +https://sourceware.org/bugzilla/show_bug.cgi?id=19056
>> +
>> +Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
>> +---
>> + base/files/file_enumerator_posix.cc | 15 ++++++++++---
>> + net/disk_cache/simple/simple_index_file_posix.cc | 10 ++++++---
>> + sandbox/linux/services/proc_util.cc | 24 +++++++++++++--------
>> + third_party/boringssl/src/crypto/directory_posix.c | 25 +++-------------------
>> + .../crashpad/crashpad/util/posix/close_multiple.cc | 8 +++++--
>> + third_party/leveldatabase/env_chromium.cc | 13 ++++++++---
>> + 6 files changed, 53 insertions(+), 42 deletions(-)
>> +
>> +diff --git a/base/files/file_enumerator_posix.cc b/base/files/file_enumerator_posix.cc
>> +index 7533a24..637b8cd 100644
>> +--- a/base/files/file_enumerator_posix.cc
>> ++++ b/base/files/file_enumerator_posix.cc
>> +@@ -7,6 +7,7 @@
>> + #include <dirent.h>
>> + #include <errno.h>
>> + #include <fnmatch.h>
>> ++#include <string.h>
>> +
>> + #include "base/logging.h"
>> + #include "base/threading/thread_restrictions.h"
>> +@@ -129,9 +130,17 @@ bool FileEnumerator::ReadDirectory(std::vector<FileInfo>* entries,
>> + additional space for pathname may be needed
>> + #endif
>> +
>> +- struct dirent dent_buf;
>> +- struct dirent* dent;
>> +- while (readdir_r(dir, &dent_buf, &dent) == 0 && dent) {
>> ++ while (true) {
>> ++ struct dirent* dent;
>> ++ errno = 0;
>> ++ dent = readdir(dir);
>> ++ if (errno != 0) {
>> ++ DPLOG(ERROR) << "Couldn't read directory entry: " << strerror(errno);
>> ++ break;
>> ++ }
>> ++ if (dent == NULL)
>> ++ break;
>> ++
>> + FileInfo info;
>> + info.filename_ = FilePath(dent->d_name);
>> +
>> +diff --git a/net/disk_cache/simple/simple_index_file_posix.cc b/net/disk_cache/simple/simple_index_file_posix.cc
>> +index 586699d..bbe81fc 100644
>> +--- a/net/disk_cache/simple/simple_index_file_posix.cc
>> ++++ b/net/disk_cache/simple/simple_index_file_posix.cc
>> +@@ -34,8 +34,12 @@ bool SimpleIndexFile::TraverseCacheDirectory(
>> + PLOG(ERROR) << "opendir " << cache_path.value();
>> + return false;
>> + }
>> +- dirent entry, *result;
>> +- while (readdir_r(dir.get(), &entry, &result) == 0) {
>> ++ dirent *result;
>> ++ while (true) {
>> ++ errno = 0;
>> ++ result = readdir(dir.get());
>> ++ if (errno != 0)
>> ++ break;
>> + if (!result)
>> + return true; // The traversal completed successfully.
>> + const std::string file_name(result->d_name);
>> +@@ -45,7 +49,7 @@ bool SimpleIndexFile::TraverseCacheDirectory(
>> + base::FilePath(file_name));
>> + entry_file_callback.Run(file_path);
>> + }
>> +- PLOG(ERROR) << "readdir_r " << cache_path.value();
>> ++ PLOG(ERROR) << "readdir " << cache_path.value();
>> + return false;
>> + }
>> +
>> +diff --git a/sandbox/linux/services/proc_util.cc b/sandbox/linux/services/proc_util.cc
>> +index 8341b4a..1603415 100644
>> +--- a/sandbox/linux/services/proc_util.cc
>> ++++ b/sandbox/linux/services/proc_util.cc
>> +@@ -50,15 +50,18 @@ int ProcUtil::CountOpenFds(int proc_fd) {
>> + CHECK(dir);
>> +
>> + int count = 0;
>> +- struct dirent e;
>> + struct dirent* de;
>> +- while (!readdir_r(dir.get(), &e, &de) && de) {
>> +- if (strcmp(e.d_name, ".") == 0 || strcmp(e.d_name, "..") == 0) {
>> ++ while (true) {
>> ++ errno = 0;
>> ++ de = readdir(dir.get());
>> ++ if (de == NULL || errno != 0)
>> ++ break;
>> ++ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) {
>> + continue;
>> + }
>> +
>> + int fd_num;
>> +- CHECK(base::StringToInt(e.d_name, &fd_num));
>> ++ CHECK(base::StringToInt(de->d_name, &fd_num));
>> + if (fd_num == proc_fd || fd_num == proc_self_fd) {
>> + continue;
>> + }
>> +@@ -80,22 +83,25 @@ bool ProcUtil::HasOpenDirectory(int proc_fd) {
>> + ScopedDIR dir(fdopendir(proc_self_fd));
>> + CHECK(dir);
>> +
>> +- struct dirent e;
>> + struct dirent* de;
>> +- while (!readdir_r(dir.get(), &e, &de) && de) {
>> +- if (strcmp(e.d_name, ".") == 0 || strcmp(e.d_name, "..") == 0) {
>> ++ while (true) {
>> ++ errno = 0;
>> ++ de = readdir(dir.get());
>> ++ if (de == NULL || errno != 0)
>> ++ break;
>> ++ if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0) {
>> + continue;
>> + }
>> +
>> + int fd_num;
>> +- CHECK(base::StringToInt(e.d_name, &fd_num));
>> ++ CHECK(base::StringToInt(de->d_name, &fd_num));
>> + if (fd_num == proc_fd || fd_num == proc_self_fd) {
>> + continue;
>> + }
>> +
>> + struct stat s;
>> + // It's OK to use proc_self_fd here, fstatat won't modify it.
>> +- CHECK(fstatat(proc_self_fd, e.d_name, &s, 0) == 0);
>> ++ CHECK(fstatat(proc_self_fd, de->d_name, &s, 0) == 0);
>> + if (S_ISDIR(s.st_mode)) {
>> + return true;
>> + }
>> +diff --git a/third_party/boringssl/src/crypto/directory_posix.c b/third_party/boringssl/src/crypto/directory_posix.c
>> +index b944b69..17143a7 100644
>> +--- a/third_party/boringssl/src/crypto/directory_posix.c
>> ++++ b/third_party/boringssl/src/crypto/directory_posix.c
>> +@@ -24,10 +24,6 @@
>> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
>> + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
>> +
>> +-#if !defined(_POSIX_C_SOURCE)
>> +-#define _POSIX_C_SOURCE 201409 /* for readdir_r */
>> +-#endif
>> +-
>> + #include "directory.h"
>> +
>> +
>> +@@ -38,21 +34,6 @@
>> + #include <stdlib.h>
>> + #include <string.h>
>> +
>> +-#if defined(OPENSSL_PNACL)
>> +-/* pnacl doesn't include readdir_r! So we do the best we can. */
>> +-int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) {
>> +- errno = 0;
>> +- *result = readdir(dirp);
>> +- if (*result != NULL) {
>> +- return 0;
>> +- }
>> +- if (errno) {
>> +- return 1;
>> +- }
>> +- return 0;
>> +-}
>> +-#endif
>> +-
>> + struct OPENSSL_dir_context_st {
>> + DIR *dir;
>> + struct dirent dirent;
>> +@@ -85,10 +66,10 @@ const char *OPENSSL_DIR_read(OPENSSL_DIR_CTX **ctx, const char *directory) {
>> + }
>> + }
>> +
>> +- if (readdir_r((*ctx)->dir, &(*ctx)->dirent, &dirent) != 0 ||
>> +- dirent == NULL) {
>> ++ errno = 0;
>> ++ dirent = readdir((*ctx)->dir);
>> ++ if (dirent == NULL || errno != 0)
>> + return 0;
>> +- }
>> +
>> + return (*ctx)->dirent.d_name;
>> + }
>> +diff --git a/third_party/crashpad/crashpad/util/posix/close_multiple.cc b/third_party/crashpad/crashpad/util/posix/close_multiple.cc
>> +index d94d575..4c1287a 100644
>> +--- a/third_party/crashpad/crashpad/util/posix/close_multiple.cc
>> ++++ b/third_party/crashpad/crashpad/util/posix/close_multiple.cc
>> +@@ -100,10 +100,14 @@ bool CloseMultipleNowOrOnExecUsingFDDir(int fd, int preserve_fd) {
>> + return false;
>> + }
>> +
>> +- dirent entry;
>> + dirent* result;
>> + int rv;
>> +- while ((rv = readdir_r(dir, &entry, &result)) == 0 && result != nullptr) {
>> ++ while (true) {
>> ++ errno = 0;
>> ++ result = readdir(dir);
>> ++ if (errno != 0 || result == nullptr)
>> ++ break;
>> ++
>> + const char* entry_name = &(*result->d_name);
>> + if (strcmp(entry_name, ".") == 0 || strcmp(entry_name, "..") == 0) {
>> + continue;
>> +diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc
>> +index 939534c..f23142e 100644
>> +--- a/third_party/leveldatabase/env_chromium.cc
>> ++++ b/third_party/leveldatabase/env_chromium.cc
>> +@@ -79,10 +79,17 @@ static base::File::Error GetDirectoryEntries(const FilePath& dir_param,
>> + DIR* dir = opendir(dir_string.c_str());
>> + if (!dir)
>> + return base::File::OSErrorToFileError(errno);
>> +- struct dirent dent_buf;
>> + struct dirent* dent;
>> +- int readdir_result;
>> +- while ((readdir_result = readdir_r(dir, &dent_buf, &dent)) == 0 && dent) {
>> ++ int readdir_result = 0;
>> ++ while (true) {
>> ++ errno = 0;
>> ++ dent = readdir(dir);
>> ++ if (errno != 0) {
>> ++ readdir_result = 1;
>> ++ break;
>> ++ }
>> ++ if (dent == NULL)
>> ++ break;
>> + if (strcmp(dent->d_name, ".") == 0 || strcmp(dent->d_name, "..") == 0)
>> + continue;
>> + result->push_back(FilePath::FromUTF8Unsafe(dent->d_name));
>> +--
>> +2.7.4
>> +
>> diff --git a/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
>> new file mode 100644
>> index 0000000..4620db2
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium/chromium-x11/add_missing_stat_h_include.patch
>> @@ -0,0 +1,39 @@
>> +sys/stat.h used to be indirectly included through
>> +device/udev_linux/scoped_udev.h -> libudev.h -> sys/stat.h
>> +but libudev.h in jethro no longer includes sys/stat.h resulting in the
>> +following compile time errors:
>> +
>> +arm-angstrom-linux-gnueabi-g++ ... ../../components/storage_monitor/storage_monitor_linux.cc -o obj/components/storage_monitor/storage_monitor.storage_monitor_linux.o
>> +../../components/storage_monitor/storage_monitor_linux.cc: In function 'scoped_ptr<storage_monitor::StorageInfo> storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)':
>> +../../components/storage_monitor/storage_monitor_linux.cc:132:15: error: aggregate 'storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat device_stat' has incomplete type and cannot be defined
>> + struct stat device_stat;
>> + ^
>> +../../components/storage_monitor/storage_monitor_linux.cc:133:53: error: invalid use of incomplete type 'struct storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat'
>> + if (stat(device_path.value().c_str(), &device_stat) < 0)
>> + ^
>> +../../components/storage_monitor/storage_monitor_linux.cc:132:10: error: forward declaration of 'struct storage_monitor::{anonymous}::GetDeviceInfo(const base::FilePath&, const base::FilePath&)::stat'
>> + struct stat device_stat;
>> + ^
>> +../../components/storage_monitor/storage_monitor_linux.cc:137:34: error: 'S_ISCHR' was not declared in this scope
>> + if (S_ISCHR(device_stat.st_mode))
>> + ^
>> +../../components/storage_monitor/storage_monitor_linux.cc:139:39: error: 'S_ISBLK' was not declared in this scope
>> + else if (S_ISBLK(device_stat.st_mode))
>> + ^
>> +
>> +As the code makes use of stat systemcalls include the file explicitely.
>> +Tested with ARCH armv7.
>> +
>> +Signed-off-by: Max Krummenacher <max.oss.09 at gmail.com>
>> +Upstream-Status: Pending
>> +
>> +--- a/components/storage_monitor/storage_monitor_linux.cc~ 2015-01-21 21:28:16.000000000 +0100
>> ++++ b/components/storage_monitor/storage_monitor_linux.cc 2015-10-27 13:21:08.405655894 +0100
>> +@@ -8,6 +8,7 @@
>> +
>> + #include <mntent.h>
>> + #include <stdio.h>
>> ++#include <sys/stat.h>
>> +
>> + #include <list>
>> +
>> diff --git a/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch b/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
>> new file mode 100644
>> index 0000000..2d1842b
>> --- /dev/null
>> +++ b/recipes-browser/chromium/chromium/chromium-x11/remove-Werror.patch
>> @@ -0,0 +1,73 @@
>> +Index: chromium-48.0.2548.0/build/common.gypi
>> +===================================================================
>> +--- chromium-48.0.2548.0.orig/build/common.gypi
>> ++++ chromium-48.0.2548.0/build/common.gypi
>> +@@ -1421,7 +1421,7 @@
>> +
>> + # Disable fatal linker warnings, similarly to how we make it possible
>> + # to disable -Werror (e.g. for different toolchain versions).
>> +- 'disable_fatal_linker_warnings%': 0,
>> ++ 'disable_fatal_linker_warnings%': 1,
>> +
>> + 'release_valgrind_build%': 0,
>> +
>> +@@ -3135,12 +3135,6 @@
>> + '-Wsign-compare',
>> + ]
>> + }],
>> +- # TODO: Fix all warnings on chromeos too.
>> +- [ 'os_posix==1 and OS!="mac" and OS!="ios" and (clang!=1 or chromeos==1)', {
>> +- 'cflags!': [
>> +- '-Werror',
>> +- ],
>> +- }],
>> + [ 'os_posix==1 and os_bsd!=1 and OS!="mac" and OS!="android"', {
>> + 'cflags': [
>> + # Don't warn about ignoring the return value from e.g. close().
>> +@@ -3692,10 +3686,10 @@
>> + }],
>> + ['os_posix==1 and OS!="mac" and OS!="ios"', {
>> + 'target_defaults': {
>> +- # Enable -Werror by default, but put it in a variable so it can
>> ++ # Disable -Werror by default, but put it in a variable so it can
>> + # be disabled in ~/.gyp/include.gypi on the valgrind builders.
>> + 'variables': {
>> +- 'werror%': '-Werror',
>> ++ 'werror%': '',
>> + 'libraries_for_target%': '',
>> + },
>> + 'defines': [
>> +@@ -5045,7 +5039,7 @@
>> + 'GCC_OBJC_CALL_CXX_CDTORS': 'YES', # -fobjc-call-cxx-cdtors
>> + 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
>> + 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
>> +- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
>> ++ 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO', # -Werror
>> + 'GCC_VERSION': '4.2',
>> + 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
>> + 'USE_HEADERMAP': 'NO',
>> +Index: chromium-48.0.2548.0/build/config/compiler/BUILD.gn
>> +===================================================================
>> +--- chromium-48.0.2548.0.orig/build/config/compiler/BUILD.gn
>> ++++ chromium-48.0.2548.0/build/config/compiler/BUILD.gn
>> +@@ -687,7 +687,6 @@ config("default_warnings") {
>> + cflags += [
>> + # Enables.
>> + "-Wendif-labels", # Weird old-style text after an #endif.
>> +- "-Werror", # Warnings as errors.
>> +
>> + # Disables.
>> + "-Wno-missing-field-initializers", # "struct foo f = {0};"
>> +Index: chromium-48.0.2548.0/build/nocompile.gypi
>> +===================================================================
>> +--- chromium-48.0.2548.0.orig/build/nocompile.gypi
>> ++++ chromium-48.0.2548.0/build/nocompile.gypi
>> +@@ -81,7 +81,7 @@
>> + '<(nocompile_driver)',
>> + '4', # number of compilers to invoke in parallel.
>> + '<(RULE_INPUT_PATH)',
>> +- '-Wall -Werror -Wfatal-errors -I<(DEPTH)',
>> ++ '-Wall -I<(DEPTH)',
>> + '<(nc_result_path)',
>> + ],
>> + 'message': 'Generating no compile results for <(RULE_INPUT_PATH)',
>> diff --git a/recipes-browser/chromium/chromium_48.0.2548.0.bb b/recipes-browser/chromium/chromium_48.0.2548.0.bb
>> deleted file mode 100644
>> index 70afa6c..0000000
>> --- a/recipes-browser/chromium/chromium_48.0.2548.0.bb
>> +++ /dev/null
>> @@ -1,40 +0,0 @@
>> -include chromium-browser.inc
>> -
>> -SRC_URI += "\
>> - file://chromium-48/add_missing_stat_h_include.patch \
>> - file://chromium-48/0003-Remove-hard-coded-values-for-CC-and-CXX.patch \
>> - file://chromium-48/0004-Create-empty-i18n_process_css_test.html-file-to-avoi.patch \
>> - file://chromium-48/0005-Override-root-filesystem-access-restriction.patch \
>> - file://chromium-48/0011-Replace-readdir_r-with-readdir.patch \
>> - file://chromium-48/remove-Werror.patch \
>> - ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-48/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
>> - ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-48/0002-Disable-API-keys-info-bar.patch', '', d)} \
>> -"
>> -
>> -LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
>> -SRC_URI[md5sum] = "0534981cc21efcd11e64b67b85854420"
>> -SRC_URI[sha256sum] = "4ca4e2adb340b3fb4d502266ad7d6bda45fa3519906dbf63cce11a63f680dbc8"
>> -
>> -EXTRA_OEGYP += " \
>> - -Dv8_use_external_startup_data=0 \
>> -"
>> -
>> -OZONE_WAYLAND_GIT_BRANCH = "Milestone-SouthSister"
>> -OZONE_WAYLAND_GIT_SRCREV = "c605505044af3345a276abbd7c29fd53db1dea40"
>> -
>> -OZONE_WAYLAND_EXTRA_PATCHES = " \
>> - file://chromium-48/0006-Remove-GBM-support-from-wayland.gyp.patch \
>> - file://chromium-48/0007-Workaround-for-glib-related-build-error-with-ozone-w.patch \
>> -"
>> -
>> -# Component build is unsupported in ozone-wayland for Chromium 48
>> -python() {
>> - if (d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1'):
>> - if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d):
>> - bb.fatal("Chromium 48 Wayland version cannot be built in component-mode")
>> -}
>> -
>> -CHROMIUM_X11_DEPENDS = "xextproto gtk+ libxi libxss"
>> -CHROMIUM_X11_GYP_DEFINES = ""
>> -CHROMIUM_WAYLAND_DEPENDS = "wayland libxkbcommon"
>> -CHROMIUM_WAYLAND_GYP_DEFINES = "use_ash=1 use_aura=1 chromeos=0 use_ozone=1 use_xkbcommon=1"
>> diff --git a/recipes-browser/chromium/chromium/armv6/include.gypi b/recipes-browser/chromium/files/armv6/include.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/armv6/include.gypi
>> rename to recipes-browser/chromium/files/armv6/include.gypi
>> diff --git a/recipes-browser/chromium/chromium/armv6/oe-defaults.gypi b/recipes-browser/chromium/files/armv6/oe-defaults.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/armv6/oe-defaults.gypi
>> rename to recipes-browser/chromium/files/armv6/oe-defaults.gypi
>> diff --git a/recipes-browser/chromium/chromium/armv7a/include.gypi b/recipes-browser/chromium/files/armv7a/include.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/armv7a/include.gypi
>> rename to recipes-browser/chromium/files/armv7a/include.gypi
>> diff --git a/recipes-browser/chromium/chromium/armv7a/oe-defaults.gypi b/recipes-browser/chromium/files/armv7a/oe-defaults.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/armv7a/oe-defaults.gypi
>> rename to recipes-browser/chromium/files/armv7a/oe-defaults.gypi
>> diff --git a/recipes-browser/chromium/chromium/component-build.gypi b/recipes-browser/chromium/files/component-build.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/component-build.gypi
>> rename to recipes-browser/chromium/files/component-build.gypi
>> diff --git a/recipes-browser/chromium/chromium/google-chrome b/recipes-browser/chromium/files/google-chrome
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/google-chrome
>> rename to recipes-browser/chromium/files/google-chrome
>> diff --git a/recipes-browser/chromium/chromium/google-chrome.desktop b/recipes-browser/chromium/files/google-chrome.desktop
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/google-chrome.desktop
>> rename to recipes-browser/chromium/files/google-chrome.desktop
>> diff --git a/recipes-browser/chromium/chromium/x86-64/include.gypi b/recipes-browser/chromium/files/x86-64/include.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/x86-64/include.gypi
>> rename to recipes-browser/chromium/files/x86-64/include.gypi
>> diff --git a/recipes-browser/chromium/chromium/x86-64/oe-defaults.gypi b/recipes-browser/chromium/files/x86-64/oe-defaults.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/x86-64/oe-defaults.gypi
>> rename to recipes-browser/chromium/files/x86-64/oe-defaults.gypi
>> diff --git a/recipes-browser/chromium/chromium/x86/include.gypi b/recipes-browser/chromium/files/x86/include.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/x86/include.gypi
>> rename to recipes-browser/chromium/files/x86/include.gypi
>> diff --git a/recipes-browser/chromium/chromium/x86/oe-defaults.gypi b/recipes-browser/chromium/files/x86/oe-defaults.gypi
>> similarity index 100%
>> rename from recipes-browser/chromium/chromium/x86/oe-defaults.gypi
>> rename to recipes-browser/chromium/files/x86/oe-defaults.gypi
>> --
>> 2.9.0
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-browser][PATCH 2/4] chromium: gcc-6 support
2016-07-20 19:59 ` Khem Raj
@ 2016-07-20 20:13 ` Trevor Woerner
2016-07-20 20:23 ` Khem Raj
0 siblings, 1 reply; 11+ messages in thread
From: Trevor Woerner @ 2016-07-20 20:13 UTC (permalink / raw)
To: openembedded-devel
On Wed 2016-07-20 @ 12:59:21 PM, Khem Raj wrote:
> On Wed, Jul 20, 2016 at 12:51 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> > Allow chromium to build with gcc-6.
>
> bunch of patches are deleted. Are they upstreamed ? or how do they
> help compiling chromium with gcc6?
At some point in the past (I could figure out who, but I don't want to give
the impression that I'm pointing fingers) someone added the following line to
the recipe:
-Ddisable_fatal_linker_warnings=1
The *intention* was to keep the build from failing due to compiler -Werror
issues. For whatever reason this line has no effect on the build; the -Werror
is still used, and builds still fail for annoying, non-critical reasons.
Therefore we've amassed a large set of patches that try to fix these
warnings by either fixing the code itself:
> > ---- a/third_party/ots/src/name.cc
> > -+++ b/third_party/ots/src/name.cc
> > -@@ -79,7 +79,7 @@ bool ots_name_parse(Font *font, const uint8_t* data, size_t length) {
> > - const char* string_base = reinterpret_cast<const char*>(data) +
> > - string_offset;
> > -
> > -- NameRecord prev_record;
> > -+ NameRecord prev_record(0, 0, 0, 0);
> > - bool sort_required = false;
> > -
or by (more likely) some l337 #pragma tricks:
> > ---- a/third_party/WebKit/Source/wtf/dtoa/bignum.cc
> > -+++ b/third_party/WebKit/Source/wtf/dtoa/bignum.cc
> > -@@ -102,7 +102,10 @@
> > - }
> > -
> > -
> > -+#pragma GCC diagnostic push
> > -+#pragma GCC diagnostic warning "-Wstrict-overflow"
> > - void Bignum::AssignDecimalString(Vector<const char> value) {
> > -+#pragma GCC diagnostic pop
> > - // 2^64 = 18446744073709551616 > 10^19
> > - const int kMaxUint64DecimalDigits = 19;
> > - Zero();
> > -@@ -696,7 +696,10 @@
> > - }
What I've done here is to patch the various BUILD.gn files and *gyp files so
that -Werror is actually removed from our build (which was the original
intent), thereby making a number of subsequent patches superfluous.
Given the chromium developers use a completely different compiler and,
therefore, are unlikely to be tripping over the same warning/error problems we
keep seeing, I believe this is a sensible thing to do. Especially since, going
forward, is reduces the maintanance burden, and (in my opinion) the upstream
developers are probably unlikely to ever accept these sorts of patches anyway.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-browser][PATCH 3/4] chromium: split into -wayland and -x11
2016-07-20 20:02 ` Khem Raj
@ 2016-07-20 20:16 ` Trevor Woerner
0 siblings, 0 replies; 11+ messages in thread
From: Trevor Woerner @ 2016-07-20 20:16 UTC (permalink / raw)
To: openembedded-devel
On Wed 2016-07-20 @ 01:02:04 PM, Khem Raj wrote:
> On Wed, Jul 20, 2016 at 1:00 PM, Khem Raj <raj.khem@gmail.com> wrote:
> > I would just leave chromium as it is (defaulting to x11)
>
> meaning. chromium and chromium-wayland are names for recipes.
Okay, sounds good.
I'll wait for more feedback and generate a V2 at some point.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [meta-browser][PATCH 2/4] chromium: gcc-6 support
2016-07-20 20:13 ` Trevor Woerner
@ 2016-07-20 20:23 ` Khem Raj
0 siblings, 0 replies; 11+ messages in thread
From: Khem Raj @ 2016-07-20 20:23 UTC (permalink / raw)
To: OpenEmbedded Devel List
[-- Attachment #1: Type: text/plain, Size: 3259 bytes --]
> On Jul 20, 2016, at 1:13 PM, Trevor Woerner <twoerner@gmail.com> wrote:
>
> On Wed 2016-07-20 @ 12:59:21 PM, Khem Raj wrote:
>> On Wed, Jul 20, 2016 at 12:51 PM, Trevor Woerner <twoerner@gmail.com> wrote:
>>> Allow chromium to build with gcc-6.
>>
>> bunch of patches are deleted. Are they upstreamed ? or how do they
>> help compiling chromium with gcc6?
>
> At some point in the past (I could figure out who, but I don't want to give
> the impression that I'm pointing fingers) someone added the following line to
> the recipe:
>
> -Ddisable_fatal_linker_warnings=1
>
> The *intention* was to keep the build from failing due to compiler -Werror
> issues. For whatever reason this line has no effect on the build; the -Werror
> is still used, and builds still fail for annoying, non-critical reasons.
> Therefore we've amassed a large set of patches that try to fix these
> warnings by either fixing the code itself:
which is the right thing. We should try to make packages better and send patches upstream as much
as we can. This helps us ensure that the patches get reviewed even if they are rejected. Improves
our metadata quality.
>
>
> > > ---- a/third_party/ots/src/name.cc
> > > -+++ b/third_party/ots/src/name.cc
> > > -@@ -79,7 +79,7 @@ bool ots_name_parse(Font *font, const uint8_t* data, size_t length) {
> > > - const char* string_base = reinterpret_cast<const char*>(data) +
> > > - string_offset;
> > > -
> > > -- NameRecord prev_record;
> > > -+ NameRecord prev_record(0, 0, 0, 0);
> > > - bool sort_required = false;
> > > -
>
> or by (more likely) some l337 #pragma tricks:
>
these are still workarounds but alright in some cases we need them. I would still encourage to run
then by chromium community though.
>
> > > ---- a/third_party/WebKit/Source/wtf/dtoa/bignum.cc
> > > -+++ b/third_party/WebKit/Source/wtf/dtoa/bignum.cc
> > > -@@ -102,7 +102,10 @@
> > > - }
> > > -
> > > -
> > > -+#pragma GCC diagnostic push
> > > -+#pragma GCC diagnostic warning "-Wstrict-overflow"
> > > - void Bignum::AssignDecimalString(Vector<const char> value) {
> > > -+#pragma GCC diagnostic pop
> > > - // 2^64 = 18446744073709551616 > 10^19
> > > - const int kMaxUint64DecimalDigits = 19;
> > > - Zero();
> > > -@@ -696,7 +696,10 @@
> > > - }
>
> What I've done here is to patch the various BUILD.gn files and *gyp files so
> that -Werror is actually removed from our build (which was the original
> intent), thereby making a number of subsequent patches superfluous.
I see that and its fine. However we are going to hide issues if we lower the guards.
>
> Given the chromium developers use a completely different compiler and,
> therefore, are unlikely to be tripping over the same warning/error problems we
> keep seeing, I believe this is a sensible thing to do. Especially since, going
> forward, is reduces the maintanance burden, and (in my opinion) the upstream
> developers are probably unlikely to ever accept these sorts of patches anyway.
If you fix a genuine case that is being caught by gcc and clang is missing to catch and vice
versa it its definitely of interest
[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-07-20 20:23 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-20 19:51 [meta-browser][PATCH 0/4] chromium updates Trevor Woerner
2016-07-20 19:51 ` [meta-browser][PATCH 1/4] chromium: remove unused patch Trevor Woerner
2016-07-20 19:51 ` [meta-browser][PATCH 2/4] chromium: gcc-6 support Trevor Woerner
2016-07-20 19:59 ` Khem Raj
2016-07-20 20:13 ` Trevor Woerner
2016-07-20 20:23 ` Khem Raj
2016-07-20 19:52 ` [meta-browser][PATCH 3/4] chromium: split into -wayland and -x11 Trevor Woerner
2016-07-20 20:00 ` Khem Raj
2016-07-20 20:02 ` Khem Raj
2016-07-20 20:16 ` Trevor Woerner
2016-07-20 19:52 ` [meta-browser][PATCH 4/4] chromium-x11: update 48.0.2548.0 -> 52.0.2743.76 Trevor Woerner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.