diff --git a/info.yml b/info.yml index 43cc798..6aad2c9 100644 --- a/info.yml +++ b/info.yml @@ -1,6 +1,6 @@ name: chromium description: A safe, fast and stable open-source browser project -version: 149.0.7827.155 +version: 150.0.7871.46 revision: 1 url: https://www.chromium.org/Home/ license: BSD-3-License @@ -59,4 +59,4 @@ downloads: - url: https://github.com/chromium-linux-tarballs/chromium-tarballs/releases/download/${BPM_PKG_VERSION}/chromium-${BPM_PKG_VERSION}-linux.tar.xz extract_to: ${BPM_SOURCE} extract_strip_components: 1 - checksum: c06d5e416b38c492648092f0a001238f75df648a14482143a6296452aec4d653 + checksum: 81c9263d5cf3d6a4ddd1c86c10242dc0104194ad5bc63aa631597cd9a32b7724 diff --git a/recipe.sh b/recipe.sh index 3f61808..5c47b0f 100644 --- a/recipe.sh +++ b/recipe.sh @@ -39,6 +39,17 @@ prepare() { patch -Np1 -i "$BPM_WORKDIR"/chromium-149-use-of-undeclared-identifier-ERROR.patch + # Fix issue about missing AR file + # Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3837 + patch -Np1 -i "$BPM_WORKDIR"/chromium-150-fix-ar-unbundle.patch + + # Fix issue about missing sysroot path + # Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3837#issuecomment-4836756738 + patch -Np1 -i "$BPM_WORKDIR"/chromium-150-fix-sysroot-path-error.patch + + # Fix issue about missing AVX functions + # Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3837 + patch -Np1 -i "$BPM_WORKDIR"/chromium-150-revert-avx-flag-change.patch # Allow building against system libraries in official builds sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py diff --git a/source-files/chromium-150-fix-ar-unbundle.patch b/source-files/chromium-150-fix-ar-unbundle.patch new file mode 100644 index 0000000..bbc67ee --- /dev/null +++ b/source-files/chromium-150-fix-ar-unbundle.patch @@ -0,0 +1,79 @@ +From 60f987d8d5f7272793a40290d060b8f50933f825 Mon Sep 17 00:00:00 2001 +From: Takuto Ikuta +Date: Mon, 08 Jun 2026 19:43:20 -0700 +Subject: [PATCH] build: Omit ar from inputs when resolved via $PATH + +The GN build configuration previously added the `ar` tool to the inputs +list unconditionally. However, if the `ar` tool is specified simply by +its filename and is resolved via the system `$PATH`, it should not be +tracked as a direct input dependency. + +This change adds a condition to verify if `ar` is an explicit path +rather than just a filename. It only includes `ar` in the action's +inputs list when it is not resolved from `$PATH`. + +This is to address +https://crrev.com/c/7835150/8/build/toolchain/gcc_toolchain.gni#406 + +Bug: 358521078 +Change-Id: I096ac4aa7f3b697c58c94af1349159b9c87f4201 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7904982 +Commit-Queue: Takuto Ikuta +Reviewed-by: Matt Stark +Auto-Submit: Takuto Ikuta +Cr-Commit-Position: refs/heads/main@{#1643634} +--- + +diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni +index 51433d4..ec66ab3 100644 +--- a/build/toolchain/gcc_toolchain.gni ++++ b/build/toolchain/gcc_toolchain.gni +@@ -408,8 +408,12 @@ + command = "cmd /s /c \"\"$python_path\" $tool_wrapper_path delete-file {{output}} && $command\"" + } else { + command = "rm -f {{output}} && $command" +- inputs = +- [ get_path_info(rebase_path(ar, ".", root_out_dir), "abspath") ] ++ ++ # Add ar to inputs if it's not from $PATH. ++ if (get_path_info(ar, "file") != ar) { ++ inputs = ++ [ get_path_info(rebase_path(ar, ".", root_out_dir), "abspath") ] ++ } + } + + # Almost all targets build with //build/config/compiler:thin_archive which +From 7d6555b11f181bdc24ba56577f753a07add6e8c7 Mon Sep 17 00:00:00 2001 +From: Matt Jolly +Date: Tue, 16 Jun 2026 21:57:07 -0700 +Subject: [PATCH] build: Fix get_path_info on empty ar in unbundle toolchain + +Some toolchains leave ar empty during initial setup, causing GN to error +when get_path_info() is called with an empty string. Guard the check to +only run when ar is not empty. + +Signed-off-by: Matt Jolly +Change-Id: I87615806ddfda6f262a7500b0c5b6fed1f452985 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7949777 +Reviewed-by: Takuto Ikuta +Commit-Queue: Takuto Ikuta +Reviewed-by: Matt Stark +Cr-Commit-Position: refs/heads/main@{#1648076} +--- + +diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni +index ec66ab3..d8457bfa 100644 +--- a/build/toolchain/gcc_toolchain.gni ++++ b/build/toolchain/gcc_toolchain.gni +@@ -409,8 +409,9 @@ + } else { + command = "rm -f {{output}} && $command" + +- # Add ar to inputs if it's not from $PATH. +- if (get_path_info(ar, "file") != ar) { ++ # Add ar to inputs if it's not from $PATH. Some toolchains leave ++ # |ar| empty during toolchain setup, so guard get_path_info() here. ++ if (ar != "" && get_path_info(ar, "file") != ar) { + inputs = + [ get_path_info(rebase_path(ar, ".", root_out_dir), "abspath") ] + } diff --git a/source-files/chromium-150-fix-sysroot-path-error.patch b/source-files/chromium-150-fix-sysroot-path-error.patch new file mode 100644 index 0000000..4751777 --- /dev/null +++ b/source-files/chromium-150-fix-sysroot-path-error.patch @@ -0,0 +1,14 @@ +--- a/build/modules/BUILD.gn 2026-06-29 22:17:02.923026367 +0200 ++++ b/build/modules/BUILD.gn 2026-06-29 20:58:27.401566072 +0200 +@@ -223,13 +223,6 @@ + # otherwise. + "--append-module=std.new:export new_h\\nexport vcruntime_exception", + ] +- } else { +- # We need to pass the sysroot in so that it can scan it to generate a +- # modulemap for the sysroot headers. +- args += [ +- "--sysroot", +- rebase_path(sysroot, root_build_dir), +- ] + } diff --git a/source-files/chromium-150-revert-avx-flag-change.patch b/source-files/chromium-150-revert-avx-flag-change.patch new file mode 100644 index 0000000..6a19bc9 --- /dev/null +++ b/source-files/chromium-150-revert-avx-flag-change.patch @@ -0,0 +1,16 @@ +--- b/skia/BUILD.gn ++++ a/skia/BUILD.gn +@@ -884,8 +884,11 @@ + cflags = [ "/arch:AVX512" ] + } else { + cflags = [ ++ "-mavx512f", ++ "-mavx512dq", ++ "-mavx512cd", ++ "-mavx512bw", ++ "-mavx512vl", +- "-march=x86-64-v4", +- "-mprefer-vector-width=512", + ] + } + }