diff options
Diffstat (limited to 'pkgs/applications/networking/browsers/chromium')
10 files changed, 167 insertions, 166 deletions
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index 24811cc336b6a..5b77afaaf3ebb 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -73,7 +73,7 @@ mkChromiumDerivation (base: rec { requiredSystemFeatures = [ "big-parallel" ]; meta = { - description = "An open source web browser from Google" + description = "Open source web browser from Google" + lib.optionalString ungoogled ", with dependencies on Google web services removed"; longDescription = '' Chromium is an open source web browser from Google that aims to build a diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index d78943a5c5c26..fab1bbdff39e9 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -3,7 +3,6 @@ , buildPackages , buildPlatform , pkgsBuildBuild -, pkgsBuildTarget # Channel data: , channel, upstream-info # Helper functions: @@ -13,13 +12,13 @@ , ninja, pkg-config , python3, perl , which -, llvmPackages_attrName , libuuid , overrideCC # postPatch: , pkgsBuildHost # configurePhase: , gnChromium +, symlinkJoin # Build inputs: , libpng @@ -131,7 +130,7 @@ let # https://github.com/NixOS/nixpkgs/issues/142901 buildPlatformLlvmStdenv = let - llvmPackages = pkgsBuildBuild.${llvmPackages_attrName}; + llvmPackages = pkgsBuildBuild.rustc.llvmPackages; in overrideCC llvmPackages.stdenv (llvmPackages.stdenv.cc.override { @@ -164,7 +163,7 @@ let ninja pkg-config python3WithPackages perl which - buildPackages.${llvmPackages_attrName}.bintools + buildPackages.rustc.llvmPackages.bintools bison gperf ]; @@ -200,7 +199,7 @@ let pciutils protobuf speechd libXdamage at-spi2-core pipewire libva - libdrm wayland mesa.drivers libxkbcommon + libdrm wayland libxkbcommon curl libepoxy libffi @@ -228,7 +227,7 @@ let pciutils protobuf speechd libXdamage at-spi2-core pipewire libva - libdrm wayland mesa.drivers libxkbcommon + libdrm wayland libxkbcommon curl libepoxy libffi @@ -241,8 +240,34 @@ let ./patches/cross-compile.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed): ./patches/no-build-timestamps.patch - # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags: - ./patches/widevine-79.patch + ] ++ lib.optionals (packageName == "chromium") [ + # This patch is limited to chromium and ungoogled-chromium because electron-source sets + # enable_widevine to false. + # + # The patch disables the automatic Widevine download (component) that happens at runtime + # completely (~/.config/chromium/WidevineCdm/). This would happen if chromium encounters DRM + # protected content or when manually opening chrome://components. + # + # It also prevents previously downloaded Widevine blobs in that location from being loaded and + # used at all, while still allowing the use of our -wv wrapper. This is because those old + # versions are out of out our control and may be vulnerable, given we literally disable their + # auto updater. + # + # bundle_widevine_cdm is available as gn flag, but we cannot use it, as it expects a bunch of + # files Widevine files at configure/compile phase that we don't have. Changing the value of the + # BUNDLE_WIDEVINE_CDM build flag does work in the way we want though. + # We also need enable_widevine_cdm_component to be false. Unfortunately it isn't exposed as gn + # flag (declare_args) so we simply hardcode it to false. + ./patches/widevine-disable-auto-download-allow-bundle.patch + ] ++ lib.optionals (versionRange "125" "126") [ + # Fix building M125 with ninja 1.12. Not needed for M126+. + # https://issues.chromium.org/issues/336911498 + # https://chromium-review.googlesource.com/c/chromium/src/+/5487538 + (githubPatch { + commit = "a976cb05b4024b7a6452d1541378d718cdfe33e6"; + hash = "sha256-K2PSeJAvhGH2/Yp63/4mJ85NyqXqDDkMWY+ptrpgmOI="; + }) + ] ++ [ # Required to fix the build with a more recent wayland-protocols version # (we currently package 1.26 in Nixpkgs while Chromium bundles 1.21): # Source: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1 @@ -250,37 +275,23 @@ let # Chromium reads initial_preferences from its own executable directory # This patch modifies it to read /etc/chromium/initial_preferences ./patches/chromium-initial-prefs.patch - ] ++ lib.optionals (chromiumVersionAtLeast "120") [ - # We need to revert this patch to build M120+ with LLVM 17: + ] ++ lib.optionals (versionRange "120" "126") [ + # Partial revert to build M120+ with LLVM 17: + # https://github.com/chromium/chromium/commit/02b6456643700771597c00741937e22068b0f956 + # https://github.com/chromium/chromium/commit/69736ffe943ff996d4a88d15eb30103a8c854e29 ./patches/chromium-120-llvm-17.patch - ] ++ lib.optionals (!chromiumVersionAtLeast "119.0.6024.0") [ - # Fix build with at-spi2-core ≥ 2.49 - # This version is still needed for electron. - (githubPatch { - commit = "fc09363b2278893790d131c72a4ed96ec9837624"; - hash = "sha256-l60Npgs/+0ozzuKWjwiHUUV6z59ObUjAPTfXN7eXpzw="; - }) - ] ++ lib.optionals (!chromiumVersionAtLeast "121.0.6104.0") [ - # Fix build with at-spi2-core ≥ 2.49 - # https://chromium-review.googlesource.com/c/chromium/src/+/5001687 - (githubPatch { - commit = "b9bef8e9555645fc91fab705bec697214a39dbc1"; - hash = "sha256-CJ1v/qc8+nwaHQR9xsx08EEcuVRbyBfCZCm/G7hRY+4="; - }) - ] ++ lib.optionals (chromiumVersionAtLeast "121") [ + ] ++ lib.optionals (chromiumVersionAtLeast "126") [ + # Rebased variant of patch right above to build M126+ with LLVM 17. + # staging-next will bump LLVM to 18, so we will be able to drop this soon. + ./patches/chromium-126-llvm-17.patch + ] ++ lib.optionals (versionRange "121" "126") [ # M121 is the first version to require the new rust toolchain. # Partial revert of https://github.com/chromium/chromium/commit/3687976b0c6d36cf4157419a24a39f6770098d61 # allowing us to use our rustc and our clang. ./patches/chromium-121-rust.patch - ] ++ lib.optionals (chromiumVersionAtLeast "124" && !chromiumVersionAtLeast "124.0.6367.118") [ - # M124 < 124.0.6367.118 shipped with broken --ozone-platform-hint flag handling, which we rely on - # for our NIXOS_OZONE_WL (wayland) environment variable. - # See <https://issues.chromium.org/issues/329678163>. - # This is the commit for the fix that landed in M125, which applies clean on M124. - (githubPatch { - commit = "c7f4c58f896a651eba80ad805ebdb49d19ebdbd4"; - hash = "sha256-6nYWT2zN+j73xAIXLdGYT2eC71vGnGfiLCB0OwT0CAI="; - }) + ] ++ lib.optionals (chromiumVersionAtLeast "126") [ + # Rebased variant of patch right above to build M126+ with our rust and our clang. + ./patches/chromium-126-rust.patch ]; postPatch = '' @@ -369,6 +380,14 @@ let ${ungoogler}/utils/domain_substitution.py apply -r ${ungoogler}/domain_regex.list -f ${ungoogler}/domain_substitution.list -c ./ungoogled-domsubcache.tar.gz . ''; + llvmCcAndBintools = symlinkJoin { + name = "llvmCcAndBintools"; + paths = [ + buildPackages.rustc.llvmPackages.llvm + buildPackages.rustc.llvmPackages.stdenv.cc + ]; + }; + gnFlags = mkGnFlags ({ # Main build and toolchain settings: # Create an official and optimized release build (only official builds @@ -427,25 +446,22 @@ let # Feature overrides: # Native Client support was deprecated in 2020 and support will end in June 2021: enable_nacl = false; - # Enabling the Widevine component here doesn't affect whether we can - # redistribute the chromium package; the Widevine component is either - # added later in the wrapped -wv build or downloaded from Google: + } // lib.optionalAttrs (packageName == "chromium") { + # Enabling the Widevine here doesn't affect whether we can redistribute the chromium package. + # Widevine in this drv is a bit more complex than just that. See Widevine patch somewhere above. enable_widevine = true; + } // { # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture: rtc_use_pipewire = true; # Disable PGO because the profile data requires a newer compiler version (LLVM 14 isn't sufficient): chrome_pgo_phase = 0; - clang_base_path = "${pkgsBuildTarget.${llvmPackages_attrName}.stdenv.cc}"; + clang_base_path = "${llvmCcAndBintools}"; use_qt = false; # To fix the build as we don't provide libffi_pic.a # (ld.lld: error: unable to find library -l:libffi_pic.a): use_system_libffi = true; # Use nixpkgs Rust compiler instead of the one shipped by Chromium. rust_sysroot_absolute = "${buildPackages.rustc}"; - # Rust is enabled for M121+, see next section: - enable_rust = false; - } // lib.optionalAttrs (chromiumVersionAtLeast "121") { - # M121 the first version to actually require a functioning rust toolchain enable_rust = true; # While we technically don't need the cache-invalidation rustc_version provides, rustc_version # is still used in some scripts (e.g. build/rust/std/find_std_rlibs.py). @@ -464,10 +480,12 @@ let } // lib.optionalAttrs ungoogled (lib.importTOML ./ungoogled-flags.toml) // (extraAttrs.gnFlags or {})); - # We cannot use chromiumVersionAtLeast in mkDerivation's env attrset due - # to infinite recursion when chromium.override is used (e.g. electron). - # To work aroud this, we use export in the preConfigure phase. - preConfigure = lib.optionalString (chromiumVersionAtLeast "121") '' + # TODO: Migrate this to env.RUSTC_BOOTSTRAP next mass-rebuild. + # Chromium expects nightly/bleeding edge rustc features to be available. + # Our rustc in nixpkgs follows stable, but since bootstrapping rustc requires + # nightly features too, we can (ab-)use RUSTC_BOOTSTRAP here as well to + # enable those features in our stable builds. + preConfigure = '' export RUSTC_BOOTSTRAP=1 ''; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index 9da0f725ed560..095fe13f9197a 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -1,10 +1,11 @@ -{ newScope, config, stdenv, fetchurl, makeWrapper +{ newScope, config, stdenv, makeWrapper , buildPackages , ed, gnugrep, coreutils, xdg-utils , glib, gtk3, gtk4, gnome, gsettings-desktop-schemas, gn, fetchgit , libva, pipewire, wayland -, gcc, nspr, nss, runCommand +, runCommand , lib, libkrb5 +, widevine-cdm , electron-source # for warnObsoleteVersionConditional # package customization @@ -17,17 +18,12 @@ , cupsSupport ? true , pulseSupport ? config.pulseaudio or stdenv.isLinux , commandLineArgs ? "" -, pkgsBuildTarget , pkgsBuildBuild , pkgs }: let - # Sometimes we access `llvmPackages` via `pkgs`, and other times - # via `pkgsFooBar`, so a string (attrname) is the only way to have - # a single point of control over the LLVM version used. - llvmPackages_attrName = "llvmPackages_17"; - stdenv = pkgs.${llvmPackages_attrName}.stdenv; + stdenv = pkgs.rustc.llvmPackages.stdenv; # Helper functions for changes that depend on specific versions: warnObsoleteVersionConditional = min-version: result: @@ -47,7 +43,7 @@ let callPackage = newScope chromium; chromium = rec { - inherit stdenv llvmPackages_attrName upstream-info; + inherit stdenv upstream-info; mkChromiumDerivation = callPackage ./common.nix ({ inherit channel chromiumVersionAtLeast versionRange; @@ -74,78 +70,6 @@ let ungoogled-chromium = pkgsBuildBuild.callPackage ./ungoogled.nix {}; }; - pkgSuffix = if channel == "dev" then "unstable" else - (if channel == "ungoogled-chromium" then "stable" else channel); - pkgName = "google-chrome-${pkgSuffix}"; - chromeSrc = - let - # Use the latest stable Chrome version if necessary: - version = if chromium.upstream-info.hash_deb_amd64 != null - then chromium.upstream-info.version - else (import ./upstream-info.nix).stable.version; - hash = if chromium.upstream-info.hash_deb_amd64 != null - then chromium.upstream-info.hash_deb_amd64 - else (import ./upstream-info.nix).stable.hash_deb_amd64; - in fetchurl { - urls = map (repo: "${repo}/${pkgName}/${pkgName}_${version}-1_amd64.deb") [ - "https://dl.google.com/linux/chrome/deb/pool/main/g" - "http://95.31.35.30/chrome/pool/main/g" - "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g" - "http://repo.fdzh.org/chrome/deb/pool/main/g" - ]; - inherit hash; - }; - - mkrpath = p: "${lib.makeSearchPathOutput "lib" "lib64" p}:${lib.makeLibraryPath p}"; - widevineCdm = stdenv.mkDerivation { - name = "chrome-widevine-cdm"; - - src = chromeSrc; - - unpackCmd = let - widevineCdmPath = - if (channel == "stable" || channel == "ungoogled-chromium") then - "./opt/google/chrome/WidevineCdm" - else if channel == "beta" then - "./opt/google/chrome-beta/WidevineCdm" - else if channel == "dev" then - "./opt/google/chrome-unstable/WidevineCdm" - else - throw "Unknown chromium channel."; - in '' - # Extract just WidevineCdm from upstream's .deb file - ar p "$src" data.tar.xz | tar xJ "${widevineCdmPath}" - - # Move things around so that we don't have to reference a particular - # chrome-* directory later. - mv "${widevineCdmPath}" ./ - - # unpackCmd wants a single output directory; let it take WidevineCdm/ - rm -rf opt - ''; - - doCheck = true; - checkPhase = '' - ! find -iname '*.so' -exec ldd {} + | grep 'not found' - ''; - - PATCH_RPATH = mkrpath [ gcc.cc glib nspr nss ]; - - patchPhase = '' - patchelf --set-rpath "$PATCH_RPATH" _platform_specific/linux_x64/libwidevinecdm.so - ''; - - installPhase = '' - mkdir -p $out/WidevineCdm - cp -a * $out/WidevineCdm/ - ''; - - meta = { - platforms = [ "x86_64-linux" ]; - license = lib.licenses.unfree; - }; - }; - suffix = lib.optionalString (channel != "stable" && channel != "ungoogled-chromium") ("-" + channel); sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName; @@ -159,7 +83,7 @@ let mkdir -p $out cp -a ${browser}/* $out/ chmod u+w $out/libexec/chromium - cp -a ${widevineCdm}/WidevineCdm $out/libexec/chromium/ + cp -a ${widevine-cdm}/share/google/chrome/WidevineCdm $out/libexec/chromium/ '' else browser; @@ -244,7 +168,7 @@ in stdenv.mkDerivation { passthru = { inherit (chromium) upstream-info browser; mkDerivation = chromium.mkChromiumDerivation; - inherit chromeSrc sandboxExecutableName; + inherit sandboxExecutableName; }; } # the following is a complicated and long-winded variant of diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-126-llvm-17.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-126-llvm-17.patch new file mode 100644 index 0000000000000..ea059d884b5a2 --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-126-llvm-17.patch @@ -0,0 +1,29 @@ +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index 6efe967eb0a1c..590a2c274ac13 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -568,24 +568,6 @@ config("compiler") { + } + } + +- # TODO(crbug.com/40283598): This causes binary size growth and potentially +- # other problems. +- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. +- if (default_toolchain != "//build/toolchain/cros:target" && +- !llvm_android_mainline) { +- cflags += [ +- "-mllvm", +- "-split-threshold-for-reg-with-hint=0", +- ] +- if (use_thin_lto && is_a_target_toolchain) { +- if (is_win) { +- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] +- } else { +- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] +- } +- } +- } +- + # TODO(crbug.com/40192287): Investigate why/if this should be needed. + if (is_win) { + cflags += [ "/clang:-ffp-contract=off" ] diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-126-rust.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-126-rust.patch new file mode 100644 index 0000000000000..776655babdd2a --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-126-rust.patch @@ -0,0 +1,21 @@ +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index 6efe967eb0a1c..2ddae4efacbfa 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -1653,16 +1653,6 @@ config("runtime_library") { + configs += [ "//build/config/c++:runtime_library" ] + } + +- # Rust and C++ both provide intrinsics for LLVM to call for math operations. We +- # want to use the C++ intrinsics, not the ones in the Rust compiler_builtins +- # library. The Rust symbols are marked as weak, so that they can be replaced by +- # the C++ symbols. This config ensures the C++ symbols exist and are strong in +- # order to cause that replacement to occur by explicitly linking in clang's +- # compiler-rt library. +- if (is_clang && toolchain_has_rust) { +- configs += [ "//build/config/clang:compiler_builtins" ] +- } +- + # TODO(crbug.com/40570904): Come up with a better name for is POSIX + Fuchsia + # configuration. + if (is_posix || is_fuchsia) { diff --git a/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch b/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch deleted file mode 100644 index 32f0ae2fb5e66..0000000000000 --- a/pkgs/applications/networking/browsers/chromium/patches/widevine-79.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn -index ed0e2f5208b..5b431a030d5 100644 ---- a/third_party/widevine/cdm/BUILD.gn -+++ b/third_party/widevine/cdm/BUILD.gn -@@ -14,7 +14,7 @@ buildflag_header("buildflags") { - - flags = [ - "ENABLE_WIDEVINE=$enable_widevine", -- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm", -+ "BUNDLE_WIDEVINE_CDM=true", - "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component", - ] - } diff --git a/pkgs/applications/networking/browsers/chromium/patches/widevine-disable-auto-download-allow-bundle.patch b/pkgs/applications/networking/browsers/chromium/patches/widevine-disable-auto-download-allow-bundle.patch new file mode 100644 index 0000000000000..4ab2c9a8179ba --- /dev/null +++ b/pkgs/applications/networking/browsers/chromium/patches/widevine-disable-auto-download-allow-bundle.patch @@ -0,0 +1,28 @@ +diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn +index 525693b6c10ab..245491e137d39 100644 +--- a/third_party/widevine/cdm/BUILD.gn ++++ b/third_party/widevine/cdm/BUILD.gn +@@ -22,7 +22,7 @@ buildflag_header("buildflags") { + + flags = [ + "ENABLE_WIDEVINE=$enable_widevine", +- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm", ++ "BUNDLE_WIDEVINE_CDM=true", + "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component", + "ENABLE_MEDIA_FOUNDATION_WIDEVINE_CDM=$enable_media_foundation_widevine_cdm", + ] +diff --git a/third_party/widevine/cdm/widevine.gni b/third_party/widevine/cdm/widevine.gni +index 8b97b7a57419e..69fe548ec2845 100644 +--- a/third_party/widevine/cdm/widevine.gni ++++ b/third_party/widevine/cdm/widevine.gni +@@ -42,9 +42,7 @@ enable_library_widevine_cdm = + # desktop platforms. Not enabled for lacros (as it is changing to use the + # ash updated version). The CDM can be bundled regardless whether it's a + # component. See below. +-enable_widevine_cdm_component = +- enable_library_widevine_cdm && +- (is_win || is_mac || is_linux || is_chromeos_ash) ++enable_widevine_cdm_component = false + + # Enable (Windows) Media Foundation Widevine CDM component. + declare_args() { diff --git a/pkgs/applications/networking/browsers/chromium/recompress-tarball.nix b/pkgs/applications/networking/browsers/chromium/recompress-tarball.nix index 0e77dd230f657..e663c393d8dc4 100644 --- a/pkgs/applications/networking/browsers/chromium/recompress-tarball.nix +++ b/pkgs/applications/networking/browsers/chromium/recompress-tarball.nix @@ -34,6 +34,7 @@ fetchurl ({ --one-top-level=source \ --exclude=third_party/llvm \ --exclude=third_party/rust-src \ + --exclude='build/linux/debian_*-sysroot' \ --strip-components=1 tar \ diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py index 29a46cd688c6f..d92a9dae8a8ce 100755 --- a/pkgs/applications/networking/browsers/chromium/update.py +++ b/pkgs/applications/networking/browsers/chromium/update.py @@ -20,7 +20,6 @@ from os.path import abspath, dirname from urllib.request import urlopen RELEASES_URL = 'https://versionhistory.googleapis.com/v1/chrome/platforms/linux/channels/all/versions/all/releases' -DEB_URL = 'https://dl.google.com/linux/chrome/deb/pool/main/g' PIN_PATH = dirname(abspath(__file__)) + '/upstream-info.nix' UNGOOGLED_FLAGS_PATH = dirname(abspath(__file__)) + '/ungoogled-flags.toml' @@ -259,10 +258,6 @@ with urlopen(RELEASES_URL) as resp: version ) src_hash_cache[version] = channel["hash"] - - channel['hash_deb_amd64'] = nix_prefetch_url( - f'{DEB_URL}/google-chrome-{google_chrome_suffix}/' + - f'google-chrome-{google_chrome_suffix}_{version}-1_amd64.deb') except subprocess.CalledProcessError: # This release isn't actually available yet. Continue to # the next one. diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 345370868d715..54d4e2417f695 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,39 +1,37 @@ { stable = { chromedriver = { - hash_darwin = "sha256-RGOChK4JhrFUgVY/5YqgE0KFLRl6a7X2llw1ZfhiPXY="; + hash_darwin = "sha256-154JPXP5qCM94zQRkRSvPKk6RGIhani7FUwOXgIwUZ0="; hash_darwin_aarch64 = - "sha256-K1jFXmWtXrS43UJg2mQ39Kae6tv7E9Fxm6LUWg+uwLo="; - hash_linux = "sha256-xwaRNh7sllyNaq8+aLAZDQ3uDg06cu3KYqc02LWPSyw="; - version = "124.0.6367.91"; + "sha256-HButB8+2DRiaazyBiT3643sBLaauRAZ1rvmEtt8Whac="; + hash_linux = "sha256-6P9K6XTByonHaZYvOP+jTGizkmVdS8Ryn8UwV4BMGdQ="; + version = "126.0.6478.126"; }; deps = { gn = { - hash = "sha256-aEL1kIhgPAFqdb174dG093HoLhCJ07O1Kpqfu7r14wQ="; - rev = "22581fb46c0c0c9530caa67149ee4dd8811063cf"; + hash = "sha256-mNoQeHSSM+rhR0UHrpbyzLJC9vFqfxK1SD0X8GiRsqw="; + rev = "df98b86690c83b81aedc909ded18857296406159"; url = "https://gn.googlesource.com/gn"; - version = "2024-03-14"; + version = "2024-05-13"; }; }; - hash = "sha256-+r/48dxipSAo74v1deMuKalW+Hj85hCun63ZcgLYDLk="; - hash_deb_amd64 = "sha256-H3bv6WiVBl4j38ROZ80+SD9UO9ok+xxcKFxDd9yjWNY="; - version = "124.0.6367.118"; + hash = "sha256-Z0QeUG4ykNqdlxXYgLteJQ0jS8apC5kwW5hwlUnhod0="; + version = "126.0.6478.126"; }; ungoogled-chromium = { deps = { gn = { - hash = "sha256-aEL1kIhgPAFqdb174dG093HoLhCJ07O1Kpqfu7r14wQ="; - rev = "22581fb46c0c0c9530caa67149ee4dd8811063cf"; + hash = "sha256-mNoQeHSSM+rhR0UHrpbyzLJC9vFqfxK1SD0X8GiRsqw="; + rev = "df98b86690c83b81aedc909ded18857296406159"; url = "https://gn.googlesource.com/gn"; - version = "2024-03-14"; + version = "2024-05-13"; }; ungoogled-patches = { - hash = "sha256-1/J3BhUlef8CH/jZ5P5fWGXnWxTiuB0Ep+AWrMrv9cE="; - rev = "124.0.6367.91-1"; + hash = "sha256-lj/XYWkEo7M1i3D5e1MVXTXh02U55lNoo+sxKpu8FNc="; + rev = "126.0.6478.114-1"; }; }; - hash = "sha256-tajZtdiXgs5lRLTmDmgNTM2vD+N+LuWpBS0dYzxUsMA="; - hash_deb_amd64 = "sha256-CyCbZQ5ce8WLTt2JVSqbDkLDboE4BloiZ8pJff3dmSY="; - version = "124.0.6367.91"; + hash = "sha256-sXP+/KXDoy3QnRoa9acGbsXKVCPspyNGtZTLMHBqxvw="; + version = "126.0.6478.114"; }; } |