Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kirkstone: backport chromium from scarthgap #843

Conversation

adalessandro
Copy link
Contributor

@adalessandro adalessandro commented Oct 23, 2024

    Merge branch 'scarthgap' into kirkstone
    
    * Backports chromium 131.0.6778.139 to kirkstone.
    
    This relies on the recently added layer branches to satisfy the required
    dependencies:
    
    * Rust: meta-lts-mixins' kirkstone/rust-1.75 branch.
    * Clang: meta-clang's `kirkstone-clang18` branch.

Links:

MaxIhlenfeldt and others added 24 commits March 20, 2024 13:04
Release notes:
    https://chromereleases.googleblog.com/2024/01/stable-channel-update-for-desktop_23.html
    https://chromereleases.googleblog.com/2024/01/stable-channel-update-for-desktop_30.html
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_13.html

Build and patch changes:
------------------------

Drop five backported patches that are included upstream now, and add
three new backports.

Drop arm/0002-Fix-ARM-build-with-recent-glibc.patch as
https://crrev.com/c/5035139 includes an equivalent patch.

Add 0019-Don-t-require-profiler_builtins.rlib.patch to fix a build error
when using OE master.

Rebase and renumber remaining patches.

License changes:
----------------

Added licenses:
  * third_party/lit/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5046161

Removed licenses:
  * base/third_party/xdg_mime/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/4996430

  * native_client/LICENSE
  - not sure which change caused this, but we don't use NativeClient anyways

Updated licenses:
  * third_party/libxml/src/Copyright
  - https://chromium-review.googlesource.com/c/chromium/src/+/4985186

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,   MACHINE=qemuarm, qemux86-64
 - nanbield, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,   MACHINE=qemuarm, qemuarm64, qemux86-64
 - nanbield, clang, MACHINE=qemuarm, qemuarm64, qemux86-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
- Remove dunfell-specific notes now that dunfell is unsupported.
- Link to chromiumdash.appspot.com, as OmahaProxy has been retired.

Signed-off-by: Raphael Kubo da Costa <[email protected]>
Given that we have decided not to support kirkstone until it uses a more
recent version of clang, we can now drop all patches that are only
needed to fix errors with clang < 17 (as nanbield uses clang 17).

This also updates LAYERSERIES_COMPAT, dropping kirkstone, as well as the
EOL'd mickledore and langdale.

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#795.

Release notes:
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_20.html
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_22.html
    https://chromereleases.googleblog.com/2024/02/stable-channel-update-for-desktop_27.html
    https://chromereleases.googleblog.com/2024/03/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/03/stable-channel-update-for-desktop_12.html

Build and patch changes:
------------------------

Drop six backported patches that are included upstream now.

Drop arm/0002-Fix-static_assert-failed-build-error-on-32-bit-ARM.patch
as it was only needed to fix a build error with clang < 17, which we
don't support any more.

Rebase remaining patches and renumber remaining ARM patches.

License changes:
----------------

Added licenses:
  * third_party/coremltools/mlmodel/format/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5108678

  * third_party/node/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5136956

  * third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/etc_decoder/LICENSE,
  third_party/angle/src/third_party/libXNVCtrl/LICENSE,
  third_party/angle/src/third_party/volk/LICENSE.md,
  third_party/angle/third_party/android_system_sdk/LICENSE,
  third_party/angle/third_party/flatbuffers/LICENSE,
  third_party/catapult/experimental/trace_on_tap/third_party/pako/LICENSE,
  third_party/catapult/third_party/Paste/docs/license.txt,
  third_party/catapult/third_party/WebOb/docs/license.txt,
  third_party/catapult/third_party/apiclient/LICENSE,
  third_party/catapult/third_party/cachetools/LICENSE,
  third_party/catapult/third_party/chardet/LICENSE,
  third_party/catapult/third_party/cloudstorage/COPYING,
  third_party/catapult/third_party/coverage/LICENSE.txt,
  third_party/catapult/third_party/flot/LICENSE.txt,
  third_party/catapult/third_party/google-auth/LICENSE,
  third_party/catapult/third_party/gsutil/LICENSE,
  third_party/catapult/third_party/html5lib-python/LICENSE,
  third_party/catapult/third_party/httplib2/LICENSE,
  third_party/catapult/third_party/ijson/LICENSE.txt,
  third_party/catapult/third_party/oauth2client/LICENSE,
  third_party/catapult/third_party/polymer/LICENSE.polymer,
  third_party/catapult/third_party/polymer2/LICENSE.polymer,
  third_party/catapult/third_party/polymer3/LICENSE.polymer,
  third_party/catapult/third_party/pyfakefs/COPYING,
  third_party/catapult/third_party/pyparsing/LICENSE,
  third_party/catapult/third_party/python_gflags/COPYING,
  third_party/catapult/third_party/redux/LICENSE.md,
  third_party/catapult/third_party/requests_toolbelt/LICENSE,
  third_party/catapult/third_party/six/LICENSE,
  third_party/catapult/third_party/typ/LICENSE,
  third_party/catapult/third_party/vinn/third_party/v8/LICENSE,
  third_party/catapult/third_party/vinn/third_party/v8/LICENSE.strongtalk,
  third_party/catapult/third_party/vinn/third_party/v8/LICENSE.v8,
  third_party/catapult/third_party/vinn/third_party/v8/LICENSE.valgrind,
  third_party/catapult/third_party/webapp2/LICENSE,
  third_party/catapult/tracing/third_party/jpeg-js/LICENSE,
  third_party/catapult/tracing/third_party/oboe/LICENCE,
  third_party/catapult/tracing/third_party/pako/LICENSE,
  third_party/chromevox/third_party/closure-library/LICENSE,
  third_party/chromevox/third_party/sre/LICENSE,
  third_party/crashpad/crashpad/third_party/getopt/LICENSE,
  third_party/crashpad/crashpad/third_party/xnu/APPLE_LICENSE,
  third_party/dawn/third_party/khronos/LICENSE,
  third_party/devtools-frontend/src/front_end/third_party/axe-core/LICENSE,
  third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/LICENSE,
  third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data/package/LICENSE.md,
  third_party/google_input_tools/third_party/closure_library/LICENSE,
  third_party/openscreen/src/third_party/protobuf/LICENSE,
  third_party/openscreen/src/third_party/tinycbor/src/LICENSE,
  third_party/openscreen/src/third_party/zlib/LICENSE,
  third_party/pdfium/third_party/fp16/LICENSE,
  third_party/pdfium/third_party/freetype/FTL.TXT,
  third_party/screen-ai/LICENSE,
  third_party/selenium-atoms/LICENSE.closure,
  third_party/selenium-atoms/LICENSE.sizzle,
  third_party/selenium-atoms/LICENSE.wgxpath,
  third_party/swiftshader/third_party/SPIRV-Headers/LICENSE,
  third_party/swiftshader/third_party/SPIRV-Tools/LICENSE,
  third_party/webrtc/common_audio/third_party/ooura/LICENSE,
  third_party/webrtc/common_audio/third_party/spl_sqrt_floor/LICENSE,
  third_party/webrtc/modules/third_party/portaudio/LICENSE,
  third_party/webrtc/rtc_base/third_party/sigslot/LICENSE,
  - https://chromium-review.googlesource.com/c/chromium/src/+/5061468

Removed licenses:
  * third_party/gvr-android-sdk/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5128757

  * third_party/nasm/LICENSE
  - Removed due to being marked as not shipped.

Updated licenses:
  * chrome/installer/mac/third_party/xz/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5289735

  * third_party/libxml/src/Copyright
  - https://chromium-review.googlesource.com/c/chromium/src/+/5140988

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,   MACHINE=qemux86-64, raspberrypi4-64
 - nanbield, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,   MACHINE=qemuarm, qemuarm64, qemux86-64
 - nanbield, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Build and patch changes:
------------------------

Add one backported patch to fix a build error on Yocto master.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-x11:
 - master, clang, MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
…stems#810)

Build and patch changes:
------------------------

Replace all usages off `RECIPE_SYSROOT` and `RECIPE_SYSROOT_NATIVE` with
the respective matching `STAGING_*` variables to ensure compatibility
with all build setups.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-wayland:
 - nanbield, clang, MACHINE=qemuarm64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#811.

Build and patch changes:
------------------------

Add one backported patch to fix a build race condition that would
sometimes lead to build errors.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-wayland:
 - nanbield, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,   MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
chromium: Depend on libstd-rs instead of rust

Fixes OSSystems#792.

Build and patch changes:
------------------------

In OSSystems#782, we decided to depend on rust instead of libstd-rs, because the
latter didn't include libprofiler_builtins and also used a naming scheme
that trips up Chromium.

However, in OSSystems#791 we decided to patch Chromium so that it doesn't need
libprofiler_builtins any more, because the master version of the rust
recipe also doesn't include it.

Finally, while investigating OSSystems#792 it turned out that our approach breaks
as soon as we have something that depends on libstd-rs in our dependency
graph. In that scenario, both libstd-rs and rust (the latter due to our
bbappend file) install Rust libraries to /usr/lib/rustlib. This first
leads to Chromium build system errors (due to libstd-rs's naming
scheme), and after fixing these to Rust compiler errors due to multiple
versions being present.

The conclusion is now that we can depend on libstd-rs we should do so.
This only requires a small change to Chromium's Rust build scripts to
adapt them to the slightly different naming scheme.

Also, while we're already reworking our Rust setup, we can remove the
remaining part of our bbappend for the rust recipe and instead inherit
the `rust-common` class, thereby inheriting `rust-target-config` (which
needs stuff from `rust-common`). This means we get the `target.json`
files the Rust compiler needs installed in the directory pointed to by
the `RUST_TARGET_PATH` environment variable.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-wayland:
 - nanbield, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,   MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
…ems#814)

Fixes OSSystems#794.

Build and patch changes:
------------------------

We previously created a symlink pointing to the subdirectory of the
latest version under $STAGING_LIBDIR_NATIVE/clang, and then copied the
libclang_rt.builtins library from $STAGING_LIBDIR/clang to the same
directory as the native library. This is necessary because we need to
point Chromium to a single clang directory for building both native and
target code, and we need its path to be independent of the specific
clang version used.

However, the chosen approach leads to an error when doing a build,
updating meta-clang to a revision containing a new version of clang, and
then doing an incremental build.

This commit replaces the previous approach with a more safe one that
does a full copy of the $STAGING_LIBDIR_NATIVE/clang subdirectory that
we want to point Chromium to, and then copies the libclang_rt.builtins
library for the target architecture to this copied directory.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-x11:
 - master, clang, MACHINE=qemuarm64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#796.

Note that this PR drops support for Nanbield (which is scheduled to
reach its EOL this month anyway), see the discussion at OSSystems#796 for why.

Release notes:
    https://chromereleases.googleblog.com/2024/03/stable-channel-update-for-desktop_19.html
    https://chromereleases.googleblog.com/2024/03/stable-channel-update-for-desktop_26.html
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop_10.html

Build and patch changes:
------------------------

Drop one backported patch that is included upstream now.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_tflite_impl/LICENSE,
    third_party/android_deps/libs/com_google_android_gms_play_services_tflite_java/LICENSE,
    third_party/android_deps/libs/org_tensorflow_tensorflow_lite_api/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5288046

  * third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_android_extensions_runtime/LICENSE,
    third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_parcelize_runtime/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5260026

  * third_party/android_deps/libs/org_jetbrains_kotlinx_atomicfu_jvm/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5237443

Removed licenses:
  * third_party/catapult/third_party/Paste/docs/license.txt
  - https://chromium-review.googlesource.com/c/catapult/+/5288589

  * third_party/screen-ai/LICENSE
  - Not sure why.

Updated licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_base/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5288046

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Cherry-pick of OSSystems#815.

Build and patch changes:
------------------------

Add one backported patch to fix a build race condition that would
sometimes lead to build errors.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-x11:
 - scarthgap, clang, MACHINE=qemux86-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Co-authored-by: Daniel Semkowicz <[email protected]>
Fixes OSSystems#817.

Release notes:
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop_16.html
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop_24.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/04/stable-channel-update-for-desktop_30.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_7.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_9.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_13.html

Build and patch changes:
------------------------

Rebase patches.

License changes:
----------------

Added licenses:
  * third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/mitt/LICENSE,
    third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/rxjs/LICENSE
  - https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5349136

  * third_party/protobuf-javascript/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5365789

Removed licenses:
  * third_party/catapult/third_party/WebOb/docs/license.txt
  - https://chromium-review.googlesource.com/c/catapult/+/5324206

  * v8/LICENSE.fdlibm, v8/LICENSE.strongtalk
  - Most likely wrongly removed due to https://crrev.com/c/5375144. See
    https://crbug.com/342197912.

Updated licenses:
  * third_party/ffmpeg/CREDITS.chromium
  - https://chromium-review.googlesource.com/c/chromium/third_party/ffmpeg/+/5315059

  * third_party/selenium-atoms/LICENSE.sizzle
  - https://chromium-review.googlesource.com/c/chromium/src/+/5339957

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#818.

Release notes:
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_15.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_21.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_23.html
    https://chromereleases.googleblog.com/2024/05/stable-channel-update-for-desktop_30.html

Build and patch changes:
------------------------

Drop one backported patch that is included in upstream now.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/bidimapper/licenses/LICENSE.mitt,
    third_party/bidimapper/licenses/LICENSE.urlpattern_polyfill,
    third_party/bidimapper/licenses/LICENSE.zod
  - https://chromium-review.googlesource.com/c/chromium/src/+/5374914

  * third_party/lens_server_proto/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5394109

Removed licenses:
  * third_party/selenium-atoms/LICENSE.closure
  - https://chromium-review.googlesource.com/c/chromium/src/+/5424804

Updated licenses:
  * third_party/icu/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/deps/icu/+/5397901

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Build and patch changes:
------------------------

`arm/0001-BUILD-do-not-specify-march-on-arm.patch` depends on
`0001-Remove-the-GN-settings-done-for-clang-that-conflict-.patch` (i.e.
it fails to apply on its own), which is confusing and makes rebasing on
new upstream releases harder.

This merges the two patches into a single one.

License changes:
----------------

Added licenses: none.

Removed licenses: none.

Updated licenses: none.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#823.

Release notes:
    https://chromereleases.googleblog.com/2024/06/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/06/stable-channel-update-for-desktop_13.html
    https://chromereleases.googleblog.com/2024/06/stable-channel-update-for-desktop_18.html
    https://chromereleases.googleblog.com/2024/06/stable-channel-update-for-desktop_24.html

Build and patch changes:
------------------------

Drop two backported patches that are included in upstream now.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/crabbyavif/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5458147

Removed licenses:
  * base/third_party/dynamic_annotations/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/2544607

  * third_party/android_deps/libs/com_google_android_gms_play_services_places_placereport/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5515920

  * third_party/android_deps/libs/com_google_android_gms_play_services_tflite_impl/LICENSE,
    third_party/android_deps/libs/com_google_android_gms_play_services_tflite_java/LICENSE,
    third_party/android_deps/libs/org_tensorflow_tensorflow_lite_api/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5494530

Updated licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_location/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5515920

  * third_party/ffmpeg/CREDITS.chromium
  - https://chromium.googlesource.com/chromium/third_party/ffmpeg.git/+/46a49cb3ec46cf95499c7f265e9d840c16430ac7

  * third_party/swiftshader/third_party/SPIRV-Headers/LICENSE
  - https://swiftshader-review.googlesource.com/c/SwiftShader/+/73371

Test-built (big thanks to @rjanani-p):
--------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#827.

Release notes:
    https://chromereleases.googleblog.com/2024/07/stable-channel-update-for-desktop_23.html
    https://chromereleases.googleblog.com/2024/07/stable-channel-update-for-desktop_30.html
    https://chromereleases.googleblog.com/2024/08/stable-channel-update-for-desktop.html

Build and patch changes:
------------------------

Add 0011-Disable-crabbyavif-to-fix-build-errors.patch to fix a build
error that's most likely because the way upstream configures bindgen
makes it incompatible with our cross-architecture builds.

Add 0012-m127-side_panel-Add-missing-deps.patch to fix build race
conditions due to missing deps.

Add a backported patch to fix a build race conditions due to a missing
dep.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/angle/third_party/spirv-headers/LICENSE,
    third_party/angle/third_party/spirv-tools/LICENSE,
    third_party/angle/third_party/vulkan-headers/LICENSE.txt
  - https://chromium-review.googlesource.com/c/angle/angle/+/5545577

  * third_party/dawn/third_party/spirv-headers/LICENSE,
    third_party/dawn/third_party/spirv-tools/LICENSE,
    third_party/dawn/third_party/vulkan-headers/LICENSE.txt
  - https://dawn-review.googlesource.com/c/dawn/+/189420

  * third_party/devtools-frontend/src/front_end/third_party/web-vitals/package/LICENSE
  - https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5549634

  * third_party/spirv-headers/LICENSE,
    third_party/spirv-tools/LICENSE,
    third_party/vulkan-headers/LICENSE.txt,
    third_party/vulkan-loader/src/LICENSE.txt
  - https://chromium-review.googlesource.com/c/chromium/src/+/5568828

Removed licenses:
  * base/third_party/valgrind/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5571961

  * third_party/devtools-frontend/src/front_end/third_party/axe-core/LICENSE,
    third_party/devtools-frontend/src/front_end/third_party/lodash-isequal/LICENSE,
    third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data/package/LICENSE.md
  - unknown

  * third_party/maldoca/src/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5536396

  * third_party/vulkan-deps/vulkan-loader/src/LICENSE.txt
  - https://chromium-review.googlesource.com/c/chromium/src/+/5568828

Updated licenses:
  * third_party/ffmpeg/CREDITS.chromium
  - https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/a65f1034

Test-built (big thanks to @SoumyaWind):
---------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Due to commit [clang: use nonarch_libdir/clang for all runtime
files][1] applied, the clang runtime libraries was installed
to ${nonarch_libdir}, no matter the value of libdir

Tweak it for do_copy_clang_library, use ${nonarch_libdir} to instead

[1] kraj/meta-clang@cda1376

Signed-off-by: Hongxu Jia <[email protected]>
Fixes OSSystems#831.

Release notes:
    https://chromereleases.googleblog.com/2024/08/stable-channel-update-for-desktop_21.html

Build and patch changes:
------------------------

Drop 0012-m127-side_panel-Add-missing-deps.patch as m128 contains the
proper fix for the issue this patch was working around.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/devtools-frontend/src/front_end/third_party/puppeteer/third_party/parsel/LICENSE
  - https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5630499

Removed licenses:
  * third_party/catapult/third_party/polymer2/LICENSE.polymer
  - https://chromium-review.googlesource.com/c/catapult/+/5670761

  * third_party/setupdesign/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5659916

Updated licenses:
  * third_party/perfetto/LICENSE
  - https://android.googlesource.com/platform/external/perfetto/+/917165dd

Test-built (big thanks to @SoumyaWind):
---------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Release notes:
    https://chromereleases.googleblog.com/2024/08/stable-channel-update-for-desktop_28.html
    https://chromereleases.googleblog.com/2024/09/stable-channel-update-for-desktop.html

Build and patch changes:
------------------------

None.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
OE-Core has switched the master branch to styhead, follow the change.

Signed-off-by: Dmitry Baryshkov <[email protected]>
Release notes:
    https://chromereleases.googleblog.com/2024/09/stable-channel-update-for-desktop_10.html

Build and patch changes:
------------------------

None.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
Fixes OSSystems#837.

Release notes:
    https://chromereleases.googleblog.com/2024/09/stable-channel-update-for-desktop_17.html
    https://chromereleases.googleblog.com/2024/09/stable-channel-update-for-desktop_24.html

Build and patch changes:
------------------------

Drop one backported patch that is included upstream now.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_identity_credentials/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5766672

  * third_party/fast_float/src/LICENSE-MIT
  - https://chromium-review.googlesource.com/c/chromium/src/+/5743598

Removed licenses:
  * ios/components/third_party/compiler-rt/LICENSE.TXT
  - https://chromium-review.googlesource.com/c/chromium/src/+/5767039

  * third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk7/LICENSE,
    third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_jdk8/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5786197

  * third_party/catapult/third_party/html5lib-python/LICENSE
  - https://chromium-review.googlesource.com/c/catapult/+/5768072

  * third_party/libudev/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5738848

  * third_party/sudden_motion_sensor/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5734364

Updated licenses:
  * third_party/android_deps/libs/com_google_android_gms_play_services_base/LICENSE,
    third_party/android_deps/libs/com_google_android_gms_play_services_basement/LICENSE,
    third_party/android_deps/libs/com_google_android_gms_play_services_tasks/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5766672

Test-built (big thanks to @SoumyaWind):
---------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Release notes:
    https://chromereleases.googleblog.com/2024/10/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/10/stable-channel-update-for-desktop_8.html

Build and patch changes:
------------------------

None.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
@adalessandro
Copy link
Contributor Author

adalessandro commented Oct 23, 2024

@MaxIhlenfeldt:

I'd like your comments if possible:

  • What's the right way to get this merged? Note that this PR targets kirkstone, but it's based on `master.
  • The README needs to be updated as well. Could you help there perhaps?
  • Is there a testing/CI to be used here?

@adalessandro adalessandro changed the title WIP: Backport chromium from scarthgap kirkstone: backport chromium from scarthgap Oct 23, 2024
Copy link
Collaborator

@MaxIhlenfeldt MaxIhlenfeldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That was fast, awesome!

What's the right way to get this merged?

I'd say the first step is merging the meta-clang changes, before that we can't merge this PR.

Note that this PR targets kirkstone, but it's based on master.

We only create separate branches for Yocto releases that we don't support any more to capture the last supported version. As I understand it, the goal here is to reintroduce support for kirkstone, so the PR should target master.

The README needs to be updated as well. Could you help there perhaps?

Sure! But let's wait until the PR is ready to be merged before updating the README in case something changes during review.

Is there a testing/CI to be used here?

It'd be great if you could state which build configurations you've tested yourself. @SoumyaWind usually helps with testing for the version updates. But I'd wait with that until the meta-clang changes have been merged.

@adalessandro adalessandro marked this pull request as draft October 23, 2024 11:46
Fixes OSSystems#841.

Release notes:
    https://chromereleases.googleblog.com/2024/10/stable-channel-update-for-desktop_15.html
    https://chromereleases.googleblog.com/2024/10/stable-channel-update-for-desktop_22.html

Build and patch changes:
------------------------

Add one patch to fix a build error on scarthgap with clang 18.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/android_deps/libs/com_google_dagger_hilt_core/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5823738

  * third_party/android_deps/libs/com_squareup_okio_okio_jvm/LICENSE,
    third_party/android_deps/libs/org_jetbrains_kotlinx_kotlinx_serialization_core_jvm/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/4294685,
    https://chromium-review.googlesource.com/c/chromium/src/+/5857028

  * third_party/android_deps/libs/jakarta_inject_jakarta_inject_api/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5824189

  * third_party/catapult/third_party/pipeline/LICENSE
  - https://chromium-review.googlesource.com/c/catapult/+/5847129

  * third_party/devtools-frontend/src/front_end/third_party/third-party-web/LICENSE
  - https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5809617

  * third_party/pdfium/third_party/agg23/copying,
    third_party/pdfium/third_party/libopenjpeg/LICENSE,
    third_party/pdfium/third_party/libtiff/LICENSE.md
  - https://pdfium-review.googlesource.com/c/pdfium/+/124210

Removed licenses:
  * courgette/third_party/bsdiff/LICENCE,
    courgette/third_party/divsufsort/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5812826

  * third_party/android_deps/libs/android_arch_core_common/LICENSE,
    third_party/android_deps/libs/android_arch_core_runtime/LICENSE,
    third_party/android_deps/libs/android_arch_lifecycle_common/LICENSE,
    third_party/android_deps/libs/android_arch_lifecycle_livedata/LICENSE,
    third_party/android_deps/libs/android_arch_lifecycle_livedata_core/LICENSE,
    third_party/android_deps/libs/android_arch_lifecycle_runtime/LICENSE,
    third_party/android_deps/libs/android_arch_lifecycle_viewmodel/LICENSE,
    third_party/android_deps/libs/com_android_support_asynclayoutinflater/LICENSE,
    third_party/android_deps/libs/com_android_support_collections/LICENSE,
    third_party/android_deps/libs/com_android_support_coordinatorlayout/LICENSE,
    third_party/android_deps/libs/com_android_support_cursoradapter/LICENSE,
    third_party/android_deps/libs/com_android_support_customview/LICENSE,
    third_party/android_deps/libs/com_android_support_documentfile/LICENSE,
    third_party/android_deps/libs/com_android_support_drawerlayout/LICENSE,
    third_party/android_deps/libs/com_android_support_interpolator/LICENSE,
    third_party/android_deps/libs/com_android_support_loader/LICENSE,
    third_party/android_deps/libs/com_android_support_localbroadcastmanager/LICENSE,
    third_party/android_deps/libs/com_android_support_print/LICENSE,
    third_party/android_deps/libs/com_android_support_slidingpanelayout/LICENSE,
    third_party/android_deps/libs/com_android_support_support_compat/LICENSE,
    third_party/android_deps/libs/com_android_support_support_core_ui/LICENSE,
    third_party/android_deps/libs/com_android_support_support_core_utils/LICENSE,
    third_party/android_deps/libs/com_android_support_swiperefreshlayout/LICENSE,
    third_party/android_deps/libs/com_android_support_versionedparcelable/LICENSE,
    third_party/android_deps/libs/com_android_support_viewpager/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5835984

  * third_party/android_toolchain_canary/NOTICE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5798143

  * third_party/bidimapper/licenses/LICENSE.urlpattern_polyfill
  - https://chromium-review.googlesource.com/c/chromium/src/+/5850570

  * third_party/catapult/third_party/requests_toolbelt/LICENSE
  - https://chromium-review.googlesource.com/c/catapult/+/5847130

  * third_party/openscreen/src/third_party/zlib/LICENSE
  - https://chromium-review.googlesource.com/c/openscreen/+/5816482

Updated licenses:
  * chrome/installer/mac/third_party/xz/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5846369

  * third_party/ced/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5816777

  * third_party/perfetto/LICENSE
  - google/perfetto@fcae376

Test-built (big thanks to @SoumyaWind):
---------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - scarthgap, clang, MACHINE=qemuarm64, qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
Release notes:
    https://chromereleases.googleblog.com/2024/10/stable-channel-update-for-desktop_22.html
    https://chromereleases.googleblog.com/2024/10/stable-channel-update-for-desktop_29.html

Build and patch changes:
------------------------

None.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=qemuarm64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm

Signed-off-by: Max Ihlenfeldt <[email protected]>
As mentioned in e.g. OSSystems#849, `--use-gl=egl` doesn't work any more. We can replace it with `--use-gl=angle --use-angle=gles-egl`, or just `--use-angle=gles-egl` as ANGLE is the default.
@SoumyaWind
Copy link

I will start testing these changes locally. Will update results once done.

chromium: Update to 131.0.6778.85

Fixes OSSystems#848.

Release notes:
    https://chromereleases.googleblog.com/2024/11/stable-channel-update-for-desktop_12.html
    https://chromereleases.googleblog.com/2024/11/stable-channel-update-for-desktop_19.html

Build and patch changes:
------------------------

Add a patch to remporarily revert an upstream change that increases the
minimum supported Rust version to 1.78, as Scarthgap currently only has
1.75. Once meta-lts-mixins has a scarthgap/rust branch, we can drop that
patch again.

Rebase remaining patches.

License changes:
----------------

Added licenses:
  * third_party/android_deps/libs/org_jspecify_jspecify/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5898977

  * third_party/devtools-frontend/src/front_end/third_party/json5/LICENSE
  - https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5920841

  * third_party/ink/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5530802

  * third_party/ink_stroke_modeler/LICENSE
  - https://chromium-review.googlesource.com/c/chromium/src/+/5530867

Removed licenses:
  * third_party/catapult/third_party/httplib2/LICENSE
  - https://chromium-review.googlesource.com/c/catapult/+/5858365

Updated licenses: None.

Test-built (big thanks to @SoumyaWind):
---------------------------------------

* chromium-ozone-wayland:
 - master, clang,    MACHINE=qemux86-64
 - styhead, clang,   MACHINE=raspberrypi4-64
 - scarthgap, clang, MACHINE=qemux86-64

* chromium-x11:
 - master, clang,    MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64
 - scarthgap, clang, MACHINE=qemuarm, qemuarm64, qemux86-64, raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
@SoumyaWind
Copy link

I have completed testing for the following configurations for Poky kirkstone with the changes from this PR and meta-lts-mixins (checked out to Rust version 1.77.2) along with meta-clang from kraj/meta-clang#1024]. Here are the results for reference:

  1. chromium-x11 on qemux86-64 target: Compiled successfully without any build issues, verified chromium version using the qemux86-64 emulator.
  2. chromium-x11 on qemuarm target: Compiled successfully without any build issues, verified chromium version using the qemuarm emulator.
  3. chromium-x11 on qemuarm64 target: Compiled successfully without any build issues, verified chromium version using the qemuarm64 emulator.
  4. chromium-x11 on raspberrypi4-64 target: Compiled successfully without any build issues, verified chromium version from command line on the Raspberry Pi 4.
  5. chromium-ozone-wayland on qemux86-64 target: Compiled successfully without any build issues, verified chromium version using the qemux86-64 emulator.

@adalessandro
Copy link
Contributor Author

@SoumyaWind thanks a lot for the testing scenarios covered!
@MaxIhlenfeldt , as per comment kraj/meta-clang#1024 (comment) the clang major version bump won't be accepted and could be submitted to https://git.yoctoproject.org/meta-lts-mixins/ . Shall we try to push forward in that direction?

@MaxIhlenfeldt
Copy link
Collaborator

Yes, iirc the initial feedback on the mailing list was positive, so let's do that!

My affiliation has changed 🎉 Update my contact information in the README.md
as well as in the patches that have my Signed-off-by tag.

Signed-off-by: Raphael Kubo da Costa <[email protected]>
Co-authored-by: Raphael Kubo da Costa <[email protected]>
…Systems#858)

chromium: Drop patch to decrease minimum Rust version

Build and patch changes:
------------------------

Drop a patch to decrease the required version of Rust, and instead
depend on meta-lts-mixins to provide a more up-to-date version of Rust
than OE Core.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
chromium: Update to 131.0.6778.139

Release notes:
    https://chromereleases.googleblog.com/2024/12/stable-channel-update-for-desktop.html
    https://chromereleases.googleblog.com/2024/12/stable-channel-update-for-desktop_10.html

Build and patch changes:
------------------------

None.

License changes:
----------------

None.

Test-built:
-----------

* chromium-ozone-wayland:
 - scarthgap, clang, MACHINE=raspberrypi4-64

Signed-off-by: Max Ihlenfeldt <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/kirkstone-backport-scarthgap branch from 123b293 to e60d932 Compare December 18, 2024 19:17
@adalessandro adalessandro marked this pull request as ready for review December 18, 2024 19:23
@adalessandro adalessandro force-pushed the wip/adalessandro/kirkstone-backport-scarthgap branch from e60d932 to a95a337 Compare December 18, 2024 19:32
@adalessandro
Copy link
Contributor Author

Yes, iirc the initial feedback on the mailing list was positive, so let's do that!

@MaxIhlenfeldt please review this one now that we have the required dependencies layers available.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this shouldn't be necessary when using the kirkstone/rust branch of meta-lts-mixins (as opposed to kirkstone/rust-1.75), as Rust supports the flag since 1.78. I'll give this PR a spin without this patch.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't tested using kirkstone/rust, however I'd go with a specific version branch, i.e. kirkstone/rust-1.75 in this case. Branch kirkstone/rust is a much more moving target, I wonder if that could bring issues. @MaxIhlenfeldt but you might have a better idea on what's the best approach here :-)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Branch kirkstone/rust is a much more moving target, I wonder if that could bring issues.

I'd argue this is a good thing, then we don't need to keep updating our docs about which branch to use every time upstream bumps the minimum Rust version.

Copy link
Collaborator

@MaxIhlenfeldt MaxIhlenfeldt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My build with meta-lts-mixins @ kirkstone/rust and without 0013-build-config-compiler-BUILD.gn-Disable-external-clan.patch was successful 🎉

Please go ahead and remove that patch, and if @rakuco doesn't have any objections we can merge this!

@MaxIhlenfeldt MaxIhlenfeldt requested a review from rakuco December 19, 2024 17:37
@adalessandro adalessandro force-pushed the wip/adalessandro/kirkstone-backport-scarthgap branch from a95a337 to 7d7eb6a Compare December 19, 2024 17:39
@adalessandro
Copy link
Contributor Author

My build with meta-lts-mixins @ kirkstone/rust and without 0013-build-config-compiler-BUILD.gn-Disable-external-clan.patch was successful 🎉

Please go ahead and remove that patch, and if @rakuco doesn't have any objections we can merge this!

Great :-) Looking forward to it. Thanks!

* Backports chromium 131.0.6778.139 to kirkstone.

This relies on the recently added layer branches to satisfy the required
dependencies:

* Rust: meta-lts-mixins' kirkstone/rust branch.
* Clang: meta-clang's `kirkstone-clang18` branch.

Signed-off-by: Ariel D'Alessandro <[email protected]>
@adalessandro adalessandro force-pushed the wip/adalessandro/kirkstone-backport-scarthgap branch from 7d7eb6a to a857a94 Compare December 19, 2024 17:40
@adalessandro
Copy link
Contributor Author

adalessandro commented Dec 19, 2024

Summary off the diff delta:

$ git diff --stat -p origin/scarthgap adalessandro/wip/adalessandro/kirkstone-backport-scarthgap 
 meta-chromium/README.md       | 15 +++++++--------
 meta-chromium/conf/layer.conf |  4 ++--
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/meta-chromium/README.md b/meta-chromium/README.md
index 41ca133..d8b618f 100644
--- a/meta-chromium/README.md
+++ b/meta-chromium/README.md
@@ -82,20 +82,19 @@ host. clang-native from the meta-clang layer is used to build those binaries.
 Additionally, make sure the machine being used to build Chromium is powerful
 enough: a x86-64 machine with at least 16GB RAM is recommended.
 
-### scarthgap-specific requirements
+### kirkstone-specific requirements
 
-The scarthgap OE/Yocto branch is an LTS release, which is often at odds with
+The kirkstone OE/Yocto branch is an LTS release, which is often at odds with
 Chromium's release model because it often requires recent versions of certain
 recipes to build correctly.
 
 This is particularly a problem for the toolchain (i.e. LLVM/clang and Rust).
-Chromium needs a more recent version of Rust than OE Core provides for
-scarthgap, which is why we depend on meta-lts-mixins' `scarthgap/rust` branch.
 
-**Side note: For now, clang 18 provided by meta-clang is recent enough, but at
-some point during scarthgap's LTS lifetime Chromium won't be compilable with
-that version, and we'll have to create e.g. a scarthgap-clang20 branch for
-meta-clang and use that.**
+* Chromium needs a more recent version of Rust than OE Core provides for
+  kirkstone, which is why we depend on meta-lts-mixins' `kirkstone/rust` branch.
+
+* Chromium needs at least clang 18, but meta-clang's kirkstone branch provides
+  clang 14. Thus, we depend on meta-clang's `kirkstone-clang18` branch.
 
 ## PACKAGECONFIG knobs
 
diff --git a/meta-chromium/conf/layer.conf b/meta-chromium/conf/layer.conf
index 9537220..697eae0 100644
--- a/meta-chromium/conf/layer.conf
+++ b/meta-chromium/conf/layer.conf
@@ -9,6 +9,6 @@ BBFILE_PATTERN_chromium-browser-layer := "^${LAYERDIR}/"
 BBFILE_PRIORITY_chromium-browser-layer = "7"
 
 LAYERVERSION_chromium-browser-layer = "1"
-LAYERSERIES_COMPAT_chromium-browser-layer = "scarthgap styhead walnascar"
+LAYERSERIES_COMPAT_chromium-browser-layer = "kirkstone scarthgap styhead walnascar"
 
-LAYERDEPENDS_chromium-browser-layer = "clang-layer core openembedded-layer scarthgap-rust-mixin"
+LAYERDEPENDS_chromium-browser-layer = "clang-layer core openembedded-layer lts-rust-mixin"

Copy link
Collaborator

@rakuco rakuco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thank you!

@MaxIhlenfeldt MaxIhlenfeldt merged commit 01eca11 into OSSystems:kirkstone Dec 23, 2024
@MaxIhlenfeldt
Copy link
Collaborator

Thanks again from my side as well!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

8 participants