diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 767a3f4483c..a9331041ddd 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -6,7 +6,7 @@ # Native build inputs: , ninja, pkg-config -, python2, python3, perl +, python3, perl , gnutar, which , llvmPackages # postPatch: @@ -34,6 +34,7 @@ , libva , libdrm, wayland, libxkbcommon # Ozone , curl +, epoxy # postPatch: , glibc # gconv + locale @@ -53,12 +54,13 @@ buildFun: with lib; let - python2WithPackages = python2.withPackages(ps: with ps; [ - ply jinja2 setuptools - ]); python3WithPackages = python3.withPackages(ps: with ps; [ ply jinja2 setuptools ]); + clangFormatPython3 = fetchurl { + url = "https://chromium.googlesource.com/chromium/tools/build/+/e77882e0dde52c2ccf33c5570929b75b4a2a2522/recipes/recipe_modules/chromium/resources/clang-format?format=TEXT"; + sha256 = "0ic3hn65dimgfhakli1cyf9j3cxcqsf1qib706ihfhmlzxf7256l"; + }; # The additional attributes for creating derivations based on the chromium # source tree. @@ -125,7 +127,7 @@ let nativeBuildInputs = [ ninja pkg-config - python2WithPackages python3WithPackages perl + python3WithPackages perl gnutar which llvmPackages.bintools ]; @@ -150,6 +152,8 @@ let libva libdrm wayland mesa.drivers libxkbcommon curl + ] ++ optionals (chromiumVersionAtLeast "96") [ + epoxy ] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ] ++ optional gnomeKeyringSupport libgnome-keyring3 ++ optionals cupsSupport [ libgcrypt cups ] @@ -181,7 +185,7 @@ let substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \ --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" fi - chmod -x third_party/webgpu-cts/src/tools/deno + chmod -x third_party/webgpu-cts/src/tools/${lib.optionalString (chromiumVersionAtLeast "96") "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 \ @@ -212,6 +216,9 @@ let # Allow to put extensions into the system-path. sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc + # We need the fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1254408: + base64 --decode ${clangFormatPython3} > buildtools/linux64/clang-format + patchShebangs . # Link to our own Node.js and Java (required during the build): mkdir -p third_party/node/linux/node-linux-x64/bin @@ -308,7 +315,7 @@ let # This is to ensure expansion of $out. libExecPath="${libExecPath}" - ${python2}/bin/python2 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries} + ${python3}/bin/python3 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries} ${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt # Fail if `gn gen` contains a WARNING. diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 0b61f1a46d7..6e890ccb6c3 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -1,8 +1,8 @@ { "stable": { - "version": "94.0.4606.81", - "sha256": "16755mfqxxmvslm9ix060safrnml91ckj5p85960jj5g5hmslwbh", - "sha256bin64": "1d3z5np6b6jax7afak7f0yh76kmmdggdjlrzwyhy8hgrv7c7rsdz", + "version": "95.0.4638.54", + "sha256": "1zb1009gg9962axn2l1krycz7ml20i8z2n3ka2psxpg68pbqivry", + "sha256bin64": "0mf9jfzwz6nkz1yg8lndz1gmsvmdh1rxhqkv0vd9nr04h5x9b41a", "deps": { "gn": { "version": "2021-08-11", @@ -12,15 +12,15 @@ } }, "chromedriver": { - "version": "94.0.4606.61", - "sha256_linux": "1l7ls8qqqd9q3a20a459q40jd9djzf67s8qfdmfj44vwgidiw0fj", - "sha256_darwin": "1b43agdd6vw5zarrbbk1sgmdr6n3d9cdl4dcikk304yplh58d49v" + "version": "95.0.4638.17", + "sha256_linux": "0jqq2h3rjancq9gk4w29gcr4b3z4irnkbvcj97fdsnksck9y5h2q", + "sha256_darwin": "0vl73i28xq3z5njg4287j08pb2sfd28amc8hkm4ddq5dgqpim0l8" } }, "beta": { - "version": "95.0.4638.17", - "sha256": "1v5r8m3wlwh6prcj7bd4zprsr4g43869lhxv43m207c5nlnqiriz", - "sha256bin64": "0h88gd8y4i2jmvhiwadbq6hzqygddym8jy1fhzp8qnwfhc30qm4m", + "version": "95.0.4638.54", + "sha256": "1zb1009gg9962axn2l1krycz7ml20i8z2n3ka2psxpg68pbqivry", + "sha256bin64": "06d0kjnrv8z74icc6nahllxbwn3xxwn0vgc7ss47402zrqig8lch", "deps": { "gn": { "version": "2021-08-11", @@ -31,15 +31,15 @@ } }, "dev": { - "version": "95.0.4638.17", - "sha256": "1v5r8m3wlwh6prcj7bd4zprsr4g43869lhxv43m207c5nlnqiriz", - "sha256bin64": "1azn9216jhcdg4yjr6frz8vp98qbcnnhifp9jn9bwvyg69lr0dwb", + "version": "96.0.4664.9", + "sha256": "0hlniaglnd19cb3k2wi9mmf56ws8i89lm5y2dbjpr7vqnmj6qc39", + "sha256bin64": "1crl8gbhjyaa0yhkvm4va0g9dyljra8n5zg9bd1znmjlk0c124x3", "deps": { "gn": { - "version": "2021-08-11", + "version": "2021-09-24", "url": "https://gn.googlesource.com/gn", - "rev": "69ec4fca1fa69ddadae13f9e6b7507efa0675263", - "sha256": "031znmkbm504iim5jvg3gmazj4qnkfc7zg8aymjsij18fhf7piz0" + "rev": "0153d369bbccc908f4da4993b1ba82728055926a", + "sha256": "0y4414h8jqsbz5af6pn91c0vkfp4s281s85g992xfyl785c5zbsi" } } }, diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix index 34cc5bb9160..03bdb84f438 100644 --- a/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -6,7 +6,7 @@ , alsa-lib, libXdamage, libXtst, libXrandr, libxshmfence, expat, cups , dbus, gtk3, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core , libkrb5, libdrm, mesa -, libxkbcommon, wayland # ozone/wayland +, libxkbcommon, pipewire, wayland # ozone/wayland # Command line programs , coreutils @@ -67,7 +67,7 @@ let flac harfbuzz icu libpng opusWithCustomModes snappy speechd bzip2 libcap at-spi2-atk at-spi2-core libkrb5 libdrm mesa coreutils - libxkbcommon wayland + libxkbcommon pipewire wayland ] ++ optional pulseSupport libpulseaudio ++ optional libvaSupport libva ++ optional vulkanSupport vulkan-loader