Skip to content

Commit 01eca11

Browse files
adalessandroMaxIhlenfeldtRaphael Kubo da Costadsemkowicz-tthongxu-jia
authored
kirkstone: backport chromium from scarthgap (OSSystems#843)
* chromium: Update to 121.0.6167.184 (OSSystems#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 <max@igalia.com> * meta-browser: Update some README.md information (OSSystems#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 <raphael.kubo.da.costa@intel.com> * chromium: Drop patches that are specific to clang < 17 (OSSystems#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 <max@igalia.com> * chromium: Update to 122.0.6261.128 (OSSystems#803) 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 <max@igalia.com> * chromium: Fix gn build for Yocto master (OSSystems#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 <max@igalia.com> * chromium: Use STAGING_* dirs instead of RECIPE_SYSROOT(_NATIVE) (OSSystems#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 <max@igalia.com> * chromium: Fix build race condition (OSSystems#812) 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 <max@igalia.com> * chromium: Depend on libstd-rs instead of rust (OSSystems#809) 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 <max@igalia.com> * chromium: Fix incremental build error after meta-clang update (OSSystems#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 <max@igalia.com> * chromium: Update to 123.0.6312.122 (OSSystems#806) 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 <max@igalia.com> * chromium: Backport missing dependency in NewTabPage (OSSystems#816) 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 <max@igalia.com> Co-authored-by: Daniel Semkowicz <158140967+dsemkowicz-tt@users.noreply.github.com> * chromium: Update to 124.0.6367.207 (OSSystems#819) 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 <max@igalia.com> * chromium: Update to 125.0.6422.141 (OSSystems#824) 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 <max@igalia.com> * chromium: Merge interlinked compiler option patches (OSSystems#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 <max@igalia.com> * chromium: Update to 126.0.6478.126 (OSSystems#826) 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 <max@igalia.com> * chromium: Update to 127.0.6533.99 (OSSystems#828) 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 <max@igalia.com> * chromium: fix do_copy_clang_library failed for multilib (OSSystems#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 <hongxu.jia@windriver.com> * chromium: Update to 128.0.6613.84 (OSSystems#832) 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 <max@igalia.com> * chromium: Update to 128.0.6613.119 (OSSystems#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 <max@igalia.com> * layer.conf: set LAYERSERIES_COMPAT to styhead OE-Core has switched the master branch to styhead, follow the change. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> * chromium: Update to 128.0.6613.137 (OSSystems#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 <max@igalia.com> * layer.conf: Update to walnascar (5.2) layer/release series Signed-off-by: Khem Raj <raj.khem@gmail.com> * chromium: Update to 129.0.6668.70 (OSSystems#838) 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 <max@igalia.com> * chromium: Update to 129.0.6668.100 (OSSystems#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 <max@igalia.com> * chromium: Update to 130.0.6723.58 (OSSystems#844) 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 <max@igalia.com> * chromium: Update to 130.0.6723.91 (OSSystems#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 <max@igalia.com> * chromium: Update EGL CLI args (OSSystems#850) 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. * chromium: Update to 131.0.6778.85 (OSSystems#852) 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 <max@igalia.com> * chromium: Update my email address in the repository (OSSystems#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 <kubo@igalia.com> Co-authored-by: Raphael Kubo da Costa <kubo@igalia.com> * [scarthgap] chromium: Drop patch to decrease minimum Rust version (OSSystems#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 <max@igalia.com> * [scarthgap] chromium: Update to 131.0.6778.139 (OSSystems#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 <max@igalia.com> * [scarthgap] chromium: Use correct Rust mixin layer dependency (OSSystems#863) Fixes OSSystems#862. Thanks to @darren-etheridge for finding this as well as the right name to use! --------- Signed-off-by: Max Ihlenfeldt <max@igalia.com> Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Raphael Kubo da Costa <kubo@igalia.com> Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Co-authored-by: Max Ihlenfeldt <max@igalia.com> Co-authored-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> Co-authored-by: Daniel Semkowicz <158140967+dsemkowicz-tt@users.noreply.github.com> Co-authored-by: Hongxu Jia <hongxu.jia@windriver.com> Co-authored-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Co-authored-by: Khem Raj <raj.khem@gmail.com> Co-authored-by: Raphael Kubo da Costa <rakuco@FreeBSD.org> Co-authored-by: Raphael Kubo da Costa <kubo@igalia.com>
1 parent c512ef2 commit 01eca11

File tree

47 files changed

+538
-2895
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+538
-2895
lines changed

meta-chromium/README.md

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ post to the list). Please cc the maintainers if you send your patches.
3030
## Maintainers
3131

3232
* Fabio Berton <fabio.berton@ossystems.com.br>
33-
* Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
33+
* Raphael Kubo da Costa <kubo@igalia.com>
3434
* Khem Raj <raj.khem@gmail.com>
3535
* Otavio Salvador <otavio@ossystems.com.br>
3636
* Max Ihlenfeldt <max@igalia.com>
@@ -47,7 +47,7 @@ Chromium browser.
4747

4848
This recipe provides a package for the Chromium web browser. It strives to
4949
always follow the latest stable Linux release as listed in
50-
https://omahaproxy.appspot.com
50+
https://chromiumdash.appspot.com/releases?platform=Linux
5151

5252
We refer to the web browser as Chromium, not Chrome, because "Chrome" is
5353
Google's version of the web browser with proprietary content on top of the
@@ -60,6 +60,16 @@ peculiarities:
6060
- Parts of the V8 (Chromium's JavaScript engine) build need to run binaries
6161
built for the target, for which we use QEMU.
6262

63+
## Supported OE/Yocto releases
64+
65+
We only support the master branch and the current LTS releases of OE/Yocto,
66+
using this repo's master branch for the former and separate branches for the
67+
latter.
68+
69+
Recent non-LTS releases should still work with our master branch, and we'll
70+
create branches capturing the last buildable version once they stop working with
71+
the latest version.
72+
6373
## Build requirements
6474

6575
This recipe requires clang, and GCC is not supported. Upstream Chromium has not
@@ -79,13 +89,12 @@ Chromium's release model because it often requires recent versions of certain
7989
recipes to build correctly.
8090

8191
This is particularly a problem for the toolchain (i.e. LLVM/clang and Rust).
82-
Because meta-clang's kirkstone branch currently only provides clang 14, we are
83-
unable to support Chromium versions higher than 120 due to those versions
84-
requiring a more recent clang version. Also, kirkstone users **must** ensure the
85-
following:
86-
* Chromium needs a somewhat recent version of Rust, and for that
87-
meta-lts-mixins' **kirkstone/rust-1.68** or **kirkstone/rust-1.70** branch
88-
needs to be used.
92+
93+
* Chromium needs a more recent version of Rust than OE Core provides for
94+
kirkstone, which is why we depend on meta-lts-mixins' `kirkstone/rust` branch.
95+
96+
* Chromium needs at least clang 18, but meta-clang's kirkstone branch provides
97+
clang 14. Thus, we depend on meta-clang's `kirkstone-clang18` branch.
8998

9099
## PACKAGECONFIG knobs
91100

meta-chromium/conf/layer.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ BBFILE_PATTERN_chromium-browser-layer := "^${LAYERDIR}/"
99
BBFILE_PRIORITY_chromium-browser-layer = "7"
1010

1111
LAYERVERSION_chromium-browser-layer = "1"
12-
LAYERSERIES_COMPAT_chromium-browser-layer = "kirkstone langdale mickledore nanbield scarthgap"
12+
LAYERSERIES_COMPAT_chromium-browser-layer = "kirkstone scarthgap styhead walnascar"
1313

1414
LAYERDEPENDS_chromium-browser-layer = "clang-layer core openembedded-layer lts-rust-mixin"

meta-chromium/recipes-browser/chromium/chromium-gn.inc

Lines changed: 36 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -4,54 +4,32 @@ require gn-utils.inc
44

55
GTKIC_VERSION = "${@bb.utils.contains('PACKAGECONFIG', 'gtk4', '4', '3',d)}"
66

7-
inherit features_check gtk-icon-cache qemu
7+
inherit features_check gtk-icon-cache qemu rust-common
88

99
# The actual directory name in out/ is irrelevant for GN.
1010
OUTPUT_DIR = "out/Release"
1111
B = "${S}/${OUTPUT_DIR}"
1212

1313
# Backported patches.
14-
SRC_URI += "\
15-
file://backport/IWYU-for-chrome-browser-ui-views-dark_mode_.patch \
16-
file://backport/IWYU-for-net-filter-zstd_source_stream.cc.patch \
17-
file://backport/IWYU-for-components-user_education-common-p.patch \
18-
file://backport/atspi-mark-possibly-unused-gn-variables.patch \
19-
file://backport/Revert-recent-C-20-usage-in-CFX_FillRenderO.patch \
20-
file://backport/IWYU-for-chrome-browser-ui-tabs-organizatio.patch \
21-
file://backport/IWYU-for-content-browser-generic_sensor-fra.patch \
22-
file://backport/IWYU-for-g-c-service-shared_image-ozone_ima.patch \
23-
file://backport/Make-toolchain_supports_rust_thin_lto-configurable.patch \
24-
file://backport/NewTabPage-Add-missing-dep-to-cr_components.patch \
25-
"
14+
# None currently \o/
15+
2616
# Non-specific patches.
2717
SRC_URI += "\
28-
file://0001-Remove-the-GN-settings-done-for-clang-that-conflict-.patch \
18+
file://0001-Drop-GN-compiler-settings-conflicting-with-OE.patch \
2919
file://0002-v8-qemu-wrapper.patch \
3020
file://0003-wrapper-extra-flags.patch \
3121
file://0004-Delete-compiler-options-not-available-in-release-ver.patch \
3222
file://0005-avoid-link-latomic-failure-on-CentOS-8-host.patch \
33-
file://0006-Revert-__attribute__-and-alignas-changes.patch \
34-
file://0007-Add-missing-typename-s.patch \
35-
file://0008-Don-t-pass-unknown-LLVM-options.patch \
36-
file://0009-Avoid-capturing-structured-bindings.patch \
37-
file://0010-Revert-Reland-Reland-mte-refactor-the-tagging-functi.patch \
38-
file://0011-Avoid-parenthesized-initialization-of-aggregates.patch \
39-
file://0012-Fix-constexpr-variable-cannot-have-non-literal-type-.patch \
40-
file://0013-Fix-undefined-symbol-PaintOpWriter-SerializedSize-un.patch \
41-
file://0014-Fix-implicitly-deleted-default-constructor-build-err.patch \
42-
file://0015-Don-t-delete-CrashKeyWithName-dtor.patch \
43-
file://0016-Use-base-ranges-instead-of-std-ranges.patch \
44-
file://0017-Use-the-correct-path-to-libclang_rt.builtins.a.patch \
45-
file://0018-Adjust-the-Rust-build-to-our-needs.patch \
46-
file://0019-Don-t-require-profiler_builtins.rlib.patch \
23+
file://0006-Don-t-pass-unknown-LLVM-options.patch \
24+
file://0007-Fix-constexpr-variable-must-be-initialized-by-a-cons.patch \
25+
file://0008-Use-the-correct-path-to-libclang_rt.builtins.a.patch \
26+
file://0009-Adjust-the-Rust-build-to-our-needs.patch \
27+
file://0010-Don-t-require-profiler_builtins.rlib.patch \
28+
file://0011-Disable-crabbyavif-to-fix-build-errors.patch \
29+
file://0012-Revert-Allow-and-use-std-hardware_destructive_interf.patch \
4730
"
4831
# ARM/AArch64-specific patches.
49-
SRC_URI:append:arm = "\
50-
file://arm/0001-BUILD-do-not-specify-march-on-arm.patch \
51-
file://arm/0002-Fix-ARM-build-with-recent-glibc.patch \
52-
file://arm/0003-Fix-static_assert-failed-build-error-on-32-bit-ARM.patch \
53-
"
54-
SRC_URI:append:aarch64 = "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '', ' file://arm/0004-Fix-AES-crypto-SIGILL-on-rpi4-64.patch', d)}"
32+
SRC_URI:append:aarch64 = "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '', ' file://arm/0001-Fix-AES-crypto-SIGILL-on-rpi4-64.patch', d)}"
5533

5634
# musl-specific patches.
5735
SRC_URI:append:libc-musl = "\
@@ -92,6 +70,7 @@ DEPENDS += " \
9270
jpeg \
9371
libdrm \
9472
libffi \
73+
libstd-rs \
9574
libwebp \
9675
libxkbcommon \
9776
libxslt \
@@ -106,7 +85,6 @@ DEPENDS += " \
10685
pkgconfig-native \
10786
${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \
10887
qemu-native \
109-
rust \
11088
rust-native \
11189
virtual/libgl \
11290
"
@@ -308,8 +286,8 @@ GN_ARGS += ' \
308286
'
309287

310288
# Make sure Chromium is able to find clang libraries. See
311-
# 0023-Use-the-correct-path-to-libclang_rt.builtins.a.patch and the
312-
# add_clang_symlink and copy_clang_library tasks for more context.
289+
# 0008-Use-the-correct-path-to-libclang_rt.builtins.a.patch and the
290+
# add_clang_latest and copy_clang_library tasks for more context.
313291
GN_ARGS += ' \
314292
clang_base_path="${@clang_install_path(d)}" \
315293
clang_version="latest" \
@@ -325,7 +303,7 @@ GN_ARGS += 'max_jobs_per_link="${@oe.utils.parallel_make_argument(d, '%d')}"'
325303
# Rust code is rebuilt after updating the Rust toolchain. This is irrelevant for
326304
# our build setup, but not setting it leads to an error.
327305
GN_ARGS += ' \
328-
rust_sysroot_absolute="${RECIPE_SYSROOT_NATIVE}/usr" \
306+
rust_sysroot_absolute="${STAGING_DIR_NATIVE}/usr" \
329307
rustc_version="custom" \
330308
rust_target_triple_vendor_for_target="${TARGET_VENDOR}" \
331309
'
@@ -379,7 +357,7 @@ GN_ARGS:append:armv6 = ' arm_use_neon=false'
379357
GN_ARGS:append:libc-musl = ' use_allocator_shim=false use_partition_alloc_as_malloc=false enable_backup_ref_ptr_support=false'
380358

381359
CHROMIUM_EXTRA_ARGS ?= " \
382-
${@bb.utils.contains('PACKAGECONFIG', 'use-egl', '--use-gl=egl', '', d)} \
360+
${@bb.utils.contains('PACKAGECONFIG', 'use-egl', '--use-angle=gles-egl', '', d)} \
383361
${@bb.utils.contains('PACKAGECONFIG', 'kiosk-mode', '--kiosk --no-first-run --incognito', '', d)} \
384362
${@bb.utils.contains('PACKAGECONFIG', 'gtk4', '--gtk-version=4', '', d)} \
385363
"
@@ -455,39 +433,42 @@ do_add_nodejs_symlink () {
455433
}
456434
addtask add_nodejs_symlink after do_configure before do_compile
457435

458-
do_add_clang_symlink () {
459-
# Creates a `latest` symlink in the native sysroot's /usr/lib/clang
460-
# directory that points to /usr/lib/clang/$CLANG_VERSION. Chromium manually
461-
# links against libclang_rt.builtins.a and uses the `clang_version` GN
462-
# variable to find it. This allows us to set it to the same value for all
436+
do_add_clang_latest () {
437+
# Creates a `latest` directory in the native sysroot's /usr/lib/clang
438+
# directory that is a copy of /usr/lib/clang/$CLANG_VERSION. Chromium
439+
# manually links against libclang_rt.builtins.a and uses the `clang_version`
440+
# GN variable to find it. This allows us to set it to the same value for all
463441
# Yocto releases.
464-
cd "${RECIPE_SYSROOT_NATIVE}/usr/lib/clang"
442+
cd "${STAGING_LIBDIR_NATIVE}/clang"
443+
rm -rf latest
465444
# find the directory containing the library
466445
for dir in *; do
467446
if [ -n "$(find $dir -name 'libclang_rt.builtins*')" ] ; then
468-
ln -sf "$dir" latest
447+
cp -r "$dir" latest
469448
break
470449
fi
471450
done
472451
}
473-
addtask add_clang_symlink after do_configure before do_compile
452+
addtask add_clang_latest after do_configure before do_compile
474453

475454
do_copy_clang_library () {
476455
# Chromium needs to link against libclang_rt.builtins.a for both host and
477456
# target code, and expects to find both libraries in the same directory
478-
# (thanks to 0023-Use-the-correct-path-to-libclang_rt.builtins.a.patch).
479-
cd "${RECIPE_SYSROOT}"
480-
lib_file="$(find usr/lib/clang -name 'libclang_rt.builtins*')"
481-
lib_dir="$(dirname $lib_file)"
482-
cp "$lib_file" "${RECIPE_SYSROOT_NATIVE}/$lib_dir"
457+
# (thanks to 0008-Use-the-correct-path-to-libclang_rt.builtins.a.patch).
458+
cd "${STAGING_DIR_HOST}${nonarch_libdir}/clang"
459+
# lib_file = "./$CLANG_VERSION/lib/linux/libclang_rt.builtins-$ARCH.a"
460+
lib_file="$(find . -name 'libclang_rt.builtins*')"
461+
# stripped_lib_file = "lib/linux/libclang_rt.builtins-$ARCH.a"
462+
stripped_lib_file="${lib_file#*/*/}"
463+
cp "$lib_file" "${STAGING_LIBDIR_NATIVE}/clang/latest/${stripped_lib_file}"
483464
}
484-
addtask copy_clang_library after do_configure before do_compile
465+
addtask copy_clang_library after do_add_clang_latest before do_compile
485466

486467
do_copy_target_rustlibs () {
487468
# Chromium needs a single Rust sysroot that contains the rustlibs for both
488469
# the host and target, so we copy the target rustlibs to the native sysroot.
489-
rustlib_src_dir="${RECIPE_SYSROOT}/usr/lib/rustlib/${TARGET_ARCH}"*
490-
cp -r $rustlib_src_dir "${RECIPE_SYSROOT_NATIVE}/usr/lib/rustlib"
470+
rustlib_src_dir="${STAGING_LIBDIR}/rustlib/${TARGET_ARCH}"*
471+
cp -r $rustlib_src_dir "${STAGING_LIBDIR_NATIVE}/rustlib"
491472
}
492473
addtask copy_target_rustlibs after do_configure before do_compile
493474

0 commit comments

Comments
 (0)