[oe] [meta-browser][RFC PATCH v1 4/4] chromium: upgrade 40.0.2214.91 to 49.0.2607.0

Trevor Woerner twoerner at gmail.com
Fri Jan 1 19:45:11 UTC 2016


Upgrade chromium to the latest version. Cleanup the recipe somewhat and
cleanup the patches. The only change in the LICENSE is the copyright year.

Signed-off-by: Trevor Woerner <twoerner at gmail.com>
---
 ...4-Remove-hard-coded-values-for-CC-and-CXX.patch |   0
 ...4-Remove-hard-coded-values-for-CC-and-CXX.patch |  43 ++++
 ...0001-bignum.cc-disable-warning-from-gcc-5.patch |  39 ----
 ...-image_util.cc-disable-warning-from-gcc-5.patch |  40 ----
 .../chromium-40/add_missing_stat_h_include.patch   |  39 ----
 .../fix-build-error-with-GCC-in-Debug-mode.patch   |  32 ---
 ...accelerated-Canvas-support-from-blacklist.patch |   0
 ...Add-Linux-to-impl-side-painting-whitelist.patch |   0
 .../0003-Disable-API-keys-info-bar.patch           |   0
 .../0005-Remove-X-libraries-from-GYP-files.patch   |   0
 .../0010-systemd-218.patch                         |   0
 .../chromium-49/create-file-for-configure.patch    |   3 +
 .../chromium-49/fix-compile-warnings.patch         |  45 ++++
 .../chromium-49/v8-internal-startup-data.patch     |  13 ++
 recipes-browser/chromium/chromium/unistd-2.patch   |  27 ---
 recipes-browser/chromium/chromium_40.0.2214.91.bb  | 230 ---------------------
 recipes-browser/chromium/chromium_49.0.2607.0.bb   |  15 +-
 17 files changed, 108 insertions(+), 418 deletions(-)
 rename recipes-browser/chromium/chromium/{chromium-40 => armv6}/0004-Remove-hard-coded-values-for-CC-and-CXX.patch (100%)
 create mode 100644 recipes-browser/chromium/chromium/armv7a/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
 delete mode 100644 recipes-browser/chromium/chromium/chromium-40/0001-bignum.cc-disable-warning-from-gcc-5.patch
 delete mode 100644 recipes-browser/chromium/chromium/chromium-40/0002-image_util.cc-disable-warning-from-gcc-5.patch
 delete mode 100644 recipes-browser/chromium/chromium/chromium-40/add_missing_stat_h_include.patch
 delete mode 100644 recipes-browser/chromium/chromium/chromium-40/fix-build-error-with-GCC-in-Debug-mode.patch
 rename recipes-browser/chromium/chromium/{chromium-40 => chromium-49}/0001-Remove-accelerated-Canvas-support-from-blacklist.patch (100%)
 rename recipes-browser/chromium/chromium/{chromium-40 => chromium-49}/0002-Add-Linux-to-impl-side-painting-whitelist.patch (100%)
 rename recipes-browser/chromium/chromium/{chromium-40 => chromium-49}/0003-Disable-API-keys-info-bar.patch (100%)
 rename recipes-browser/chromium/chromium/{chromium-40 => chromium-49}/0005-Remove-X-libraries-from-GYP-files.patch (100%)
 rename recipes-browser/chromium/chromium/{chromium-40 => chromium-49}/0010-systemd-218.patch (100%)
 create mode 100644 recipes-browser/chromium/chromium/chromium-49/create-file-for-configure.patch
 create mode 100644 recipes-browser/chromium/chromium/chromium-49/fix-compile-warnings.patch
 create mode 100644 recipes-browser/chromium/chromium/chromium-49/v8-internal-startup-data.patch
 delete mode 100644 recipes-browser/chromium/chromium/unistd-2.patch
 delete mode 100644 recipes-browser/chromium/chromium_40.0.2214.91.bb

diff --git a/recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/armv6/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
rename to recipes-browser/chromium/chromium/armv6/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
diff --git a/recipes-browser/chromium/chromium/armv7a/0004-Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/chromium/armv7a/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
new file mode 100644
index 0000000..402a674
--- /dev/null
+++ b/recipes-browser/chromium/chromium/armv7a/0004-Remove-hard-coded-values-for-CC-and-CXX.patch
@@ -0,0 +1,43 @@
+From 518135b0cd6878e91e5fcf489f3185740ec307c0 Mon Sep 17 00:00:00 2001
+From: Carlos Rafael Giani <dv at 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 at pseudoterminal.org>
+---
+ build/common.gypi | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/build/common.gypi b/build/common.gypi
+index 7ec5ae2..11e8d1d 100644
+--- a/build/common.gypi
++++ b/build/common.gypi
+@@ -5808,16 +5808,6 @@
+         ['CXX.host', '<(host_cxx)'],
+       ],
+     }],
+-    ['OS=="linux" and target_arch=="arm" and host_arch!="arm" and chromeos==0 and clang==0', {
+-      # Set default ARM cross compiling on linux.  These can be overridden
+-      # using CC/CXX/etc environment variables.
+-      'make_global_settings': [
+-        ['CC', '<!(which arm-linux-gnueabihf-gcc)'],
+-        ['CXX', '<!(which arm-linux-gnueabihf-g++)'],
+-        ['CC.host', '<(host_cc)'],
+-        ['CXX.host', '<(host_cxx)'],
+-      ],
+-    }],
+ 
+     # TODO(yyanagisawa): supports GENERATOR==make
+     #  make generator doesn't support CC_wrapper without CC
+-- 
+1.9.1
+
diff --git a/recipes-browser/chromium/chromium/chromium-40/0001-bignum.cc-disable-warning-from-gcc-5.patch b/recipes-browser/chromium/chromium/chromium-40/0001-bignum.cc-disable-warning-from-gcc-5.patch
deleted file mode 100644
index 4a28bda..0000000
--- a/recipes-browser/chromium/chromium/chromium-40/0001-bignum.cc-disable-warning-from-gcc-5.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5b8c53a6bb11c8aa9b575b5a8155c25c5085f349 Mon Sep 17 00:00:00 2001
-From: Max Krummenacher <max.oss.09 at 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 at 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
-@@ -109,7 +109,10 @@ namespace double_conversion {
-         int length = value.length();
-         int pos = 0;
-         // Let's just say that each digit needs 4 bits.
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic warning "-Wstrict-overflow"
-         while (length >= kMaxUint64DecimalDigits) {
-+#pragma GCC diagnostic pop
-             uint64_t digits = ReadUInt64(value, pos, kMaxUint64DecimalDigits);
-             pos += kMaxUint64DecimalDigits;
-             length -= kMaxUint64DecimalDigits;
--- 
-1.8.4.5
-
diff --git a/recipes-browser/chromium/chromium/chromium-40/0002-image_util.cc-disable-warning-from-gcc-5.patch b/recipes-browser/chromium/chromium/chromium-40/0002-image_util.cc-disable-warning-from-gcc-5.patch
deleted file mode 100644
index 7023233..0000000
--- a/recipes-browser/chromium/chromium/chromium-40/0002-image_util.cc-disable-warning-from-gcc-5.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 2f674d980a116075dc7123a3e243b1451e4a732d Mon Sep 17 00:00:00 2001
-From: Max Krummenacher <max.oss.09 at 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 at 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
-@@ -68,7 +68,10 @@ bool VisibleMargins(const ImageSkia& image, int* leading, int* trailing) {
-   int inner_min = bitmap.width();
-   for (int x = 0; x < bitmap.width(); ++x) {
-     for (int y = 0; y < bitmap.height(); ++y) {
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic warning "-Wstrict-overflow"
-       if (SkColorGetA(bitmap.getColor(x, y)) > kMinimumVisibleOpacity) {
-+#pragma GCC diagnostic pop
-         inner_min = x;
-         break;
-       }
--- 
-1.8.4.5
-
diff --git a/recipes-browser/chromium/chromium/chromium-40/add_missing_stat_h_include.patch b/recipes-browser/chromium/chromium/chromium-40/add_missing_stat_h_include.patch
deleted file mode 100644
index 90e7827..0000000
--- a/recipes-browser/chromium/chromium/chromium-40/add_missing_stat_h_include.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-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
-
---- chromium-40.0.2214.91/components/storage_monitor/storage_monitor_linux.cc~	2015-01-21 21:28:16.000000000 +0100
-+++ chromium-40.0.2214.91/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-40/fix-build-error-with-GCC-in-Debug-mode.patch b/recipes-browser/chromium/chromium/chromium-40/fix-build-error-with-GCC-in-Debug-mode.patch
deleted file mode 100644
index c05598a..0000000
--- a/recipes-browser/chromium/chromium/chromium-40/fix-build-error-with-GCC-in-Debug-mode.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From bfe80ed5227fccf8ab13df714702fc77e5e3d657 Mon Sep 17 00:00:00 2001
-From: Carlos Alberto Lopez Perez <clopez at igalia.com>
-Date: Thu, 27 Aug 2015 09:54:06 +0200
-Subject: [PATCH] Fix build error with GCC in Debug mode:
-
-  http://code.google.com/p/chromium/issues/detail?id=525428
----
- components/invalidation/invalidator_storage.cc | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/components/invalidation/invalidator_storage.cc b/components/invalidation/invalidator_storage.cc
-index 13ba4b1..3d567c1 100644
---- a/components/invalidation/invalidator_storage.cc
-+++ b/components/invalidation/invalidator_storage.cc
-@@ -2,7 +2,14 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- 
-+#if !defined(NDEBUG)
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
-+#endif // !defined(NDEBUG)
- #include "components/invalidation/invalidator_storage.h"
-+#if !defined(NDEBUG)
-+#pragma GCC diagnostic pop
-+#endif // !defined(NDEBUG)
- 
- #include <string>
- #include <utility>
--- 
-2.1.4
-
diff --git a/recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch b/recipes-browser/chromium/chromium/chromium-49/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
rename to recipes-browser/chromium/chromium/chromium-49/0001-Remove-accelerated-Canvas-support-from-blacklist.patch
diff --git a/recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch b/recipes-browser/chromium/chromium/chromium-49/0002-Add-Linux-to-impl-side-painting-whitelist.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch
rename to recipes-browser/chromium/chromium/chromium-49/0002-Add-Linux-to-impl-side-painting-whitelist.patch
diff --git a/recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch b/recipes-browser/chromium/chromium/chromium-49/0003-Disable-API-keys-info-bar.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-40/0003-Disable-API-keys-info-bar.patch
rename to recipes-browser/chromium/chromium/chromium-49/0003-Disable-API-keys-info-bar.patch
diff --git a/recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch b/recipes-browser/chromium/chromium/chromium-49/0005-Remove-X-libraries-from-GYP-files.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-40/0005-Remove-X-libraries-from-GYP-files.patch
rename to recipes-browser/chromium/chromium/chromium-49/0005-Remove-X-libraries-from-GYP-files.patch
diff --git a/recipes-browser/chromium/chromium/chromium-40/0010-systemd-218.patch b/recipes-browser/chromium/chromium/chromium-49/0010-systemd-218.patch
similarity index 100%
rename from recipes-browser/chromium/chromium/chromium-40/0010-systemd-218.patch
rename to recipes-browser/chromium/chromium/chromium-49/0010-systemd-218.patch
diff --git a/recipes-browser/chromium/chromium/chromium-49/create-file-for-configure.patch b/recipes-browser/chromium/chromium/chromium-49/create-file-for-configure.patch
new file mode 100644
index 0000000..52f4ce7
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-49/create-file-for-configure.patch
@@ -0,0 +1,3 @@
+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
diff --git a/recipes-browser/chromium/chromium/chromium-49/fix-compile-warnings.patch b/recipes-browser/chromium/chromium/chromium-49/fix-compile-warnings.patch
new file mode 100644
index 0000000..1d766f4
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-49/fix-compile-warnings.patch
@@ -0,0 +1,45 @@
+Index: chromium-49.0.2607.0/third_party/WebKit/Source/wtf/dtoa/bignum.cc
+===================================================================
+--- chromium-49.0.2607.0.orig/third_party/WebKit/Source/wtf/dtoa/bignum.cc
++++ chromium-49.0.2607.0/third_party/WebKit/Source/wtf/dtoa/bignum.cc
+@@ -92,7 +92,9 @@ namespace double_conversion {
+                                int from,
+                                int digits_to_read) {
+         uint64_t result = 0;
+-        for (int i = from; i < from + digits_to_read; ++i) {
++        int to = from + digits_to_read;
++
++        for (int i = from; i < to; ++i) {
+             int digit = buffer[i] - '0';
+             ASSERT(0 <= digit && digit <= 9);
+             result = result * 10 + digit;
+Index: chromium-49.0.2607.0/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
+===================================================================
+--- chromium-49.0.2607.0.orig/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
++++ chromium-49.0.2607.0/third_party/mojo/src/mojo/edk/system/unique_identifier.cc
+@@ -27,6 +27,7 @@ UniqueIdentifier UniqueIdentifier::FromS
+                                               bool* success) {
+   UniqueIdentifier rv;
+   std::vector<uint8_t> bytes;
++  memset(&rv, 0, sizeof(rv));
+   if (base::HexStringToBytes(s, &bytes) && bytes.size() == sizeof(rv.data_)) {
+     memcpy(rv.data_, &bytes[0], sizeof(rv.data_));
+     *success = true;
+Index: chromium-49.0.2607.0/ui/gfx/image/image_util.cc
+===================================================================
+--- chromium-49.0.2607.0.orig/ui/gfx/image/image_util.cc
++++ chromium-49.0.2607.0/ui/gfx/image/image_util.cc
+@@ -83,7 +83,12 @@ bool VisibleMargins(const ImageSkia& ima
+   }
+ 
+   int inner_max = -1;
+-  for (int x = bitmap.width() - 1; x > inner_min; --x) {
++  int widthM1;
++
++  widthM1 = bitmap.width();
++  if (inner_min < bitmap.width())
++    --widthM1;
++  for (int x = widthM1; x > inner_min; --x) {
+     for (int y = 0; y < bitmap.height(); ++y) {
+       if (SkColorGetA(bitmap.getColor(x, y)) > kMinimumVisibleOpacity) {
+         inner_max = x;
diff --git a/recipes-browser/chromium/chromium/chromium-49/v8-internal-startup-data.patch b/recipes-browser/chromium/chromium/chromium-49/v8-internal-startup-data.patch
new file mode 100644
index 0000000..389fe98
--- /dev/null
+++ b/recipes-browser/chromium/chromium/chromium-49/v8-internal-startup-data.patch
@@ -0,0 +1,13 @@
+Index: chromium-49.0.2607.0/build/common.gypi
+===================================================================
+--- chromium-49.0.2607.0.orig/build/common.gypi
++++ chromium-49.0.2607.0/build/common.gypi
+@@ -1046,7 +1046,7 @@
+ 
+       # Setting this to '0' will cause V8's startup snapshot to be
+       # embedded in the binary instead of being a external files.
+-      'v8_use_external_startup_data%': 1,
++      'v8_use_external_startup_data%': 0,
+ 
+       # Set this to 1 to enable use of concatenated impulse responses
+       # for the HRTF panner in WebAudio.
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"
diff --git a/recipes-browser/chromium/chromium_40.0.2214.91.bb b/recipes-browser/chromium/chromium_40.0.2214.91.bb
deleted file mode 100644
index ae9d732..0000000
--- a/recipes-browser/chromium/chromium_40.0.2214.91.bb
+++ /dev/null
@@ -1,230 +0,0 @@
-# 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 (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!
-# 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
-#    * CHROMIUM_X11_DEPENDS
-#    * CHROMIUM_X11_GYP_DEFINES
-#    * CHROMIUM_WAYLAND_DEPENDS
-#    * CHROMIUM_WAYLAND_GYP_DEFINES
-
-include chromium.inc
-DESCRIPTION = "Chromium browser"
-DEPENDS += "libgnome-keyring"
-SRC_URI = "\
-        http://gsdview.appspot.com/chromium-browser-official/${P}.tar.xz \
-        file://include.gypi \
-        file://oe-defaults.gypi \
-        ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
-        file://google-chrome \
-        file://google-chrome.desktop \
-        file://unistd-2.patch \
-        file://chromium-40/fix-build-error-with-GCC-in-Debug-mode.patch \
-        file://chromium-40/add_missing_stat_h_include.patch \
-        file://chromium-40/0001-bignum.cc-disable-warning-from-gcc-5.patch \
-        file://chromium-40/0002-image_util.cc-disable-warning-from-gcc-5.patch \
-        file://chromium-40/0004-Remove-hard-coded-values-for-CC-and-CXX.patch \
-"
-
-# PACKAGECONFIG options
-# ^^^^^^^^^^^^^^^^^^^^^
-# * use-egl: (on by default)
-#       Without this packageconfig, the Chromium build will use GLX for
-#       creating an OpenGL context in X11, and regular OpenGL for painting
-#       operations. Neither are desirable on embedded platforms. With this
-#       packageconfig, EGL and OpenGL ES 2.x are used instead.
-#
-# * disable-api-keys-info-bar: (off by default)
-#       This disables the info bar that warns: "Google API keys are missing".
-#       With some builds, missing API keys are considered OK, so the bar needs
-#       to go. Conversely, if Chromium is compiled with this option off and
-#       the user wishes to disable the warning, the following lines can be
-#       added to the "google-chrome" binary (see patchset) before the
-#       chromium binary is called:
-#           export GOOGLE_API_KEY="no"
-#           export GOOGLE_DEFAULT_CLIENT_ID="no"
-#           export GOOGLE_DEFAULT_CLIENT_SECRET="no"
-#
-# * component-build: (off by default)
-#       Enables component build mode. By default, all of Chromium (with the
-#       exception of FFmpeg) is linked into one big binary. The linker step
-#       requires at least 8 GB RAM. Component mode was created to facilitate
-#       development and testing, since with it, there is not one big binary;
-#       instead, each component is linked to a separate shared object. Use
-#       component mode for development, testing, and in case the build machine
-#       is not a 64-bit one, or has less than 8 GB RAM.
-#
-# * ignore-lost-context: (off by default)
-#       There is a flaw in the HTML Canvas specification. When the canvas'
-#       backing store is some kind of hardware resource like an OpenGL
-#       texture, this resource might get lost. In case of OpenGL textures,
-#       this happens when the OpenGL context gets lost. The canvas should then
-#       be repainted, but nothing in the Canvas standard reflects that. This
-#       packageconfig is to be used if the underlying OpenGL (ES) drivers do
-#       not lose the context, or if losing the context is considered okay
-#       (note that canvas contents can vanish then).
-#
-# * impl-side-painting: (off by default)
-#       This is a new painting mechanism. Still in
-#       development stages, it can improve performance See
-#       http://www.chromium.org/developers/design-documents/impl-side-painting
-#       for more.
-SRC_URI += "\
-        ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://chromium-40/0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', 'file://chromium-40/0002-Add-Linux-to-impl-side-painting-whitelist.patch', '', d)} \
-        ${@bb.utils.contains('PACKAGECONFIG', 'disable-api-keys-info-bar', 'file://chromium-40/0003-Disable-API-keys-info-bar.patch', '', d)} \
-"
-CHROMIUM_EXTRA_ARGS ?= " \
-	${@bb.utils.contains('PACKAGECONFIG', 'use-egl', '--use-gl=egl', '', d)} \
-	${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', '--gpu-no-context-lost', '', d)} \
-	${@bb.utils.contains('PACKAGECONFIG', 'impl-side-painting', '--enable-gpu-rasterization --enable-impl-side-painting', '', d)} \
-"
-
-# Conditionally add ozone-wayland and its patches to the Chromium sources
-# You can override this by setting CHROMIUM_ENABLE_WAYLAND=1 or CHROMIUM_ENABLE_WAYLAND=0 in local.conf
-CHROMIUM_ENABLE_WAYLAND ??= "${@base_contains('DISTRO_FEATURES', 'x11', '0', \
-                     base_contains('DISTRO_FEATURES', 'wayland', '1', \
-                     '0', d),d)}"
-# Some sanity checks.
-python do_check_variables() {
-    CHROMIUM_BUILD_TYPE = d.getVar('CHROMIUM_BUILD_TYPE', True)
-    CHROMIUM_ENABLE_WAYLAND = d.getVar('CHROMIUM_ENABLE_WAYLAND', True)
-    DISTRO_FEATURES = d.getVar("DISTRO_FEATURES", True).split()
-    if CHROMIUM_BUILD_TYPE not in ['Release', 'Debug']:
-        bb.fatal("Wrong value for CHROMIUM_BUILD_TYPE. Please set it either to \'Release\' or to \'Debug\'")
-    if CHROMIUM_ENABLE_WAYLAND not in ['0', '1']:
-        bb.fatal("Wrong value for CHROMIUM_ENABLE_WAYLAND. Please set it to \'1\' to enable the feature or to \'0\' to disable it")
-    if ( (CHROMIUM_ENABLE_WAYLAND == '1') and ('wayland' not in DISTRO_FEATURES) ):
-        bb.warn("You have selected to build Chromium with Wayland support, but you have not enabled wayland in DISTRO_FEATURES")
-    if ( (CHROMIUM_ENABLE_WAYLAND != '1') and ('x11' not in DISTRO_FEATURES) ):
-        bb.warn("You have selected to build Chromium without Wayland support, but you have not enabled x11 in DISTRO_FEATURES")
-    # Print both on log.do_checkvariables and on the console the configuration that is selected.
-    # This useful both for throubleshooting and for checking how the build is finally configured.
-    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)
-}
-addtask check_variables before do_fetch
-
-OZONE_WAYLAND_GIT_DESTSUFFIX = "ozone-wayland-git"
-OZONE_WAYLAND_GIT_BRANCH = "Milestone-ThanksGiving"
-OZONE_WAYLAND_GIT_SRCREV = "5d7baa9bc3b8c88e9b7e476e3d6bc8cd44a887fe"
-SRC_URI += "${@base_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)}"
-OZONE_WAYLAND_PATCH_FILE_GLOB = "*.patch"
-
-do_unpack[postfuncs] += "${@base_conditional('CHROMIUM_ENABLE_WAYLAND', '1', 'copy_ozone_wayland_files', '', d)}"
-do_patch[prefuncs] += "${@base_conditional('CHROMIUM_ENABLE_WAYLAND', '1', 'add_ozone_wayland_patches', '', d)}"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=537e0b52077bf0a616d0a0c8a79bc9d5"
-SRC_URI[md5sum] = "1f5093bd7e435fdebad070e74bfb3438"
-SRC_URI[sha256sum] = "f72fda9ff1ea256ab911610ee532eadf8303137d431f2481d01d3d60e5e64149"
-
-# Variable for extra ozone-wayland patches, typically extended by BSP layer .bbappends
-# IMPORTANT: do not simply add extra ozone-wayland patches to the SRC_URI in a
-# .bbappend, since the base ozone-wayland patches need to be applied first (see below)
-OZONE_WAYLAND_EXTRA_PATCHES = " \
-        file://chromium-40/0005-Remove-X-libraries-from-GYP-files.patch \
-        file://chromium-40/0010-systemd-218.patch \
-"
-# using 00*.patch to skip the WebRTC patches in ozone-wayland
-# the WebRTC patches remove X11 libraries from the linker flags, which is
-# already done by another patch (see above). Furthermore, to be able to use
-# these patches, it is necessary to update the git repository in third_party/webrtc,
-# which would further complicate this recipe.
-OZONE_WAYLAND_PATCH_FILE_GLOB = "00*.patch"
-
-# Component build is broken in ozone-wayland for Chromium 40,
-# and is not planned to work again before version 41
-python() {
-    if (d.getVar('CHROMIUM_ENABLE_WAYLAND', True) == '1'):
-        if bb.utils.contains('PACKAGECONFIG', 'component-build', True, False, d):
-            bb.fatal("Chromium 40 Wayland version cannot be built in component-mode")
-}
-
-copy_ozone_wayland_files() {
-	# ozone-wayland sources must be placed in an "ozone"
-	# subdirectory in ${S} in order for the .gyp build
-	# scripts to work
-	cp -r ${WORKDIR}/ozone-wayland-git ${S}/ozone
-}
-
-python add_ozone_wayland_patches() {
-    import glob
-    srcdir = d.getVar('S', True)
-    # find all ozone-wayland patches and add them to SRC_URI
-    upstream_patches_dir = srcdir + "/ozone/patches"
-    upstream_patches = glob.glob(upstream_patches_dir + "/" + d.getVar('OZONE_WAYLAND_PATCH_FILE_GLOB', True))
-    upstream_patches.sort()
-    for upstream_patch in upstream_patches:
-        d.appendVar('SRC_URI', ' file://' + upstream_patch)
-    # then, add the extra patches to SRC_URI order matters;
-    # extra patches may depend on the base ozone-wayland ones
-    d.appendVar('SRC_URI', ' ' + d.getVar('OZONE_WAYLAND_EXTRA_PATCHES'))
-}
-
-EXTRA_OEGYP =	" \
-	-Dangle_use_commit_id=0 \
-	-Dclang=0 \
-	-Dhost_clang=0 \
-	-Ddisable_fatal_linker_warnings=1 \
-	${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_binary=0', d)} \
-	${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '', '-Dlinux_use_gold_flags=0', d)} \
-	-I ${WORKDIR}/oe-defaults.gypi \
-	-I ${WORKDIR}/include.gypi \
-	${@bb.utils.contains('PACKAGECONFIG', 'component-build', '-I ${WORKDIR}/component-build.gypi', '', d)} \
-	-f ninja \
-"
-ARMFPABI_armv7a = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'arm_float_abi=hard', 'arm_float_abi=softfp', d)}"
-
-GYP_DEFINES += "${ARMFPABI} release_extra_cflags='-Wno-error=unused-local-typedefs' sysroot=''"
-
-# 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 = "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"
-
-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))
-}
-
-do_configure_append() {
-
-	build/gyp_chromium --depth=. ${EXTRA_OEGYP}
-
-}
-
-do_compile() {
-        # build with ninja
-        ninja -C ${S}/out/${CHROMIUM_BUILD_TYPE} ${PARALLEL_MAKE} chrome chrome_sandbox
-}
-
-
-do_install_append() {
-
-	# Add extra command line arguments to google-chrome script by modifying
-        # the dummy "CHROME_EXTRA_ARGS" line
-        sed -i "s/^CHROME_EXTRA_ARGS=\"\"/CHROME_EXTRA_ARGS=\"${CHROMIUM_EXTRA_ARGS}\"/" ${D}${bindir}/google-chrome
-
-	# Always adding this libdir (not just with component builds), because the
-        # LD_LIBRARY_PATH line in the google-chromium script refers to it
-        install -d ${D}${libdir}/${BPN}/
-        if [ -n "${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'component-build', '', d)}" ]; then
-                install -m 0755 ${B}/out/${CHROMIUM_BUILD_TYPE}/lib/*.so ${D}${libdir}/${BPN}/
-        fi
-}
diff --git a/recipes-browser/chromium/chromium_49.0.2607.0.bb b/recipes-browser/chromium/chromium_49.0.2607.0.bb
index 0b2c8e4..f6b156d 100644
--- a/recipes-browser/chromium/chromium_49.0.2607.0.bb
+++ b/recipes-browser/chromium/chromium_49.0.2607.0.bb
@@ -1,10 +1,9 @@
 # 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 (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!
+#    patches that are shared amongst versions, 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.
@@ -26,17 +25,11 @@ SRC_URI = "\
         ${@bb.utils.contains('PACKAGECONFIG', 'component-build', 'file://component-build.gypi', '', d)} \
         file://google-chrome \
         file://google-chrome.desktop \
-        ${@bb.utils.contains('TARGET_ARCH', 'arm', 'file://0004-Remove-hard-coded-values-for-CC-and-CXX.patch', '', d)} \
+        ${@bb.utils.contains('TARGET_ARCH', 'armv?', 'file://0004-Remove-hard-coded-values-for-CC-and-CXX.patch', '', d)} \
         file://chromium-49/create-file-for-configure.patch \
         file://chromium-49/fix-compile-warnings.patch \
         file://chromium-49/v8-internal-startup-data.patch \
 "
-#        file://unistd-2.patch \
-#        file://chromium-40/fix-build-error-with-GCC-in-Debug-mode.patch \
-#        file://chromium-40/add_missing_stat_h_include.patch \
-#        file://chromium-40/0001-bignum.cc-disable-warning-from-gcc-5.patch \
-#        file://chromium-40/0002-image_util.cc-disable-warning-from-gcc-5.patch
-
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
 SRC_URI[md5sum] = "faf57865c2b0a752d098c071dec369fb"
 SRC_URI[sha256sum] = "edaee01924c15a945c13ae166a40536f57c19d26b4def0c3436230fc43394a07"
-- 
2.7.0.rc3




More information about the Openembedded-devel mailing list