diff --git a/info.yml b/info.yml index b7965b1..aa9d5a1 100644 --- a/info.yml +++ b/info.yml @@ -1,6 +1,6 @@ name: chromium description: A safe, fast and stable open-source browser project -version: 150.0.7871.124 +version: 151.0.7922.173 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: 4193989c88104420c3d3437e3926ed456bbf74926b24d60bccd06137596e3644 + checksum: 083eb4a98003f5b34d9fe7b3912478ef14f2ed0a16c7c2d932549b9e62aabcc4 diff --git a/recipe.sh b/recipe.sh index 5c47b0f..e0aead9 100644 --- a/recipe.sh +++ b/recipe.sh @@ -39,13 +39,8 @@ 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 + # Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3883 + patch -Np1 -i "$BPM_WORKDIR"/chromium-151-dont-depends-on-histograms.xml-if-it-is-not-git-checkout.patch # Fix issue about missing AVX functions # Credit: https://github.com/ungoogled-software/ungoogled-chromium/pull/3837 @@ -57,11 +52,13 @@ prepare() { # Link to system tools required by the build mkdir -p third_party/node/linux/node-linux-x64/bin \ third_party/rust-toolchain/bin \ - third_party/jdk/current/bin + third_party/jdk/current/bin \ + third_party/dawn/tools/golang/linux-amd64/bin ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ ln -s /usr/bin/rustc third_party/rust-toolchain/bin/ ln -s /usr/bin/java third_party/jdk/current/bin/ + ln -s /usr/bin/go third_party/dawn/tools/golang/linux-amd64/bin/ # Use system gperf binary rm -f third_party/gperf/cipd/bin/gperf diff --git a/source-files/chromium-149-drop-unknown-clang-flag.patch b/source-files/chromium-149-drop-unknown-clang-flag.patch index 2560738..4b90a95 100644 --- a/source-files/chromium-149-drop-unknown-clang-flag.patch +++ b/source-files/chromium-149-drop-unknown-clang-flag.patch @@ -1,29 +1,30 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index f977c9fed76e6f50c50351ca22128e8c8c8897b1..81460f3591b734f3354a6f9ac7bb0990e5b28889 100644 +index 7df3e18c4c..1d253318a6 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn -@@ -589,7 +589,7 @@ config("compiler") { - # Flags for diagnostics. +@@ -578,7 +578,7 @@ config("compiler") { cflags += [ "-fcolor-diagnostics" ] - if (!is_win) { -- cflags += [ "-fdiagnostics-show-inlining-chain" ] -+ cflags += [ ] - } else { - # Combine after https://github.com/llvm/llvm-project/pull/192241 - cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ] -@@ -1911,7 +1911,7 @@ config("clang_warning_suppression") { + if (!is_wasm) { + if (!is_win) { +- cflags += [ "-fdiagnostics-show-inlining-chain" ] ++ cflags += [ ] + } else { + # Combine after https://github.com/llvm/llvm-project/pull/192241 + cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ] +@@ -1578,7 +1578,7 @@ config("clang_warning_suppression") { # See also: https://crbug.com/40891132#comment10 ubsan_hardening("c_array_bounds") { sanitizer = "array-bounds" -- condition = !(is_asan && target_cpu == "x86") +- condition = !(is_asan && target_cpu == "x86") && !is_wasm + condition = false # Because we've enabled array-bounds sanitizing we also want to suppress # the related warning about "unsafe-buffer-usage-in-static-sized-array", -@@ -1925,6 +1925,7 @@ ubsan_hardening("c_array_bounds") { +@@ -1592,7 +1592,7 @@ ubsan_hardening("c_array_bounds") { # `NOTREACHED()` at the end of such functions. ubsan_hardening("return") { sanitizer = "return" +- condition = !is_wasm + condition = false } diff --git a/source-files/chromium-150-fix-ar-unbundle.patch b/source-files/chromium-150-fix-ar-unbundle.patch deleted file mode 100644 index bbc67ee..0000000 --- a/source-files/chromium-150-fix-ar-unbundle.patch +++ /dev/null @@ -1,79 +0,0 @@ -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 deleted file mode 100644 index 4751777..0000000 --- a/source-files/chromium-150-fix-sysroot-path-error.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- 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-151-dont-depends-on-histograms.xml-if-it-is-not-git-checkout.patch b/source-files/chromium-151-dont-depends-on-histograms.xml-if-it-is-not-git-checkout.patch new file mode 100644 index 0000000..4d8f447 --- /dev/null +++ b/source-files/chromium-151-dont-depends-on-histograms.xml-if-it-is-not-git-checkout.patch @@ -0,0 +1,37 @@ +From 27f8690db999f6e56f0af7a9ea3d28a019ed72ca Mon Sep 17 00:00:00 2001 +From: Fumitoshi Ukai +Date: Tue, 30 Jun 2026 18:32:03 -0700 +Subject: [PATCH] don't depends on histograms.xml if it is not git checkout + +histograms.xml is only generated on git checkout. + +Bug: 329080012 +Change-Id: Iea4484f8af4cf9ef25e25ea1df2c616fbe46ed5c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8019063 +Reviewed-by: Jesse McKenna +Commit-Queue: Fumitoshi Ukai +Auto-Submit: Fumitoshi Ukai +Cr-Commit-Position: refs/heads/main@{#1655184} +--- + +diff --git a/tools/metrics/BUILD.gn b/tools/metrics/BUILD.gn +index c826e97..23799c7 100644 +--- a/tools/metrics/BUILD.gn ++++ b/tools/metrics/BUILD.gn +@@ -41,11 +41,11 @@ + ] + + # Only include histograms_xml if we have access to dirmd data, which +- # is used to populate ownership information. This is only set to false +- # for non-git checkouts. +- # TODO(crbug.com/329080012): Remove this once dirmd works in non-git +- # checkouts. +- if (generate_location_tags) { ++ # is used to populate ownership information. This is disabled ++ # for non-git checkouts, as dirmd doesn't work on non-git checkout. ++ # TODO(crbug.com/329080012): Remove this condition once dirmd works ++ # in non-git checkouts. ++ if (path_exists("//.git")) { + deps += [ ":histograms_xml" ] + } + }