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

chromium: Depend on libstd-rs instead of rust #809

Merged
merged 2 commits into from
May 13, 2024

Conversation

MaxIhlenfeldt
Copy link
Collaborator

Fixes #792.

Build and patch changes:

In #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 #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 #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.

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

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.

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]>
@MaxIhlenfeldt MaxIhlenfeldt requested a review from otavio May 8, 2024 10:59
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.

Happy to rubber-stamp this one!

@MaxIhlenfeldt MaxIhlenfeldt removed the request for review from otavio May 8, 2024 11:25
@@ -0,0 +1,9 @@
FILES:${PN} += "${libdir}/rustlib/*/target.json"
Copy link
Collaborator

Choose a reason for hiding this comment

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

this bbappend seems a bit off place to me. It should be submitted to oe-core and discussed there so it can be included there. Since Standard rust library should be built once and correctly. There is more than chromium who use rust in OE and it will impact all those packages silently when meta-chromium is included.

Copy link
Contributor

Choose a reason for hiding this comment

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

If that happens, it should be backported to nanbield before it reaches EOL. Otherwise we are stuck with chromium 120, at commit ea731e8

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I agree that we should try to upstream the changes from both of our bbappends, now that the rust bbappend is also just about installing the target JSON.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I got curious why e.g. librsvg didn't run into issues with this and took a look at the recipe. I think we might be able to concoct something using the rust-target-config class, I've started experimenting with it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Just pushed a commit that drops all our bbappends and instead inherits the rust-common class (just inheriting rust-target-config doesn't work, it needs stuff from rust-common).

@MaxIhlenfeldt MaxIhlenfeldt merged commit d8bcd04 into OSSystems:master May 13, 2024
MaxIhlenfeldt added a commit that referenced this pull request Dec 23, 2024
* chromium: Update to 121.0.6167.184 (#791)

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]>

* meta-browser: Update some README.md information (#797)

- 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]>

* chromium: Drop patches that are specific to clang < 17 (#801)

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]>

* chromium: Update to 122.0.6261.128 (#803)

Fixes #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]>

* chromium: Fix gn build for Yocto master (#808)

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]>

* chromium: Use STAGING_* dirs instead of RECIPE_SYSROOT(_NATIVE) (#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]>

* chromium: Fix build race condition (#812)

Fixes #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 (#809)

chromium: Depend on libstd-rs instead of rust

Fixes #792.

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

In #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 #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 #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]>

* chromium: Fix incremental build error after meta-clang update (#814)

Fixes #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]>

* chromium: Update to 123.0.6312.122 (#806)

Fixes #796.

Note that this PR drops support for Nanbield (which is scheduled to
reach its EOL this month anyway), see the discussion at #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]>

* chromium: Backport missing dependency in NewTabPage (#816)

Cherry-pick of #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]>

* chromium: Update to 124.0.6367.207 (#819)

Fixes #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]>

* chromium: Update to 125.0.6422.141 (#824)

Fixes #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]>

* chromium: Merge interlinked compiler option patches (#825)

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]>

* chromium: Update to 126.0.6478.126 (#826)

Fixes #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]>

* chromium: Update to 127.0.6533.99 (#828)

Fixes #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]>

* chromium: fix do_copy_clang_library failed for multilib (#830)

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]>

* chromium: Update to 128.0.6613.84 (#832)

Fixes #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]>

* chromium: Update to 128.0.6613.119 (#833)

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]>

* layer.conf: set LAYERSERIES_COMPAT to styhead

OE-Core has switched the master branch to styhead, follow the change.

Signed-off-by: Dmitry Baryshkov <[email protected]>

* chromium: Update to 128.0.6613.137 (#836)

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]>

* layer.conf: Update to walnascar (5.2) layer/release series

Signed-off-by: Khem Raj <[email protected]>

* chromium: Update to 129.0.6668.70 (#838)

Fixes #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]>

* chromium: Update to 129.0.6668.100 (#840)

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]>

* chromium: Update to 130.0.6723.58 (#844)

Fixes #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]>

* chromium: Update to 130.0.6723.91 (#846)

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]>

* chromium: Update EGL CLI args (#850)

As mentioned in e.g. #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.

* chromium: Update to 131.0.6778.85 (#852)

chromium: Update to 131.0.6778.85

Fixes #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]>

* chromium: Update my email address in the repository (#856)

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]>

* [scarthgap] chromium: Drop patch to decrease minimum Rust version (#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]>

* [scarthgap] chromium: Update to 131.0.6778.139 (#860)

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]>

* [scarthgap] chromium: Use correct Rust mixin layer dependency (#863)

Fixes #862.

Thanks to @darren-etheridge for finding this as well as the right name to use!

---------

Signed-off-by: Max Ihlenfeldt <[email protected]>
Signed-off-by: Raphael Kubo da Costa <[email protected]>
Signed-off-by: Hongxu Jia <[email protected]>
Signed-off-by: Dmitry Baryshkov <[email protected]>
Signed-off-by: Khem Raj <[email protected]>
Signed-off-by: Raphael Kubo da Costa <[email protected]>
Signed-off-by: Ariel D'Alessandro <[email protected]>
Co-authored-by: Max Ihlenfeldt <[email protected]>
Co-authored-by: Raphael Kubo da Costa <[email protected]>
Co-authored-by: Daniel Semkowicz <[email protected]>
Co-authored-by: Hongxu Jia <[email protected]>
Co-authored-by: Dmitry Baryshkov <[email protected]>
Co-authored-by: Khem Raj <[email protected]>
Co-authored-by: Raphael Kubo da Costa <[email protected]>
Co-authored-by: Raphael Kubo da Costa <[email protected]>
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.

chromium-x11 build error with Rust enabled
4 participants