Skip to contentSkip to conversation

chromium: 52.0.2743.76 -> 54.0.2810.2

PATCH In review Trevor Woerner 5 participants 6 messages Apr 3, 2017 – Apr 7, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 chromium: 52.0.2743.76 -> 54.0.2810.2

Tested by building for and running on:
- minnow
- raspi3 (32-bit)
- qemux86
- bbb

On-target testing includes:
- playing a video from youtube[1]
- running (and passing) the octane tests (js)[2]

Verified chromium-wayland still builds.

[1] http://youtube.com
[2] http://chromium.github.io/octane

---
 .../chromium/chromium-wayland_53.0.2785.143.bb     |  2 +-
 .../Remove-hard-coded-values-for-CC-and-CXX.patch  | 42 -----------
 .../chromium/chromium/chromium/m32.patch           | 87 ++++++++++++++++++++++
 ...ium_52.0.2743.76.bb => chromium_54.0.2810.2.bb} |  7 +-
 ...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 11 ++-
 recipes-browser/chromium/files/i586/x86-m32.patch  | 42 -----------
 6 files changed, 96 insertions(+), 95 deletions(-)
 delete mode 100644 recipes-browser/chromium/chromium/chromium-wayland/Remove-hard-coded-values-for-CC-and-CXX.patch
 create mode 100644 recipes-browser/chromium/chromium/chromium/m32.patch
 rename recipes-browser/chromium/{chromium_52.0.2743.76.bb => chromium_54.0.2810.2.bb} (85%)
 delete mode 100644 recipes-browser/chromium/files/i586/x86-m32.patch
recipes-browser/chromium/chromium-wayland_53.0.2785.143.bb +1 -1
index ef913a7..ab52bc2 100644
@@ -6,9 +6,9 @@ DEPENDS += "wayland libxkbcommon"
 
 SRC_URI += "\
         file://chromium-wayland/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-wayland/Remove-hard-coded-values-for-CC-and-CXX.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 \
recipes-browser/chromium/chromium/chromium-wayland/Remove-hard-coded-values-for-CC-and-CXX.patch deleted +0 -42

42 lines not on this page · raw message

recipes-browser/chromium/chromium/chromium/m32.patch new file +87 -0

87 lines not on this page · raw message

recipes-browser/chromium/chromium_54.0.2810.2.bb renamed from recipes-browser/chromium/chromium_52.0.2743.76.bb +3 -4
similarity index 85%
rename from recipes-browser/chromium/chromium_52.0.2743.76.bb
rename to recipes-browser/chromium/chromium_54.0.2810.2.bb
index 613f6ca..9efd88a 100644
@@ -15,13 +15,12 @@ SRC_URI += "\
         file://chromium/Do-not-depend-on-Linux-4.5.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)} \
+        file://chromium/m32.patch \
 "
 
-SRC_URI_append_i586 = "file://x86-m32.patch"
-
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
-SRC_URI[md5sum] = "0fee71466e1f2dc39ed4549d04b58ee2"
-SRC_URI[sha256sum] = "c54cdc11c3324152f3d5be98dcb4eae2bda0fc9dac7dd5f9010150458d68c18c"
+SRC_URI[md5sum] = "3f596ecbd6a39d5ada29f11780ec6dcf"
+SRC_URI[sha256sum] = "f038e72cbd8b7383d13c286329623fda8d6d48f45fa2d964e554b5565283ad71"
 
 # X11 must be available for this flavor of Chromium
 python() {
recipes-browser/chromium/files/0003-Remove-hard-coded-values-for-CC-and-CXX.patch +5 -6
index 7bc8d14..63de68a 100644
@@ -21,7 +21,7 @@ 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 @@
+@@ -6027,16 +6027,6 @@
          ['CXX.host', '<(host_cxx)'],
        ],
      }],
@@ -35,9 +35,8 @@ index 7ec5ae2..11e8d1d 100644
 -        ['CXX.host', '<(host_cxx)'],
 -      ],
 -    }],
-     # TODO(yyanagisawa): supports GENERATOR==make
-     #  make generator doesn't support CC_wrapper without CC
-     #  in make_global_settings yet.
+     ['use_goma==1', {
+       'make_global_settings': [
+        ['CC_wrapper', '<(gomadir)/gomacc'],
 -- 
-1.9.1
-
+2.1.4
recipes-browser/chromium/files/i586/x86-m32.patch deleted +0 -42

42 lines not on this page · raw message

Signature · 1 line
2.12.0.rc1.48.g076c053
#1 lore raw

In my world build it (surprisingly) didn't fail, good job Trevor!

Are you willing to check 2 QA issues which might be there in older version as well?

chromium-54.0.2810.2: ELF binary '/tmp/work/i586-oe-linux/chromium/54.0.2810.2-r0/packages-split/chromium/usr/bin/chromium/chrome' has relocations in .text [textrel]
chromium-wayland-53.0.2785.143: ELF binary '/tmp/work/i586-oe-linux/chromium-wayland/53.0.2785.143-r0/packages-split/chromium-wayland/usr/bin/chromium/chrome' has relocations in .text [textrel]

Quoted 335 lines · Trevor Woerner

Tested by building for and running on:
- minnow
- raspi3 (32-bit)
- qemux86
- bbb

On-target testing includes:
- playing a video from youtube[1]
- running (and passing) the octane tests (js)[2]

Verified chromium-wayland still builds.

[1] http://youtube.com
[2] http://chromium.github.io/octane

---
 .../chromium/chromium-wayland_53.0.2785.143.bb     |  2 +-
 .../Remove-hard-coded-values-for-CC-and-CXX.patch  | 42 -----------
 .../chromium/chromium/chromium/m32.patch           | 87
++++++++++++++++++++++
 ...ium_52.0.2743.76.bb => chromium_54.0.2810.2.bb} |  7 +-
 ...3-Remove-hard-coded-values-for-CC-and-CXX.patch | 11 ++-
 recipes-browser/chromium/files/i586/x86-m32.patch  | 42 -----------
 6 files changed, 96 insertions(+), 95 deletions(-)
 delete mode 100644 recipes-browser/chromium/chromium/chromium-wayland/
Remove-hard-coded-values-for-CC-and-CXX.patch
 create mode 100644 recipes-browser/chromium/chromium/chromium/m32.patch
 rename recipes-browser/chromium/{chromium_52.0.2743.76.bb =>
chromium_54.0.2810.2.bb} (85%)
 delete mode 100644 recipes-browser/chromium/files/i586/x86-m32.patch
recipes-browser/chromium/chromium-wayland_53.0.2785.143.bb +1 -1
index ef913a7..ab52bc2 100644
@@ -6,9 +6,9 @@ DEPENDS += "wayland libxkbcommon"
 
 SRC_URI += "\
         file://chromium-wayland/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-wayland/Remove-hard-coded-values-for-CC-and-CXX.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 \
(quoted diff) +0 -0

Remove-hard-coded-values-for-CC-and-CXX.patch b/recipes-browser/chromium/ chromium/chromium-wayland/Remove-hard-coded-values-for-CC-and-CXX.patch deleted file mode 100644
index 63de68a..0000000
--- a/recipes-browser/chromium/chromium/chromium-wayland/ Remove-hard-coded-values-for-CC-and-CXX.patch
+++ /dev/null

recipes-browser/chromium/chromium-wayland_53.0.2785.143.bb +0 -28
@@ -1,42 +0,0 @@
-From 518135b0cd6878e91e5fcf489f3185740ec307c0 Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <[email protected]>
-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 <[email protected]>
----
- 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
-@@ -6027,16 +6027,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)'],

-- ],
-- }],

recipes-browser/chromium/chromium-wayland_53.0.2785.143.bb +0 -5
-     ['use_goma==1', {
-       'make_global_settings': [
-        ['CC_wrapper', '<(gomadir)/gomacc'],
---
-2.1.4
recipes-browser/chromium/chromium/chromium/m32.patch new file +1 -0
new file mode 100644
index 0000000..2911cfa
@@ -0,0 +1,87 @@
+diff -ur chromium-54.0.2810.2__ORIG/build/common.gypi

chromium-54.0.2810.2/build/common.gypi
+--- chromium-54.0.2810.2__ORIG/build/common.gypi 2017-03-30
10:05:27.017866621 -0400
++++ chromium-54.0.2810.2/build/common.gypi 2017-03-30
12:33:15.012788454 -0400
+@@ -3820,10 +3820,6 @@

recipes-browser/chromium/chromium/chromium/m32.patch new file +11 -0
+                   '-msse2',
+                   '-mfpmath=sse',
+                   '-mmmx',  # Allows mmintrin.h for MMX intrinsics.
+-                  '-m32',
+-                ],
+-                'ldflags': [
+-                  '-m32',
+                 ],
+                 'conditions': [
+                   # Use gold linker for Android ia32 target.
+diff -ur chromium-54.0.2810.2__ORIG/build/config/compiler/BUILD.gn

chromium-54.0.2810.2/build/config/compiler/BUILD.gn +--- chromium-54.0.2810.2__ORIG/build/config/compiler/BUILD.gn

2017-03-30 10:05:27.017866621 -0400
++++ chromium-54.0.2810.2/build/config/compiler/BUILD.gn
2017-03-30 12:33:15.012788454 -0400

+@@ -508,8 +508,6 @@

recipes-browser/chromium/chromium/chromium/m32.patch new file +9 -0
+       ]
+       ldflags += [ "-m64" ]
+     } else if (current_cpu == "x86") {
+-      cflags += [ "-m32" ]
+-      ldflags += [ "-m32" ]
+       if (!is_nacl) {
+         cflags += [
+           "-msse2",
+diff -ur chromium-54.0.2810.2__ORIG/third_party/icu/icu.gyp

chromium-54.0.2810.2/third_party/icu/icu.gyp
+--- chromium-54.0.2810.2__ORIG/third_party/icu/icu.gyp 2016-07-28 18:17:07.000000000 -0400
++++ chromium-54.0.2810.2/third_party/icu/icu.gyp 2017-03-30
12:33:15.012788454 -0400
+@@ -48,9 +48,6 @@

recipes-browser/chromium/chromium/chromium/m32.patch new file +10 -0
+          target_arch=="mipsel")', {
+         'target_conditions': [
+           ['_toolset=="host"', {
+-            'cflags': [ '-m32' ],
+-            'ldflags': [ '-m32' ],
+-            'asflags': [ '-32' ],
+             'xcode_settings': {
+               'ARCHS': [ 'i386' ],
+             },
+diff -ur chromium-54.0.2810.2__ORIG/v8/gypfiles/toolchain.gypi

chromium-54.0.2810.2/v8/gypfiles/toolchain.gypi +--- chromium-54.0.2810.2__ORIG/v8/gypfiles/toolchain.gypi

2017-03-30 10:05:27.017866621 -0400

++++ chromium-54.0.2810.2/v8/gypfiles/toolchain.gypi 2017-03-30
12:33:15.012788454 -0400
+@@ -1028,9 +1028,6 @@

recipes-browser/chromium/chromium/chromium/m32.patch new file +20 -0
+                   ['host_arch=="s390" or host_arch=="s390x"', {
+                     'cflags': [ '-m31' ],
+                     'ldflags': [ '-m31' ]
+-                  },{
+-                   'cflags': [ '-m32' ],
+-                   'ldflags': [ '-m32' ]
+                   }],
+                 ],
+               }],
+@@ -1046,9 +1043,6 @@
+                   ['host_arch=="s390" or host_arch=="s390x"', {
+                     'cflags': [ '-m31' ],
+                     'ldflags': [ '-m31' ]
+-                  },{
+-                   'cflags': [ '-m32' ],
+-                   'ldflags': [ '-m32' ],
+                   }],
+                 ],
+               }],
+--- chromium-54.0.2810.2__ORIG/v8/src/base/build_config.h
2017-03-30 18:56:01.370627233 -0400

++++ chromium-54.0.2810.2/v8/src/base/build_config.h 2017-03-30
20:03:51.563265532 -0400
+@@ -126,9 +126,6 @@
+ #endif

recipes-browser/chromium/chromium/chromium/m32.patch new file +9 -0
+
+ // Check for supported combinations of host and target architectures.
+-#if V8_TARGET_ARCH_IA32 && !V8_HOST_ARCH_IA32
+-#error Target architecture ia32 is only supported on ia32 host
+-#endif
+ #if (V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_64_BIT && \
+      !(V8_HOST_ARCH_X64 && V8_HOST_ARCH_64_BIT))
+ #error Target architecture x64 is only supported on x64 host
+diff -ur chromium-54.0.2810.2__ORIG/v8/src/base/build_config.h

chromium-54.0.2810.2/v8/src/base/build_config.h +--- chromium-54.0.2810.2__ORIG/v8/src/base/build_config.h

2016-07-28 18:17:37.000000000 -0400

++++ chromium-54.0.2810.2/v8/src/base/build_config.h 2017-03-30
12:39:19.929620843 -0400
+@@ -137,9 +137,6 @@
+ !(V8_HOST_ARCH_X64 && V8_HOST_ARCH_32_BIT))
+ #error Target architecture x32 is only supported on x64 host with x32 support
+ #endif

+-#if (V8_TARGET_ARCH_ARM && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_ARM))
+-#error Target architecture arm is only supported on arm and ia32 host
+-#endif
+ #if (V8_TARGET_ARCH_ARM64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_ARM64))

+ #error Target architecture arm64 is only supported on arm64 and x64 host
+ #endif

recipes-browser/chromium/chromium_54.0.2810.2.bb renamed from recipes-browser/chromium/chromium_52.0.2743.76.bb +1 -4
similarity index 85%
rename from recipes-browser/chromium/chromium_52.0.2743.76.bb
rename to recipes-browser/chromium/chromium_54.0.2810.2.bb
index 613f6ca..9efd88a 100644
@@ -15,13 +15,12 @@ SRC_URI += "\
         file://chromium/Do-not-depend-on-Linux-4.5.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)} \
+        file://chromium/m32.patch \
 "
 
-SRC_URI_append_i586 = "file://x86-m32.patch"
-
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
-SRC_URI[md5sum] = "0fee71466e1f2dc39ed4549d04b58ee2"
-SRC_URI[sha256sum] = "c54cdc11c3324152f3d5be98dcb4ea

e2bda0fc9dac7dd5f9010150458d68c18c"

recipes-browser/chromium/chromium_54.0.2810.2.bb renamed from recipes-browser/chromium/chromium_52.0.2743.76.bb +2 -0
+SRC_URI[md5sum] = "3f596ecbd6a39d5ada29f11780ec6dcf"
+SRC_URI[sha256sum] = "f038e72cbd8b7383d13c286329623f

da8d6d48f45fa2d964e554b5565283ad71"

# X11 must be available for this flavor of Chromium python() {

recipes-browser/chromium/files/0003-Remove-hard-coded- renamed from recipes-browser/chromium/files/0003-Remove-hard-coded-values-for-CC-and-CXX.patch +0 -0

values-for-CC-and-CXX.patch
index 7bc8d14..63de68a 100644
--- a/recipes-browser/chromium/files/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

recipes-browser/chromium/files/0003-Remove-hard-coded- renamed from recipes-browser/chromium/files/0003-Remove-hard-coded-values-for-CC-and-CXX.patch +5 -6
@@ -21,7 +21,7 @@ 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 @@
+@@ -6027,16 +6027,6 @@
          ['CXX.host', '<(host_cxx)'],
        ],
      }],
@@ -35,9 +35,8 @@ index 7ec5ae2..11e8d1d 100644
 -        ['CXX.host', '<(host_cxx)'],
 -      ],
 -    }],
-     # TODO(yyanagisawa): supports GENERATOR==make
-     #  make generator doesn't support CC_wrapper without CC
-     #  in make_global_settings yet.
+     ['use_goma==1', {
+       'make_global_settings': [
+        ['CC_wrapper', '<(gomadir)/gomacc'],
 --
-1.9.1
-
+2.1.4
recipes-browser/chromium/files/i586/x86-m32.patch deleted +0 -43
deleted file mode 100644
index be08071..0000000
@@ -1,42 +0,0 @@
-Index: chromium-52.0.2743.76/build/common.gypi
-===================================================================
---- chromium-52.0.2743.76.orig/build/common.gypi
-+++ chromium-52.0.2743.76/build/common.gypi
-@@ -3849,10 +3849,6 @@
-                   '-msse2',
-                   '-mfpmath=sse',
-                   '-mmmx',  # Allows mmintrin.h for MMX intrinsics.
--                  '-m32',
--                ],
--                'ldflags': [
--                  '-m32',
-                 ],
-                 'conditions': [
-                   # Use gold linker for Android ia32 target.
-Index: chromium-52.0.2743.76/build/config/compiler/BUILD.gn
-===================================================================
---- chromium-52.0.2743.76.orig/build/config/compiler/BUILD.gn
-+++ chromium-52.0.2743.76/build/config/compiler/BUILD.gn
-@@ -502,8 +502,6 @@ config("compiler_cpu_abi") {
-       ]
-       ldflags += [ "-m64" ]
-     } else if (current_cpu == "x86") {
--      cflags += [ "-m32" ]
--      ldflags += [ "-m32" ]
-       if (!is_nacl) {
-         cflags += [
-           "-msse2",
-Index: chromium-52.0.2743.76/third_party/icu/icu.gyp
-===================================================================
---- chromium-52.0.2743.76.orig/third_party/icu/icu.gyp
-+++ chromium-52.0.2743.76/third_party/icu/icu.gyp
-@@ -48,9 +48,6 @@
-          target_arch=="mipsel")', {
-         'target_conditions': [
-           ['_toolset=="host"', {
--            'cflags': [ '-m32' ],
--            'ldflags': [ '-m32' ],
--            'asflags': [ '-32' ],
-             'xcode_settings': {
-               'ARCHS': [ 'i386' ],
-             },
--

2.12.0.rc1.48.g076c053

--
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

#2 lore raw
Quoted 1 line · Martin Jansa

In my world build it (surprisingly) didn't fail, good job Trevor!

Sadly, it does fail with one specific PACKAGECONFIG: ignore-lost-context

I have a fix which I've build-tested both for x11 and wayland with a bunch of different targets, which is just waiting for run-testing:
https://github.com/twoerner/meta-browser/tree/contrib/twoerner/chromium_54_pkgconfig_fix

Quoted 9 lines

Are you willing to check 2 QA issues which might be there in older version as well?

chromium-54.0.2810.2: ELF binary '/tmp/work/i586-oe-linux/chromium/54.0.2810.2-r0/packages-split/chromium/usr/bin/chromium/chrome' has relocations in .text [textrel]
chromium-wayland-53.0.2785.143: ELF binary '/tmp/work/i586-oe-linux/chromium-wayland/53.0.2785.143-r0/packages-split/chromium-wayland/usr/bin/chromium/chrome' has relocations in .text [textrel]

Yes, I'll have a look.

Currently I'm trying to figure out how to move past this version. After 53.0.2810.2 the current method OE uses to build chromium starts to fail because (as is my understanding) it was around this point that the chromium build switched from gyp+ninja (what we're using in OE) to gn+ninja (ninja is like "make" and gyp/gn are like the autotools) Therefore the gyp support starts to break down due to lack of upstream maintainership. I'm starting to be able to do successful chromium builds from tarballs on the cmdline (outside of OE) up to 57.0.2987.133 but I need to figure out how to translate that into a recipe.

Oh, and it'd be nice to have an aarch64 build too.

#3 lore raw

Hi Trevor,

Quoted 21 lines · Trevor Woerner
Quoted 1 line · Martin Jansa

In my world build it (surprisingly) didn't fail, good job Trevor!

Sadly, it does fail with one specific PACKAGECONFIG: ignore-lost-context

I have a fix which I've build-tested both for x11 and wayland with a bunch of different targets, which is just waiting for run-testing:
https://github.com/twoerner/meta-browser/tree/contrib/twoerner/chromium_54_pkgconfig_fix

Quoted 9 lines

Are you willing to check 2 QA issues which might be there in older version as well?

chromium-54.0.2810.2: ELF binary '/tmp/work/i586-oe-linux/chromium/54.0.2810.2-r0/packages-split/chromium/usr/bin/chromium/chrome' has relocations in .text [textrel]
chromium-wayland-53.0.2785.143: ELF binary '/tmp/work/i586-oe-linux/chromium-wayland/53.0.2785.143-r0/packages-split/chromium-wayland/usr/bin/chromium/chrome' has relocations in .text [textrel]

Yes, I'll have a look.

Quoted 10 lines

Currently I'm trying to figure out how to move past this version. After 53.0.2810.2 the current method OE uses to build chromium starts to fail because (as is my understanding) it was around this point that the chromium build switched from gyp+ninja (what we're using in OE) to gn+ninja (ninja is like "make" and gyp/gn are like the autotools) Therefore the gyp support starts to break down due to lack of upstream maintainership. I'm starting to be able to do successful chromium builds from tarballs on the cmdline (outside of OE) up to 57.0.2987.133 but I need to figure out how to translate that into a recipe.

I think Zoltan looked into it at some point but I can't remember what was the outcome...

Quoted 1 line

Oh, and it'd be nice to have an aarch64 build too.

Andrey in CC is looking at submitting the changes needed to get Aarch64 added.

Cheers,
Fathi

#4 lore raw

Hi,

Quoted 35 lines · Fathi Boudra

Hi Trevor,

Quoted 21 lines · Trevor Woerner
Quoted 1 line · Martin Jansa

In my world build it (surprisingly) didn't fail, good job Trevor!

Sadly, it does fail with one specific PACKAGECONFIG: ignore-lost-context

I have a fix which I've build-tested both for x11 and wayland with a bunch of different targets, which is just waiting for run-testing:
https://github.com/twoerner/meta-browser/tree/contrib/twoerner/chromium_54_pkgconfig_fix

Quoted 9 lines

Are you willing to check 2 QA issues which might be there in older version as well?

chromium-54.0.2810.2: ELF binary '/tmp/work/i586-oe-linux/chromium/54.0.2810.2-r0/packages-split/chromium/usr/bin/chromium/chrome' has relocations in .text [textrel]
chromium-wayland-53.0.2785.143: ELF binary '/tmp/work/i586-oe-linux/chromium-wayland/53.0.2785.143-r0/packages-split/chromium-wayland/usr/bin/chromium/chrome' has relocations in .text [textrel]

Yes, I'll have a look.

Quoted 10 lines

Currently I'm trying to figure out how to move past this version. After 53.0.2810.2 the current method OE uses to build chromium starts to fail because (as is my understanding) it was around this point that the chromium build switched from gyp+ninja (what we're using in OE) to gn+ninja (ninja is like "make" and gyp/gn are like the autotools) Therefore the gyp support starts to break down due to lack of upstream maintainership. I'm starting to be able to do successful chromium builds from tarballs on the cmdline (outside of OE) up to 57.0.2987.133 but I need to figure out how to translate that into a recipe.

Quoted 6 lines

I think Zoltan looked into it at some point but I can't remember what was the outcome...

Quoted 1 line

Oh, and it'd be nice to have an aarch64 build too.

Andrey in CC is looking at submitting the changes needed to get Aarch64 added.

To my surprise just enabling aarch64 in the current chromium recipes was enough to get the browser running (tried playing some videos from youtube and the horse example from threejs.org [1]).
After checking the chromium sources, it looks like at least some of the aarch64 fixes mentioned in [2] are present in the 53 and 54 versions used in meta-browser.

I'll post my aarch64 patch to the list shortly.

Thanks,
Andrey

[1] http://threejs.org/examples/#webgl_morphtargets_horse
[2] https://bugs.chromium.org/p/chromium/issues/detail?id=613452

#5 lore raw
In reply to Trevor Woerner

Hi Trevor,

Quoted 12 lines · Trevor Woerner

...
Currently I'm trying to figure out how to move past this version. After 53.0.2810.2 the current method OE uses to build chromium starts to fail because (as is my understanding) it was around this point that the chromium build switched from gyp+ninja (what we're using in OE) to gn+ninja (ninja is like "make" and gyp/gn are like the autotools) Therefore the gyp support starts to break down due to lack of upstream maintainership. I'm starting to be able to do successful chromium builds from tarballs on the cmdline (outside of OE) up to 57.0.2987.133 but I need to figure out how to translate that into a recipe.

Some colleagues here have modified the recipe to build Chromium up to version 57 using the new GN build system, targeting R-Car Gen.3 boards. Unfortunately, the solution would still need a lot of cleanup before being able to submit it.

Still, if you want to take a look and use it as an example, even reuse parts of it in your own patch, feel free to do it.

Layer is here: https://github.com/Igalia/meta-browser

Best,

Signature · 2 lines
Jacobo Aragunde
Software Engineer at Igalia