From f5d47e51a36076193d0ef2c5b197502849167e68 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sun, 24 Apr 2022 13:20:28 +0200 Subject: [PATCH 01/12] chromiumDev: Fix the patch phase This fixes the following error during patchShebangs: ./third_party/dawn/third_party/webgpu-cts/tools/run_deno: unsupported interpreter directive "#!/usr/bin/env -S deno run --unstable --allow-read --allow-write --allow-env --allow-net=deno.land --no-check" (set dontPatchShebangs=1 and handle shebang patching yourself) (cherry picked from commit 3e8d4d62374cd66b4e8dd000857c09cb830f227b) --- pkgs/applications/networking/browsers/chromium/common.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 3a9e07187e2d..3904f66ad50e 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -182,6 +182,7 @@ let --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" fi chmod -x third_party/webgpu-cts/src/tools/run_deno + ${lib.optionalString (chromiumVersionAtLeast "102") "chmod -x third_party/dawn/third_party/webgpu-cts/tools/run_deno"} # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX substituteInPlace sandbox/linux/suid/client/setuid_sandbox_host.cc \ From 3d2dfb21af8e84d90a37b52cd9111fb931844b22 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 27 Apr 2022 10:56:53 +0200 Subject: [PATCH 02/12] chromiumDev: 102.0.5005.12 -> 102.0.5005.22 (cherry picked from commit 9cdfc7d6121711b5a56fc727963261eacb84d7c4) --- .../networking/browsers/chromium/upstream-info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 1c059346aafe..0cabe271d498 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -32,9 +32,9 @@ } }, "dev": { - "version": "102.0.5005.12", - "sha256": "11n03hz3g8h7srywxrjwrdrxybdjvmdjrnigjlrwjkydprg1l7ab", - "sha256bin64": "0hc56a98ikkbgdw36dpz9k6r15jmjmnm7faml8z59vixxlvkrw7y", + "version": "102.0.5005.22", + "sha256": "12s4w8qs71a7r13mm28w6kld2q21srwalsy2yfcys4kjmfp4gqfa", + "sha256bin64": "07jj7nvgalzvxacx6srccc82ggckzj4x10w1k2zskcyxpblnd7fc", "deps": { "gn": { "version": "2022-04-14", From 2ffc3580ac81e9a14770e483df22773ab3665c06 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 28 Apr 2022 22:51:33 +0200 Subject: [PATCH 03/12] chromiumDev: 102.0.5005.22 -> 103.0.5028.0 (cherry picked from commit 2f3629b3abdc0a1a4a8b68114ef2e564239b8860) --- .../networking/browsers/chromium/upstream-info.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 0cabe271d498..555ca48379fc 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -32,15 +32,15 @@ } }, "dev": { - "version": "102.0.5005.22", - "sha256": "12s4w8qs71a7r13mm28w6kld2q21srwalsy2yfcys4kjmfp4gqfa", - "sha256bin64": "07jj7nvgalzvxacx6srccc82ggckzj4x10w1k2zskcyxpblnd7fc", + "version": "103.0.5028.0", + "sha256": "06i6kgsdril5gfbjl1sh0z5hqvq64bchhb2z8w0h8cw9977bvqk6", + "sha256bin64": "09hxvcv5n1kd4qnwh6pxzmrlnc8xijm7rwb1c8c57v0jjb32x9ry", "deps": { "gn": { - "version": "2022-04-14", + "version": "2022-04-26", "url": "https://gn.googlesource.com/gn", - "rev": "fd9f2036f26d83f9fcfe93042fb952e5a7fe2167", - "sha256": "0b5xs0chcv3hfhy71rycsmgxnqbm375a333hwav8929k9cbi5p9h" + "rev": "ced9fbfe6943854e65ada4ac1849d1fa4cb19348", + "sha256": "14fgjsfqihmma1cr8n30n37vxkf20paa6swq2yxn1agjvfr9cdvl" } } }, From eb88ce39d13e98815faf30a34c16288fe718aa7c Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 29 Apr 2022 13:17:34 +0200 Subject: [PATCH 04/12] chromiumBeta: 101.0.4951.41 -> 102.0.5005.27 (cherry picked from commit b446b38810c283b427c88dcf23f05a48e978b18b) --- .../networking/browsers/chromium/upstream-info.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 555ca48379fc..31a7ddc665fe 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,15 +19,15 @@ } }, "beta": { - "version": "101.0.4951.41", - "sha256": "0dzsbr309n70jg7fpq2qfnrgcm4553akvdmnzhss1fc85s467609", - "sha256bin64": "1jbj5cykxamf32c1s4gsid1wxcsdf4hng2d19q9h7b2ashkvvrbi", + "version": "102.0.5005.27", + "sha256": "0fznry72w50dpijg55yxkaz1hv1zkvvxini3yxadwpfa5y0mpn3m", + "sha256bin64": "0k543zz3njsn5kh1wf90hqywll9s6g4xrnh2zqph066l91gj17rx", "deps": { "gn": { - "version": "2022-03-14", + "version": "2022-04-14", "url": "https://gn.googlesource.com/gn", - "rev": "bd99dbf98cbdefe18a4128189665c5761263bcfb", - "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3" + "rev": "fd9f2036f26d83f9fcfe93042fb952e5a7fe2167", + "sha256": "0b5xs0chcv3hfhy71rycsmgxnqbm375a333hwav8929k9cbi5p9h" } } }, From 995f834136b2fd6022e68e541a6ad93b1a4d3c9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 30 Apr 2022 02:40:42 +0200 Subject: [PATCH 05/12] google-chrome: remove legacy ? null (cherry picked from commit 60c44828720168f1ddf307540ebb3ffad03f2b46) --- pkgs/applications/networking/browsers/google-chrome/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index 39e9f1cb443c..bb9976e63e32 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -32,7 +32,7 @@ , channel ? "stable" # Necessary for USB audio devices. -, pulseSupport ? true, libpulseaudio ? null +, pulseSupport ? true, libpulseaudio # Only needed for getting information about upstream binaries , chromium From 54e391808c2c8e8893b414d7db5d9b02bf97007e Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sat, 30 Apr 2022 15:19:30 +0200 Subject: [PATCH 06/12] chromiumBeta: Fix the configuration phase This fixes the following error: configuring ERROR at //infra/orchestrator/BUILD.gn:38:17: Could not read file. pydeps_file = "//third_party/blink/tools/merge_web_test_results.pydeps" ^-------------------------------------------------------- I resolved this to "/build/chromium-102.0.5005.27/third_party/blink/tools/merge_web_test_results.pydeps". See //infra/orchestrator/BUILD.gn:37:1: whence it was called. python_library("blink_merge_web_test_results_py") { ^-------------------------------------------------- See //BUILD.gn:89:5: which caused the file to be included. "//infra/orchestrator:orchestrator_all", ^-------------------------------------- It's a known upstream issue when building from the generated tarballs: - https://bugs.chromium.org/p/chromium/issues/detail?id=1313361 - https://chromium-review.googlesource.com/c/chromium/src/+/3457503 (cherry picked from commit 73e094bf3cdb836c3afa48bfd3628af980bb6f3e) --- pkgs/applications/networking/browsers/chromium/common.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 3904f66ad50e..d6ae683af732 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -162,7 +162,11 @@ let ./patches/widevine-79.patch ]; - postPatch = '' + postPatch = optionalString (chromiumVersionAtLeast "102") '' + # Workaround/fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1313361: + substituteInPlace BUILD.gn \ + --replace '"//infra/orchestrator:orchestrator_all",' "" + '' + '' # remove unused third-party for lib in ${toString gnSystemLibraries}; do if [ -d "third_party/$lib" ]; then From d641d1074d86384f5262f12240dfca1c866552f6 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Sat, 30 Apr 2022 18:39:57 +0200 Subject: [PATCH 07/12] chromiumBeta: Fix a compilation error LLVM 14 doesn't support those build flags yet (-no-opaque-pointers is the argument for -Xclang): error: unknown argument: '-no-opaque-pointers' Those build flags were added in the following commit: https://source.chromium.org/chromium/chromium/src/+/003067c130958bb2f867324cd675b4e5d1efbf00 (cherry picked from commit 7f684c2ba0a35ecdee3c1dcc5fb15e0fcb4be581) --- pkgs/applications/networking/browsers/chromium/common.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index d6ae683af732..4ad145ee17ed 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -166,6 +166,10 @@ let # Workaround/fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1313361: substituteInPlace BUILD.gn \ --replace '"//infra/orchestrator:orchestrator_all",' "" + # Disable build flags that require LLVM 15: + substituteInPlace build/config/compiler/BUILD.gn \ + --replace '"-Xclang",' "" \ + --replace '"-no-opaque-pointers",' "" '' + '' # remove unused third-party for lib in ${toString gnSystemLibraries}; do From 7f1730aae3d77887df2ee58b9f7a7d70bb838ef0 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 6 May 2022 21:16:21 +0200 Subject: [PATCH 08/12] chromiumBeta: 102.0.5005.27 -> 102.0.5005.40 (cherry picked from commit e1ae57055baa91b537bff1174624bb6544148932) --- .../networking/browsers/chromium/upstream-info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 31a7ddc665fe..83a55ad4dea1 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,9 +19,9 @@ } }, "beta": { - "version": "102.0.5005.27", - "sha256": "0fznry72w50dpijg55yxkaz1hv1zkvvxini3yxadwpfa5y0mpn3m", - "sha256bin64": "0k543zz3njsn5kh1wf90hqywll9s6g4xrnh2zqph066l91gj17rx", + "version": "102.0.5005.40", + "sha256": "1max5ndvl59j2hlv9k88dmadr4q05q1clzlc6zba0gcbvqx5q9jb", + "sha256bin64": "1byqx9w0hqwk3vizdas3dylbm69108bnq4xlm0mp1p1gh37h1642", "deps": { "gn": { "version": "2022-04-14", From c5679c77de0c7c33e1fc67c8557513115a0ab0f8 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 6 May 2022 21:16:21 +0200 Subject: [PATCH 09/12] chromiumDev: 103.0.5028.0 -> 103.0.5042.0 (cherry picked from commit fdeff962623f3d161d93c18db6ed8475b0fe2b07) --- .../networking/browsers/chromium/upstream-info.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 83a55ad4dea1..8f2bdf61e569 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -32,15 +32,15 @@ } }, "dev": { - "version": "103.0.5028.0", - "sha256": "06i6kgsdril5gfbjl1sh0z5hqvq64bchhb2z8w0h8cw9977bvqk6", - "sha256bin64": "09hxvcv5n1kd4qnwh6pxzmrlnc8xijm7rwb1c8c57v0jjb32x9ry", + "version": "103.0.5042.0", + "sha256": "0wm8m1mff8gb0x7whif16gvmhibgc8ndygnawkwq3g4fvninb65h", + "sha256bin64": "0vzmpi36a86kgxhdxvbqbn7i1wf2annar1mi15gra1cjpz3lf9kh", "deps": { "gn": { - "version": "2022-04-26", + "version": "2022-05-02", "url": "https://gn.googlesource.com/gn", - "rev": "ced9fbfe6943854e65ada4ac1849d1fa4cb19348", - "sha256": "14fgjsfqihmma1cr8n30n37vxkf20paa6swq2yxn1agjvfr9cdvl" + "rev": "53ef169800760fdc09f0773bf380fe99eaeab339", + "sha256": "08i7qc4qvf8gb3vryajvww75wk653fybf1bb2k40r8i07znhy78r" } } }, From a5912a8e90faab231c4819b05f46b0e05abd821b Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 13 May 2022 20:30:37 +0200 Subject: [PATCH 10/12] chromiumBeta: 102.0.5005.40 -> 102.0.5005.49 (cherry picked from commit 46a14c6a370f36c395261c59af356976145482b3) --- .../networking/browsers/chromium/upstream-info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 8f2bdf61e569..a5373b144b44 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,9 +19,9 @@ } }, "beta": { - "version": "102.0.5005.40", - "sha256": "1max5ndvl59j2hlv9k88dmadr4q05q1clzlc6zba0gcbvqx5q9jb", - "sha256bin64": "1byqx9w0hqwk3vizdas3dylbm69108bnq4xlm0mp1p1gh37h1642", + "version": "102.0.5005.49", + "sha256": "16r9mrsagy8lspr4pcrzfpw0vw0ym9m7n41a9yipjhm2arlhw5b2", + "sha256bin64": "0lyk6rd9c1gyvxsmq1bl7asr7carzyaan306ddvwxsy5rfh53jxa", "deps": { "gn": { "version": "2022-04-14", From 873fff2e1f5cb1567dff451738eb1da1d1b4faf6 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Fri, 13 May 2022 20:30:37 +0200 Subject: [PATCH 11/12] chromiumDev: 103.0.5042.0 -> 103.0.5056.0 (cherry picked from commit e1fb27152d5d107f54dedc616ee4adbd6e7ae890) --- .../networking/browsers/chromium/upstream-info.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index a5373b144b44..031439f75d23 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -32,15 +32,15 @@ } }, "dev": { - "version": "103.0.5042.0", - "sha256": "0wm8m1mff8gb0x7whif16gvmhibgc8ndygnawkwq3g4fvninb65h", - "sha256bin64": "0vzmpi36a86kgxhdxvbqbn7i1wf2annar1mi15gra1cjpz3lf9kh", + "version": "103.0.5056.0", + "sha256": "1mvi7yc38cxn39wqm8ybrn862gaw293rb6lwcszc6rmzwd9jmd29", + "sha256bin64": "06371adaz8llzfjykc72vjvpy3xrgvqzz9kdrr82jdx1pjdbv29d", "deps": { "gn": { - "version": "2022-05-02", + "version": "2022-05-09", "url": "https://gn.googlesource.com/gn", - "rev": "53ef169800760fdc09f0773bf380fe99eaeab339", - "sha256": "08i7qc4qvf8gb3vryajvww75wk653fybf1bb2k40r8i07znhy78r" + "rev": "bf4e17dc67b2a2007475415e3f9e1d1cf32f6e35", + "sha256": "0d2lb4alsx32zsdw3jxpxbzal350mim237p2y984h4r6fd1ddzyi" } } }, From 21a18c6b0443ce0ba02860c5e31b807752bfa1f5 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 11 May 2022 12:52:35 +0200 Subject: [PATCH 12/12] chromiumBeta: Fix the build The build was failing with: [4758/49762] ACTION //third_party/dawn/src/dawn/common:dawn_version_gen__json_tarball(//build/toolchain/linux/unbundle:default)Ke:default)ux/unbundle:default)[Kuide/optimization_guide_internals/resources/optimization_guide_internals.mojom-webui.js FAILED: gen/third_party/dawn/dawn_version_gen.json_tarball python3 ../../third_party/dawn/generator/dawn_version_generator.py --dawn-dir ../../third_party/dawn/ --template-dir /build/chromium-102.0.5005.49/third_party/dawn/generator/templates --jinja2-path /build/chromium-102.0.5005.49/third_party/jinja2 --output-json-tarball gen/third_party/dawn/dawn_version_gen.json_tarball --depfile gen/third_party/dawn/dawn_version_gen.json_tarball.d --expected-outputs-file gen/third_party/dawn/dawn_version_gen.expected_outputs --allowed-output-dirs-file gen/third_party/dawn/dawn_version_gen.allowed_output_dirs Traceback (most recent call last): [...] FileNotFoundError: [Errno 2] No such file or directory: 'git' [4761/49762] ACTION //third_party/blink/renderer/bindings:generate_bindings_all(//build/toolchain/linux/unbundle:default)fault) ninja: build stopped: subcommand failed. More details here: https://bugs.chromium.org/p/chromium/issues/detail?id=1321370 The patch doesn't apply to M102 so I had to cherry-pick it manually. (cherry picked from commit 37a13a3d4d838de3faa2431aab52bf19b5ca4930) --- .../networking/browsers/chromium/common.nix | 4 ++ ...2-fix-dawn_version_generator-failure.patch | 43 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 pkgs/applications/networking/browsers/chromium/patches/m102-fix-dawn_version_generator-failure.patch diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 4ad145ee17ed..8d99fcc8abf6 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -160,6 +160,10 @@ let ./patches/no-build-timestamps.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags: ./patches/widevine-79.patch + ] ++ optionals (versionRange "102" "103") [ + # https://dawn-review.googlesource.com/c/dawn/+/88582 + # Wrap get_gitHash in try-catch to prevent failures in tarball builds. + ./patches/m102-fix-dawn_version_generator-failure.patch ]; postPatch = optionalString (chromiumVersionAtLeast "102") '' diff --git a/pkgs/applications/networking/browsers/chromium/patches/m102-fix-dawn_version_generator-failure.patch b/pkgs/applications/networking/browsers/chromium/patches/m102-fix-dawn_version_generator-failure.patch new file mode 100644 index 000000000000..e9391541e435 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/m102-fix-dawn_version_generator-failure.patch @@ -0,0 +1,43 @@ +From e9ffd084ec1ff9f7bfc86879732953dc58256958 Mon Sep 17 00:00:00 2001 +From: Loko Kung +Date: Tue, 3 May 2022 00:28:53 +0000 +Subject: [PATCH] Wrap get_gitHash in try-catch to prevent failures in tarball + builds. + +Bug: chromium:1321370 +Change-Id: If39d2236d1b4d965f7bd189f6bd1cdc70436c41d +Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88582 +Commit-Queue: Loko Kung +Reviewed-by: Austin Eng +Kokoro: Kokoro +(cherry picked from commit 03ddfbb81fb4127ca37ea53e70fcb34fe851e24e) +--- + third_party/dawn/generator/dawn_version_generator.py | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/third_party/dawn/generator/dawn_version_generator.py b/third_party/dawn/generator/dawn_version_generator.py +index 1907e88da..3c1927bee 100644 +--- a/third_party/dawn/generator/dawn_version_generator.py ++++ b/third_party/dawn/generator/dawn_version_generator.py +@@ -23,11 +23,14 @@ def get_git(): + + + def get_gitHash(dawnDir): +- result = subprocess.run([get_git(), 'rev-parse', 'HEAD'], +- stdout=subprocess.PIPE, +- cwd=dawnDir) +- if result.returncode == 0: +- return result.stdout.decode('utf-8').strip() ++ try: ++ result = subprocess.run([get_git(), "rev-parse", "HEAD"], ++ stdout=subprocess.PIPE, ++ cwd=dawnDir) ++ if result.returncode == 0: ++ return result.stdout.decode("utf-8").strip() ++ except Exception: ++ return "" + # No hash was available (possibly) because the directory was not a git checkout. Dawn should + # explicitly handle its absenece and disable features relying on the hash, i.e. caching. + return '' +-- +2.36.0