From 110173f3d15b2d9adb9a0b1612e8ce03cb6780f4 Mon Sep 17 00:00:00 2001 From: leo60228 Date: Thu, 10 Oct 2024 16:46:53 -0400 Subject: [PATCH] Revert "update vesktop electron" This reverts commit 0493c708f26d99dacfdf09c6cf35e027db63e66c. --- home.nix | 2 +- pkgs/default.nix | 2 - pkgs/electron/.gitignore | 1 - pkgs/electron/binary/default.nix | 13 - pkgs/electron/binary/generic.nix | 206 --- pkgs/electron/binary/info.json | 68 - pkgs/electron/chromedriver/default.nix | 15 - pkgs/electron/chromedriver/generic.nix | 108 -- pkgs/electron/chromedriver/info.json | 35 - pkgs/electron/common.nix | 294 ---- pkgs/electron/default.nix | 14 - pkgs/electron/disable-screen-ai.patch | 16 - pkgs/electron/info.json | 1860 ------------------------ pkgs/electron/update.py | 871 ----------- pkgs/electron/wrapper.nix | 44 - 15 files changed, 1 insertion(+), 3548 deletions(-) delete mode 100644 pkgs/electron/.gitignore delete mode 100644 pkgs/electron/binary/default.nix delete mode 100644 pkgs/electron/binary/generic.nix delete mode 100644 pkgs/electron/binary/info.json delete mode 100644 pkgs/electron/chromedriver/default.nix delete mode 100644 pkgs/electron/chromedriver/generic.nix delete mode 100644 pkgs/electron/chromedriver/info.json delete mode 100644 pkgs/electron/common.nix delete mode 100644 pkgs/electron/default.nix delete mode 100644 pkgs/electron/disable-screen-ai.patch delete mode 100644 pkgs/electron/info.json delete mode 100755 pkgs/electron/update.py delete mode 100644 pkgs/electron/wrapper.nix diff --git a/home.nix b/home.nix index d5447c5..2d1be2e 100644 --- a/home.nix +++ b/home.nix @@ -136,7 +136,7 @@ nix-prefetch-git pandoc (leoPkgs.discord.override { inherit deviceScaleFactor; }) - (vesktop.override { electron = leoPkgs.electron_31-bin; }) + vesktop (hiPrio gtk2) SDL SDL2 diff --git a/pkgs/default.nix b/pkgs/default.nix index 534d989..4356800 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,6 +1,5 @@ { callPackage, - callPackages, nodejs_18, python3, libsForQt5, @@ -11,7 +10,6 @@ rec { bin = callPackage ./bin { }; citra = callPackage ./citra { }; crabstodon = callPackage ./crabstodon { }; - inherit (callPackages ./electron/binary { }) electron_31-bin; eontimer = libsForQt5.callPackage ./eontimer { inherit qtsass; }; datapath-vision = kernelPackages: kernelPackages.callPackage ./datapath-vision { }; datapath-vision-firmware = callPackage ./datapath-vision-firmware { }; diff --git a/pkgs/electron/.gitignore b/pkgs/electron/.gitignore deleted file mode 100644 index 14d86ad..0000000 --- a/pkgs/electron/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/cache diff --git a/pkgs/electron/binary/default.nix b/pkgs/electron/binary/default.nix deleted file mode 100644 index 1e32337..0000000 --- a/pkgs/electron/binary/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -let - infoJson = builtins.fromJSON (builtins.readFile ./info.json); -in - -{ lib, callPackage }: - -let - mkElectron = callPackage ./generic.nix { }; -in -lib.mapAttrs' ( - majorVersion: info: - lib.nameValuePair "electron_${majorVersion}-bin" (mkElectron info.version info.hashes) -) infoJson diff --git a/pkgs/electron/binary/generic.nix b/pkgs/electron/binary/generic.nix deleted file mode 100644 index 7043bcd..0000000 --- a/pkgs/electron/binary/generic.nix +++ /dev/null @@ -1,206 +0,0 @@ -{ - lib, - stdenv, - libXScrnSaver, - makeWrapper, - fetchurl, - wrapGAppsHook3, - glib, - gtk3, - unzip, - at-spi2-atk, - libdrm, - mesa, - libxkbcommon, - libxshmfence, - libGL, - vulkan-loader, - alsa-lib, - cairo, - cups, - dbus, - expat, - gdk-pixbuf, - nss, - nspr, - xorg, - pango, - systemd, - pciutils, - libnotify, -}: - -version: hashes: -let - pname = "electron"; - - meta = with lib; { - description = "Cross platform desktop application shell"; - homepage = "https://github.com/electron/electron"; - license = licenses.mit; - mainProgram = "electron"; - maintainers = with maintainers; [ - yayayayaka - teutat3s - ]; - platforms = - [ - "x86_64-darwin" - "x86_64-linux" - "armv7l-linux" - "aarch64-linux" - ] - ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ] - ++ optionals (versionOlder version "19.0.0") [ "i686-linux" ]; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - # https://www.electronjs.org/docs/latest/tutorial/electron-timelines - knownVulnerabilities = optional (versionOlder version "30.0.0") "Electron version ${version} is EOL"; - }; - - fetcher = - vers: tag: hash: - fetchurl { - url = "https://github.com/electron/electron/releases/download/v${vers}/electron-v${vers}-${tag}.zip"; - sha256 = hash; - }; - - headersFetcher = - vers: hash: - fetchurl { - url = "https://artifacts.electronjs.org/headers/dist/v${vers}/node-v${vers}-headers.tar.gz"; - sha256 = hash; - }; - - tags = - { - x86_64-linux = "linux-x64"; - armv7l-linux = "linux-armv7l"; - aarch64-linux = "linux-arm64"; - x86_64-darwin = "darwin-x64"; - } - // lib.optionalAttrs (lib.versionAtLeast version "11.0.0") { - aarch64-darwin = "darwin-arm64"; - } - // lib.optionalAttrs (lib.versionOlder version "19.0.0") { - i686-linux = "linux-ia32"; - }; - - get = as: platform: as.${platform.system} or (throw "Unsupported system: ${platform.system}"); - - common = platform: { - inherit pname version meta; - src = fetcher version (get tags platform) (get hashes platform); - passthru.headers = headersFetcher version hashes.headers; - }; - - electronLibPath = lib.makeLibraryPath ( - [ - alsa-lib - at-spi2-atk - cairo - cups - dbus - expat - gdk-pixbuf - glib - gtk3 - nss - nspr - xorg.libX11 - xorg.libxcb - xorg.libXcomposite - xorg.libXdamage - xorg.libXext - xorg.libXfixes - xorg.libXrandr - xorg.libxkbfile - pango - pciutils - stdenv.cc.cc.lib - systemd - libnotify - ] - ++ lib.optionals (lib.versionAtLeast version "9.0.0") [ - libdrm - mesa - ] - ++ lib.optionals (lib.versionOlder version "10.0.0") [ libXScrnSaver ] - ++ lib.optionals (lib.versionAtLeast version "11.0.0") [ libxkbcommon ] - ++ lib.optionals (lib.versionAtLeast version "12.0.0") [ libxshmfence ] - ++ lib.optionals (lib.versionAtLeast version "17.0.0") [ - libGL - vulkan-loader - ] - ); - - linux = finalAttrs: { - buildInputs = [ - glib - gtk3 - ]; - - nativeBuildInputs = [ - unzip - makeWrapper - wrapGAppsHook3 - ]; - - dontUnpack = true; - dontBuild = true; - - installPhase = '' - mkdir -p $out/libexec/electron $out/bin - unzip -d $out/libexec/electron $src - ln -s $out/libexec/electron/electron $out/bin - chmod u-x $out/libexec/electron/*.so* - ''; - - postFixup = '' - patchelf \ - --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${electronLibPath}:$out/libexec/electron" \ - $out/libexec/electron/.electron-wrapped \ - ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/libexec/electron/.chrome_crashpad_handler-wrapped"} - - # patch libANGLE - patchelf \ - --set-rpath "${ - lib.makeLibraryPath [ - libGL - pciutils - vulkan-loader - ] - }" \ - $out/libexec/electron/lib*GL* - - # replace bundled vulkan-loader - rm "$out/libexec/electron/libvulkan.so.1" - ln -s -t "$out/libexec/electron" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1" - ''; - - passthru.dist = finalAttrs.finalPackage + "/libexec/electron"; - }; - - darwin = finalAttrs: { - nativeBuildInputs = [ - makeWrapper - unzip - ]; - - buildCommand = '' - mkdir -p $out/Applications - unzip $src - mv Electron.app $out/Applications - mkdir -p $out/bin - makeWrapper $out/Applications/Electron.app/Contents/MacOS/Electron $out/bin/electron - ''; - - passthru.dist = finalAttrs.finalPackage + "/Applications"; - }; -in -stdenv.mkDerivation ( - finalAttrs: - lib.recursiveUpdate (common stdenv.hostPlatform) ( - (if stdenv.isDarwin then darwin else linux) finalAttrs - ) -) diff --git a/pkgs/electron/binary/info.json b/pkgs/electron/binary/info.json deleted file mode 100644 index 071e81f..0000000 --- a/pkgs/electron/binary/info.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "24": { - "hashes": { - "aarch64-darwin": "d9093e6928b2247336b3f0811e4f66c4ae50a719ec9399c393ac9556c8e56cee", - "aarch64-linux": "599e78a3a8127828ea3fa444927e7e51035dba9811ce0d81d59ad9b0bd02b4f6", - "armv7l-linux": "8f46901667a904a62df7043991f20dc1c2a00370a42159976855458562cda8fc", - "headers": "009p1ffh2cyn98fcmprrjzq79jysp7h565v4f54wvjxjsq2nkr97", - "x86_64-darwin": "067ce05d628b44e1393369c506268915081ac9d96c0973d367262c71dcd91078", - "x86_64-linux": "61e87bbd361da101c6a8363cc9c1f8b8b51db61b076cf495d3f4424303265a96" - }, - "version": "24.8.6" - }, - "27": { - "hashes": { - "aarch64-darwin": "a687b199fcb9890f43af90ac8a4d19dc7b15522394de89e42abd5f5c6b735804", - "aarch64-linux": "ddbfcd5e04450178ca4e3113f776893454822af6757761adc792692f7978e0df", - "armv7l-linux": "012127a3edf79e0e4623a08e853286e1cba512438a0414b1ab19b75d929c1cf2", - "headers": "0vrjdvqllfyz09sw2y078mds1di219hnmska8bw8ni7j35wxr2br", - "x86_64-darwin": "357e70a1c8848d4ac7655346bec98dd18a7c0cee82452a7edf76142017779049", - "x86_64-linux": "e3a6f55e54e7a623bba1a15016541248408eef5a19ab82a59d19c807aab14563" - }, - "version": "27.3.11" - }, - "28": { - "hashes": { - "aarch64-darwin": "c310ab098d8849c4aa05f05b1c8521031241a046e023a911f964fd1db31c64c9", - "aarch64-linux": "f77107266581a6b9880757876518df1c4bf6eeff5c193bb5de0a8f6c9902bd1f", - "armv7l-linux": "384d8b43f52b5350a438031ad12980418fc244b4b0aecfa5f7dcc3d6f103ebed", - "headers": "1d407g6yb81l9p0pbsidrsmnzkrwb4f2qb221kc9k2r7qdpf64px", - "x86_64-darwin": "6bc63916b7fe52de7559e7631fef5c93315a18ee90a0d3d08168c91414b09ecf", - "x86_64-linux": "20f6be493cbd6c9924206e744b1c490af1f97f4735451b9dc19f0d305366d546" - }, - "version": "28.3.3" - }, - "29": { - "hashes": { - "aarch64-darwin": "077c7abc2c8f1117863141fb5662684fc1320823e0e0aab6c42ad97bcfcceace", - "aarch64-linux": "14d5b54ef561cea2ca28c55a877bc1a1a3e360ca2f9e69ab3aa719054eca8552", - "armv7l-linux": "9007e44a5cb5b7645455e7895d2039d3264cab2eb0ecf8dbb4295344d392ca74", - "headers": "0swfh30yilw6w0qi6cl6ccm3rdvdmpr5s2vaxy5bbmizc88a4jkv", - "x86_64-darwin": "9f367006b67a923903e27b0be72a1a578b97936ca36cd91856adf4a278076d67", - "x86_64-linux": "2346338e2ffa12276f5b3bc6d63ff357c39f42d260ad45f19471ef7bbf18a389" - }, - "version": "29.4.6" - }, - "30": { - "hashes": { - "aarch64-darwin": "1715379e74d5c5983cf74059eae174cc59bb48ef774d32d6a23fa2e52ae8f8da", - "aarch64-linux": "a3857bdf84379d8a4984955368b3940df9b1b1d098ed6c6120d34cde950e41c6", - "armv7l-linux": "ba4cad948732d39242d934dade317785ea8239fed6175fe143f7ad747c8524d9", - "headers": "185kv7x8g71njl3grdd71zksl0y7b9ri5cy8pd87aqiypxmw93z0", - "x86_64-darwin": "135aaa5c7b9cbd6128a6fb43df522d9bc4894c6ceb115e1db5caa2b2e2f2c9f4", - "x86_64-linux": "167d48e0c6b9714d3e1bcf66cc37f81a886694038e12c754866db313c1c7c90e" - }, - "version": "30.5.0" - }, - "31": { - "hashes": { - "aarch64-darwin": "dec23ecc15f4d0503163c5f65f59114127ce6d2518af8e6547ea787372575fcb", - "aarch64-linux": "1911b1cef253d68fead45432e93740223c686ebc11c931bdd08439ec88030cfd", - "armv7l-linux": "957d888d016270b658fb558f6e2061ffaa7f71c9d2b1c73c4f122342519ba741", - "headers": "1vm3r688cjl5014x4lmmwh9927wbx26nd38lijmim434n32aby88", - "x86_64-darwin": "4d5d21963bf833ccc25edbc2e8e884f408e24c2a39b53f1d0c30f4017ac2ba8a", - "x86_64-linux": "86b3794aba055e84f23cba5d8319ca9f23a05385d2c06fe7d78d24d2bb356b67" - }, - "version": "31.6.0" - } -} diff --git a/pkgs/electron/chromedriver/default.nix b/pkgs/electron/chromedriver/default.nix deleted file mode 100644 index 0185737..0000000 --- a/pkgs/electron/chromedriver/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -let - infoJson = builtins.fromJSON (builtins.readFile ./info.json); -in - -{ lib, callPackage }: - -let - mkElectronChromedriver = callPackage ./generic.nix { }; -in -lib.mapAttrs' ( - majorVersion: info: - lib.nameValuePair "electron-chromedriver_${majorVersion}" ( - mkElectronChromedriver info.version info.hashes - ) -) infoJson diff --git a/pkgs/electron/chromedriver/generic.nix b/pkgs/electron/chromedriver/generic.nix deleted file mode 100644 index 62a88cf..0000000 --- a/pkgs/electron/chromedriver/generic.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - glib, - xorg, - nspr, - nss, - autoPatchelfHook, - unzip, -}: - -version: hashes: -let - pname = "electron-chromedriver"; - - meta = with lib; { - homepage = "https://www.electronjs.org/"; - description = "WebDriver server for running Selenium tests on Chrome"; - longDescription = '' - WebDriver is an open source tool for automated testing of webapps across - many browsers. It provides capabilities for navigating to web pages, user - input, JavaScript execution, and more. ChromeDriver is a standalone - server that implements the W3C WebDriver standard. This is - an unofficial build of ChromeDriver compiled by the Electronjs - project. - ''; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = licenses.mit; - maintainers = with maintainers; [ - liammurphy14 - yayayayaka - ]; - platforms = [ - "x86_64-darwin" - "x86_64-linux" - "armv7l-linux" - "aarch64-linux" - "aarch64-darwin" - ]; - mainProgram = "chromedriver"; - }; - - fetcher = - vers: tag: hash: - fetchurl { - url = "https://github.com/electron/electron/releases/download/v${vers}/chromedriver-v${vers}-${tag}.zip"; - sha256 = hash; - }; - - tags = { - x86_64-linux = "linux-x64"; - aarch64-linux = "linux-arm64"; - armv7l-linux = "linux-armv7l"; - x86_64-darwin = "darwin-x64"; - aarch64-darwin = "darwin-arm64"; - }; - - get = as: platform: as.${platform.system} or (throw "Unsupported system: ${platform.system}"); - - common = platform: { - inherit pname version meta; - src = fetcher version (get tags platform) (get hashes platform); - - buildInputs = [ - stdenv.cc.cc.lib - glib - xorg.libxcb - nspr - nss - ]; - }; - - linux = { - nativeBuildInputs = [ - autoPatchelfHook - unzip - ]; - - dontUnpack = true; - dontBuild = true; - - installPhase = '' - runHook preInstall - unzip $src - install -m777 -D chromedriver $out/bin/chromedriver - runHook postInstall - ''; - }; - - darwin = { - nativeBuildInputs = [ unzip ]; - - dontUnpack = true; - dontBuild = true; - - # darwin distributions come with libffmpeg dependecy + icudtl.dat file - installPhase = '' - runHook preInstall - unzip $src - install -m777 -D chromedriver $out/bin/chromedriver - cp libffmpeg.dylib $out/bin/libffmpeg.dylib - cp icudtl.dat $out/bin/icudtl.dat - runHook postInstall - ''; - }; -in -stdenv.mkDerivation ((common stdenv.hostPlatform) // (if stdenv.isDarwin then darwin else linux)) diff --git a/pkgs/electron/chromedriver/info.json b/pkgs/electron/chromedriver/info.json deleted file mode 100644 index 9efdd49..0000000 --- a/pkgs/electron/chromedriver/info.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "29": { - "hashes": { - "aarch64-darwin": "8a100f4e7a84862847ab0804446ee805fbba0a68657420b369f80db417c1c87a", - "aarch64-linux": "232c375e4789b887a7f8712a64ac5849cf41904808b9aa00f6f6fbbf6621105d", - "armv7l-linux": "2c639a32c9436f135ef69db9640dcf4489b2dea30e865a0f63a87bb92d9ccf88", - "headers": "0swfh30yilw6w0qi6cl6ccm3rdvdmpr5s2vaxy5bbmizc88a4jkv", - "x86_64-darwin": "4364c264c932099d09fe67cc0072e6071739ad67ca1fecf5bfd7e8c1fdcc8671", - "x86_64-linux": "1c2b450b99929b49269a56db2dc60920f027ec92ae01a4620fa3f64473539caa" - }, - "version": "29.4.6" - }, - "30": { - "hashes": { - "aarch64-darwin": "a010e3d6e90e3ae1d7df517044510db0419500c25b0243ac371b2cdc34264fe5", - "aarch64-linux": "bb02fee91d901cd2ff24200c6488691330d946277cb8fbd5681eb7fe04d6b70a", - "armv7l-linux": "3337363abe08a74d30c0a4eb990c35c97bb5692e1c28afd2ab732ac9c51fcf10", - "headers": "185kv7x8g71njl3grdd71zksl0y7b9ri5cy8pd87aqiypxmw93z0", - "x86_64-darwin": "bb5444359e6214a393ab2b9ee6d096e4202fd32050c05bc0868d3f220501efb9", - "x86_64-linux": "bb9c1b5b11712b52e7cbdbf38aa6f180bd4acc9866a3c9a023d443ac93a1bfd3" - }, - "version": "30.5.0" - }, - "31": { - "hashes": { - "aarch64-darwin": "904d665b4df7377ccdae58c35328456bf2a05a8d3e878954e48175ee60103b3f", - "aarch64-linux": "d66e80621dc8c667ca634c30c4be8486b56ebce17ba6debab5eb70dd40ed9ab9", - "armv7l-linux": "ae76cf56a793f7c98411f997db610d4729b6992e7ccbb7651a960947e87c5bb2", - "headers": "1vm3r688cjl5014x4lmmwh9927wbx26nd38lijmim434n32aby88", - "x86_64-darwin": "3ee05c812e0ce5cb0ee7a36fb1c3a52447d8bfef80a57ca82667b501a354778a", - "x86_64-linux": "65b04f0d8980c17d205644903718a4b41ba6c1fab9d25a58dadf00b6db24a402" - }, - "version": "31.6.0" - } -} diff --git a/pkgs/electron/common.nix b/pkgs/electron/common.nix deleted file mode 100644 index e40e6ae..0000000 --- a/pkgs/electron/common.nix +++ /dev/null @@ -1,294 +0,0 @@ -{ - lib, - stdenv, - chromium, - nodejs, - python3, - fetchYarnDeps, - fetchNpmDeps, - fixup-yarn-lock, - npmHooks, - yarn, - substituteAll, - libnotify, - unzip, - pkgs, - pkgsBuildHost, - pipewire, - libsecret, - libpulseaudio, - speechd-minimal, - info, -}: - -let - fetchdep = - dep: - let - opts = removeAttrs dep [ "fetcher" ]; - in - pkgs.${dep.fetcher} opts; - - fetchedDeps = lib.mapAttrs (name: fetchdep) info.deps; - -in -((chromium.override { upstream-info = info.chromium; }).mkDerivation (base: { - packageName = "electron"; - inherit (info) version; - buildTargets = [ "electron:electron_dist_zip" ]; - - nativeBuildInputs = base.nativeBuildInputs ++ [ - nodejs - yarn - fixup-yarn-lock - unzip - npmHooks.npmConfigHook - ]; - buildInputs = base.buildInputs ++ [ libnotify ]; - - electronOfflineCache = fetchYarnDeps { - yarnLock = fetchedDeps."src/electron" + "/yarn.lock"; - sha256 = info.electron_yarn_hash; - }; - npmDeps = fetchNpmDeps rec { - src = fetchedDeps."src"; - # Assume that the fetcher always unpack the source, - # based on update.py - sourceRoot = "${src.name}/third_party/node"; - hash = info.chromium_npm_hash; - }; - - src = null; - - patches = - base.patches - ++ lib.optional (lib.versionOlder info.version "30") (substituteAll { - # disable a component that requires CIPD blobs - name = "disable-screen-ai.patch"; - src = ./disable-screen-ai.patch; - inherit (info) version; - }); - - unpackPhase = - '' - runHook preUnpack - '' - + (lib.concatStrings ( - lib.mapAttrsToList (path: dep: '' - mkdir -p ${builtins.dirOf path} - cp -r ${dep}/. ${path} - chmod u+w -R ${path} - '') fetchedDeps - )) - + '' - sourceRoot=src - runHook postUnpack - ''; - - npmRoot = "third_party/node"; - - postPatch = - '' - mkdir -p third_party/jdk/current/bin - - echo 'build_with_chromium = true' >> build/config/gclient_args.gni - echo 'checkout_google_benchmark = false' >> build/config/gclient_args.gni - echo 'checkout_android = false' >> build/config/gclient_args.gni - echo 'checkout_android_prebuilts_build_tools = false' >> build/config/gclient_args.gni - echo 'checkout_android_native_support = false' >> build/config/gclient_args.gni - echo 'checkout_ios_webkit = false' >> build/config/gclient_args.gni - echo 'checkout_nacl = false' >> build/config/gclient_args.gni - echo 'checkout_openxr = false' >> build/config/gclient_args.gni - echo 'checkout_rts_model = false' >> build/config/gclient_args.gni - echo 'checkout_src_internal = false' >> build/config/gclient_args.gni - echo 'cros_boards = ""' >> build/config/gclient_args.gni - echo 'cros_boards_with_qemu_images = ""' >> build/config/gclient_args.gni - echo 'generate_location_tags = true' >> build/config/gclient_args.gni - - echo 'LASTCHANGE=${info.deps."src".rev}-refs/heads/master@{#0}' > build/util/LASTCHANGE - echo "$SOURCE_DATE_EPOCH" > build/util/LASTCHANGE.committime - - cat << EOF > gpu/config/gpu_lists_version.h - /* Generated by lastchange.py, do not edit.*/ - #ifndef GPU_CONFIG_GPU_LISTS_VERSION_H_ - #define GPU_CONFIG_GPU_LISTS_VERSION_H_ - #define GPU_LISTS_VERSION "${info.deps."src".rev}" - #endif // GPU_CONFIG_GPU_LISTS_VERSION_H_ - EOF - - cat << EOF > skia/ext/skia_commit_hash.h - /* Generated by lastchange.py, do not edit.*/ - #ifndef SKIA_EXT_SKIA_COMMIT_HASH_H_ - #define SKIA_EXT_SKIA_COMMIT_HASH_H_ - #define SKIA_COMMIT_HASH "${info.deps."src/third_party/skia".rev}-" - #endif // SKIA_EXT_SKIA_COMMIT_HASH_H_ - EOF - - echo -n '${info.deps."src/third_party/dawn".rev}' > gpu/webgpu/DAWN_VERSION - - ( - cd electron - export HOME=$TMPDIR/fake_home - yarn config --offline set yarn-offline-mirror $electronOfflineCache - fixup-yarn-lock yarn.lock - yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive - ) - - ( - cd .. - PATH=$PATH:${ - lib.makeBinPath ( - with pkgsBuildHost; - [ - jq - git - ] - ) - } - config=src/electron/patches/config.json - for entry in $(cat $config | jq -c ".[]") - do - patch_dir=$(echo $entry | jq -r ".patch_dir") - repo=$(echo $entry | jq -r ".repo") - for patch in $(cat $patch_dir/.patches) - do - echo applying in $repo: $patch - git apply -p1 --directory=$repo --exclude='src/third_party/blink/web_tests/*' --exclude='src/content/test/data/*' $patch_dir/$patch - done - done - ) - '' - + base.postPatch; - - preConfigure = - '' - ( - cd third_party/node - grep patch update_npm_deps | sh - ) - '' - + (base.preConfigure or ""); - - gnFlags = - rec { - # build/args/release.gn - is_component_build = false; - is_official_build = true; - rtc_use_h264 = proprietary_codecs; - is_component_ffmpeg = true; - - # build/args/all.gn - is_electron_build = true; - root_extra_deps = [ "//electron" ]; - node_module_version = info.modules; - v8_promise_internal_field_count = 1; - v8_embedder_string = "-electron.0"; - v8_enable_snapshot_native_code_counters = false; - v8_enable_javascript_promise_hooks = true; - enable_cdm_host_verification = false; - proprietary_codecs = true; - ffmpeg_branding = "Chrome"; - enable_printing = true; - angle_enable_vulkan_validation_layers = false; - dawn_enable_vulkan_validation_layers = false; - enable_pseudolocales = false; - allow_runtime_configurable_key_storage = true; - enable_cet_shadow_stack = false; - is_cfi = false; - use_qt = false; - v8_builtins_profiling_log_file = ""; - enable_dangling_raw_ptr_checks = false; - dawn_use_built_dxc = false; - v8_enable_private_mapping_fork_optimization = true; - v8_expose_public_symbols = true; - } - // lib.optionalAttrs (lib.versionOlder info.version "31") { - use_perfetto_client_library = false; - } - // lib.optionalAttrs (lib.versionAtLeast info.version "31") { - enable_dangling_raw_ptr_feature_flag = false; - clang_unsafe_buffers_paths = ""; - enterprise_cloud_content_analysis = false; - } - // { - - # other - enable_widevine = false; - override_electron_version = info.version; - }; - - installPhase = '' - runHook preInstall - - mkdir -p $libExecPath - unzip -d $libExecPath out/Release/dist.zip - - runHook postInstall - ''; - - postFixup = - let - libPath = lib.makeLibraryPath [ - libnotify - pipewire - stdenv.cc.cc.lib - libsecret - libpulseaudio - speechd-minimal - ]; - in - base.postFixup - + '' - patchelf \ - --add-rpath "${libPath}" \ - $out/libexec/electron/electron - ''; - - requiredSystemFeatures = [ "big-parallel" ]; - - passthru = { - inherit info fetchedDeps; - headers = stdenv.mkDerivation rec { - name = "node-v${info.node}-headers.tar.gz"; - nativeBuildInputs = [ python3 ]; - src = fetchedDeps."src/third_party/electron_node"; - buildPhase = '' - runHook preBuild - make tar-headers - runHook postBuild - ''; - installPhase = '' - runHook preInstall - mv ${name} $out - runHook postInstall - ''; - }; - }; - - meta = with lib; { - description = "Cross platform desktop application shell"; - homepage = "https://github.com/electron/electron"; - platforms = lib.platforms.linux; - license = licenses.mit; - maintainers = with maintainers; [ - yayayayaka - teutat3s - ]; - mainProgram = "electron"; - hydraPlatforms = - lib.optionals (!(hasInfix "alpha" info.version) && !(hasInfix "beta" info.version)) - [ - "aarch64-linux" - "x86_64-linux" - ]; - timeout = 172800; # 48 hours (increased from the Hydra default of 10h) - }; -})).overrideAttrs - ( - finalAttrs: prevAttrs: { - # this was the only way I could get the package to properly reference itself - passthru = prevAttrs.passthru // { - dist = finalAttrs.finalPackage + "/libexec/electron"; - }; - } - ) diff --git a/pkgs/electron/default.nix b/pkgs/electron/default.nix deleted file mode 100644 index b8d452c..0000000 --- a/pkgs/electron/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, callPackage }: - -let - versions = lib.importJSON ./info.json; -in -lib.mapAttrs' ( - version: info: - lib.nameValuePair "electron_${version}" ( - let - electron-unwrapped = callPackage ./common.nix { inherit info; }; - in - callPackage ./wrapper.nix { inherit electron-unwrapped; } - ) -) versions diff --git a/pkgs/electron/disable-screen-ai.patch b/pkgs/electron/disable-screen-ai.patch deleted file mode 100644 index 0738942..0000000 --- a/pkgs/electron/disable-screen-ai.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/chrome/test/BUILD.gn -+++ b/chrome/test/BUILD.gn -@@ -3114,13 +3114,6 @@ if (!is_android && !is_fuchsia) { - "//pdf/loader", - ] - -- if (is_linux) { -- # Add a data dependency for pdf_extension_accessibility_test.cc to -- # notify testing builders that this test needs this library, which will -- # need to be downloaded from CIPD as defined in //DEPS. -- data_deps += [ "//third_party/screen-ai:screen_ai_linux" ] -- } -- - if (enable_printing) { - sources += [ "../browser/pdf/pdf_extension_printing_test.cc" ] - diff --git a/pkgs/electron/info.json b/pkgs/electron/info.json deleted file mode 100644 index 90504bf..0000000 --- a/pkgs/electron/info.json +++ /dev/null @@ -1,1860 +0,0 @@ -{ - "30": { - "chrome": "124.0.6367.243", - "chromium": { - "deps": { - "gn": { - "hash": "sha256-aEL1kIhgPAFqdb174dG093HoLhCJ07O1Kpqfu7r14wQ=", - "rev": "22581fb46c0c0c9530caa67149ee4dd8811063cf", - "url": "https://gn.googlesource.com/gn", - "version": "2024-03-14" - } - }, - "version": "124.0.6367.243" - }, - "chromium_npm_hash": "sha256-oILlQlzTcc0YqAvK5htRvG/YXWJTDtJ60Z1EcBEj9dw=", - "deps": { - "src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-YrAJnuNig6v87+eNnZ2W+PCzxjGe5CuymF6ul/v9SCk=", - "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ", - "rev": "124.0.6367.243", - "url": "https://chromium.googlesource.com/chromium/src.git" - }, - "src/chrome/test/data/perf/canvas_bench": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=", - "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732", - "url": "https://chromium.googlesource.com/chromium/canvas_bench.git" - }, - "src/chrome/test/data/perf/frame_rate/content": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=", - "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9", - "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git" - }, - "src/chrome/test/data/xr/webvr_info": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=", - "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248", - "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git" - }, - "src/docs/website": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-2WyiSqza9Mp2G8KHUnrzfikC7hGcUTLu4/W9AD6Zdi4=", - "rev": "02057aa20e0dd4598967e3daf2f25c815962ef1c", - "url": "https://chromium.googlesource.com/website.git" - }, - "src/electron": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-9+mpge89XSZJX5ZldbX53GJHzLi8c3Zm/h0vtlhBkwE=", - "owner": "electron", - "repo": "electron", - "rev": "v30.5.0" - }, - "src/media/cdm/api": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-6J6aSYW0or99VAgMNJJOdJqMJspoG7w1HxDN50MV5bw=", - "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28", - "url": "https://chromium.googlesource.com/chromium/cdm.git" - }, - "src/net/third_party/quiche/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-BJ3CCKFHOcIgIqnYxfjfOqbRhnt9ycrZfAFRZOLPYZQ=", - "rev": "9f8738892edd83219d2f83fdd73c7c14d5dbb80d", - "url": "https://quiche.googlesource.com/quiche.git" - }, - "src/third_party/accessibility_test_framework/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-mzVgoxxBWebesG6okyMxxmO6oH+TITA4o9ucHHMMzkQ=", - "rev": "4a764c690353ea136c82f1a696a70bf38d1ef5fe", - "url": "https://chromium.googlesource.com/external/github.com/google/Accessibility-Test-Framework-for-Android.git" - }, - "src/third_party/angle": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-MFXZ7gEO8vHFHtjzzLSgGlB9AKx+hndPfmwsE5XHGXo=", - "rev": "bda89e1f7c7195a9d03d037039c2dd5057563a59", - "url": "https://chromium.googlesource.com/angle/angle.git" - }, - "src/third_party/angle/third_party/VK-GL-CTS/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-eQvZmm6aAsI+z++SMM9i/SsREjikIjMLpedzw57eKyA=", - "rev": "ec9827528085fcffca353c8d941ec20e3de7aaea", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS" - }, - "src/third_party/angle/third_party/glmark2/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-L7+zWM0qn8WFhmON7DGvarTsN1YHt1sn5+hazTOZrrk=", - "rev": "ca8de51fedb70bace5351c6b002eb952c747e889", - "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2" - }, - "src/third_party/angle/third_party/rapidjson/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=", - "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f", - "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson" - }, - "src/third_party/anonymous_tokens/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ZKvfil6V4PexxVl/UCW/mUINlCHBTrZnhTB0UhTW0PQ=", - "rev": "321a40ba18a083feccb8ae2f99a8676bb1702676", - "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git" - }, - "src/third_party/beto-core/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-7GkqH4hgTVmISjUy/Km/X28tBSsiMs3JRnDmol1zaag=", - "rev": "8bd72cfb219344308ee857bcbe65a27fe91acfe8", - "url": "https://beto-core.googlesource.com/beto-core.git" - }, - "src/third_party/boringssl/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-RiDdH26xzoAD2NdTNKDraco9p2jKHXJxbRWI3pUhI78=", - "rev": "4fa4804c8ab4521079af62dba5260a99c34b8a29", - "url": "https://boringssl.googlesource.com/boringssl.git" - }, - "src/third_party/breakpad/breakpad": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-qAIXZ1jZous0Un0jVkOQ66nA2525NziV3Lbso2/+Z1Y=", - "rev": "76788faa4ef163081f82273bfca7fae8a734b971", - "url": "https://chromium.googlesource.com/breakpad/breakpad.git" - }, - "src/third_party/cast_core/public/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-AalRQhJmornCqmvE2+36J/3LubaA0jr6P1PXy32lX4I=", - "rev": "71f51fd6fa45fac73848f65421081edd723297cd", - "url": "https://chromium.googlesource.com/cast_core/public" - }, - "src/third_party/catapult": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-HhpP5OeGF9in2XEoZMfMCIAFHAqlDvJpfSWa8JfGWzM=", - "rev": "9128ec6d34905512199f953bc60ff75ca29d0cf2", - "url": "https://chromium.googlesource.com/catapult.git" - }, - "src/third_party/ced/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=", - "rev": "ba412eaaacd3186085babcd901679a48863c7dd5", - "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git" - }, - "src/third_party/chromium-variations": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-YwnqJynhunMvIduUcJ1/nBLabe/WS4RDox+XLMYMA2c=", - "rev": "e78e275e34f94fdf333245137878f0f6482db67d", - "url": "https://chromium.googlesource.com/chromium-variations.git" - }, - "src/third_party/clang-format/script": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-7VvofDDQe+SoMRBfVk26q+C+OPyOE7QH35wVWkfDKxs=", - "rev": "e5337933f2951cacd3aeacd238ce4578163ca0b9", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git" - }, - "src/third_party/cld_3/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=", - "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661", - "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git" - }, - "src/third_party/colorama/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=", - "rev": "3de9f013df4b470069d03d250224062e8cf15c49", - "url": "https://chromium.googlesource.com/external/colorama.git" - }, - "src/third_party/content_analysis_sdk/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=", - "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc", - "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git" - }, - "src/third_party/cpu_features/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=", - "rev": "936b9ab5515dead115606559502e3864958f7f6e", - "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git" - }, - "src/third_party/cpuinfo/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-9QRj4OA1qWlZujVJ6Z9x3190taVjTCZocM/272eepIs=", - "rev": "aa4b2163b99ac9534194520f70b93eeefb0b3b4e", - "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git" - }, - "src/third_party/crc32c/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-urg0bmnfMfHagLPELp4WrNCz1gBZ6DFOWpDue1KsMtc=", - "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6", - "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git" - }, - "src/third_party/cros-components/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-w2VosAdg+GtalFaGxDB8FB2w7498PMudsXxX4SpJqYE=", - "rev": "a254b37189cf97cfc76634644e58be511aefb69a", - "url": "https://chromium.googlesource.com/external/google3/cros_components.git" - }, - "src/third_party/cros_system_api": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-dFp4Hy7fldUjXxUTtcyRXdt7zpIP2lchzDKkk0b+iko=", - "rev": "9a51dc89c4f21362e858b20a6a7cc8adfd7c7238", - "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git" - }, - "src/third_party/crossbench": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-4gQn5y/Z6ccYA/0VjIQfMpFMkEuPA78jyCgZ+FpmsFs=", - "rev": "acbea986f40578f43c88239c78c797f61842e642", - "url": "https://chromium.googlesource.com/crossbench.git" - }, - "src/third_party/dav1d/libdav1d": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-AA2bcrsW1xFspyl5TqYUJeAwKM06rWTNtXr/uMVIJmw=", - "rev": "006ca01d387ac6652825d6cce1a57b2de67dbf8d", - "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git" - }, - "src/third_party/dawn": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-W0E0fhjAc5gdTgIsy+iOAFA7GPEFeMPPJEU5nnRUtbM=", - "rev": "e04b03f714994b7a747b5472da4ffae9e6e38938", - "url": "https://dawn.googlesource.com/dawn.git" - }, - "src/third_party/dawn/third_party/dxc": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-bqzkbBbf1btIz84odYfC3c69m6kgssHy2+a9aR+EUaQ=", - "rev": "511cfef8e0509d172fbfa156be8a97ed2b42590b", - "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler" - }, - "src/third_party/dawn/third_party/dxheaders": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=", - "rev": "980971e835876dc0cde415e8f9bc646e64667bf7", - "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers" - }, - "src/third_party/dawn/third_party/glfw": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=", - "rev": "62e175ef9fae75335575964c845a302447c012c7", - "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw" - }, - "src/third_party/dawn/third_party/khronos/EGL-Registry": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=", - "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry" - }, - "src/third_party/dawn/third_party/khronos/OpenGL-Registry": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=", - "rev": "5bae8738b23d06968e7c3a41308568120943ae77", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry" - }, - "src/third_party/dawn/third_party/webgpu-cts": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-VTYTdvBNxqRzYjEx5ml4LnkDEUGpyvssSzDOndHyYgU=", - "rev": "3e45aee0b16dc724a79a0feb0490e2ddb06c9f0d", - "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts" - }, - "src/third_party/depot_tools": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-YmjhwOjqCRxDhC7P+aRoNN+Vokl7hB4s6hDNFS5gLYo=", - "rev": "9c43bc14f1a7404fd4b6f744050d553acca557bf", - "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git" - }, - "src/third_party/devtools-frontend/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-FVYUoK3KWlIjQTWlNkjmnzJDfpRkEZ9sFWTr4GdOUJw=", - "rev": "694ad4ed3c55195acd701950d2b2528880e9201e", - "url": "https://chromium.googlesource.com/devtools/devtools-frontend" - }, - "src/third_party/dom_distiller_js/dist": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=", - "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d", - "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git" - }, - "src/third_party/eigen3/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-tx/XR7xJ7IMh5RMvL8wRo/g+dfD3xcjZkLPSY4D9HaY=", - "rev": "2a9055b50ed22101da7d77e999b90ed50956fe0b", - "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git" - }, - "src/third_party/electron_node": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-3pcWLDR1Y6oJUuwtequ5pK7nGwPeOqzALVNGJYskuc0=", - "owner": "nodejs", - "repo": "node", - "rev": "v20.16.0" - }, - "src/third_party/emoji-segmenter/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=", - "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e", - "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git" - }, - "src/third_party/engflow-reclient-configs": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-aZXYPj9KYBiZnljqOLlWJWS396Fg3EhjiQLZmkwCBsY=", - "owner": "EngFlow", - "repo": "reclient-configs", - "rev": "955335c30a752e9ef7bff375baab5e0819b6c00d" - }, - "src/third_party/expat/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-FXTDGAK03jc2wvazhRKqtsFRKZUYS/9HLpZNp4JfZJI=", - "rev": "441f98d02deafd9b090aea568282b28f66a50e36", - "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git" - }, - "src/third_party/farmhash/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=", - "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45", - "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git" - }, - "src/third_party/ffmpeg": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-5ynDd2wQ3QtS6SM2X+j3hTKB9aVhGrjoIlGSzy43K8Q=", - "rev": "52d8ef3799b2f16b66351dd0972bb0bcee1648ac", - "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git" - }, - "src/third_party/flac": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=", - "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c", - "url": "https://chromium.googlesource.com/chromium/deps/flac.git" - }, - "src/third_party/flatbuffers/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-LecJwLDG6szZZ/UOCFD+MDqH3NKawn0sdEwgnMt8wMM=", - "rev": "bcb9ef187628fe07514e57756d05e6a6296f7dc5", - "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git" - }, - "src/third_party/fontconfig/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-W5WIgC6A52kY4fNkbsDEa0o+dfd97Rl5NKfgnIRpI00=", - "rev": "14d466b30a8ab4a9d789977ed94f2c30e7209267", - "url": "https://chromium.googlesource.com/external/fontconfig.git" - }, - "src/third_party/fp16/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=", - "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91", - "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git" - }, - "src/third_party/freetype-testing/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=", - "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f", - "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git" - }, - "src/third_party/freetype/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-FtFRJaxyp7vo4EPBiqx05OsKo1UA1g/h+9BjuoijLFA=", - "rev": "f42ce25563b73fed0123d18a2556b9ba01d2c76b", - "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git" - }, - "src/third_party/fuzztest/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-utl9uwFqMqDW9ll9/3lh3rfjmPHlv5sx/enQuPffQZ8=", - "rev": "bddcd9f77ba0a81a99ce50bcadf5149efe545df0", - "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git" - }, - "src/third_party/fxdiv/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=", - "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8", - "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git" - }, - "src/third_party/gemmlowp/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=", - "rev": "13d57703abca3005d97b19df1f2db731607a7dc2", - "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git" - }, - "src/third_party/google_benchmark/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-gztnxui9Fe/FTieMjdvfJjWHjkImtlsHn6fM1FruyME=", - "rev": "344117638c8ff7e239044fd0fa7085839fc03021", - "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git" - }, - "src/third_party/googletest/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-mNYS3k2fAc7Q6GlpnO7pkXSkGHfUH1MXuZXkCmwG4q4=", - "rev": "c231e6f5b152029dbd5fa4a9e0c04095035aec3f", - "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git" - }, - "src/third_party/grpc/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=", - "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737", - "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git" - }, - "src/third_party/harfbuzz-ng/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-VAan6P8PHSq8RsGE4YbI/wCfFAhzl3nJMt0cQBYi5Ls=", - "rev": "155015f4bec434ecc2f94621665844218f05ce51", - "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git" - }, - "src/third_party/highway/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=", - "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a", - "url": "https://chromium.googlesource.com/external/github.com/google/highway.git" - }, - "src/third_party/hunspell_dictionaries": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=", - "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e", - "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git" - }, - "src/third_party/icu": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-YYoslfgGfmDpSTxtCOmGGfwQg6mVU1IggzAtWRwwcMc=", - "rev": "bad7ddbf921358177e56fd723c2f59f8041a370f", - "url": "https://chromium.googlesource.com/chromium/deps/icu.git" - }, - "src/third_party/jsoncpp/source": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=", - "rev": "42e892d96e47b1f6e29844cc705e148ec4856448", - "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git" - }, - "src/third_party/leveldatabase/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-TTX2FrmcWsgqrh4uzqMyGnnnG51cVC2ILfdLxD65MLY=", - "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea", - "url": "https://chromium.googlesource.com/external/leveldb.git" - }, - "src/third_party/libFuzzer/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-T0dO+1A0r6kLFoleMkY8heu80biPntCpvA6YfqA7b+E=", - "rev": "758bd21f103a501b362b1ca46fa8fcb692eaa303", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git" - }, - "src/third_party/libaddressinput/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-xvUUQSPrvqUp5DI9AqlRTWurwDW087c6v4RvI+4sfOQ=", - "rev": "e8712e415627f22d0b00ebee8db99547077f39bd", - "url": "https://chromium.googlesource.com/external/libaddressinput.git" - }, - "src/third_party/libaom/source/libaom": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-zgtNjrQE+fzr8Aye0rAkQR5enzfacCAsRbC3crUrMQ4=", - "rev": "158761dfb40e77f3a54c3b14a596112837baa24b", - "url": "https://aomedia.googlesource.com/aom.git" - }, - "src/third_party/libavif/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-moVf7i0gZ/KW53ACcVIWKWNL0oAimOSU1m5IdQHz6z8=", - "rev": "43ec9ace31c6ca11efddddb61b94b744450d46e2", - "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git" - }, - "src/third_party/libavifinfo/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-UAc4iYWrKWteH98hD3QLkD3JWmV/rsvWhFIVJN7tc+Q=", - "rev": "b496868f7c3fd17dfeeecc0364fe37e19edd548a", - "url": "https://aomedia.googlesource.com/libavifinfo.git" - }, - "src/third_party/libc++/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-k2bSS8OhVyd0/metFpwFvRCWYOaLEU0Md4AW50GpGTM=", - "rev": "80307e66e74bae927fb8709a549859e777e3bf0b", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git" - }, - "src/third_party/libc++abi/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-AdyX58sg//O2e76HAcRC5DcuiTsd68QS4mNVkPv0Vck=", - "rev": "ec88f0ab262c5f2426dbf138b92ee9ae5961e431", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git" - }, - "src/third_party/libdrm/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-NUxS2rBJ0nFblvHRQUfKT933+DAws5RUTDb+RLxRF4M=", - "rev": "98e1db501173303e58ef6a1def94ab7a2d84afc1", - "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git" - }, - "src/third_party/libgav1/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-tB9Wzjs4Sct7QendDMKkaEE4ddD6ptnNCmj1yYKcQSc=", - "rev": "f9a93151adf7203c6ab90f3c94bbd5972b7967b8", - "url": "https://chromium.googlesource.com/codecs/libgav1.git" - }, - "src/third_party/libipp/libipp": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=", - "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f", - "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git" - }, - "src/third_party/libjpeg_turbo": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-+t75ZAdOXc7Nd1/8zEQLX+enZb8upqIQuR6qzb9z7Cg=", - "rev": "9b894306ec3b28cea46e84c32b56773a98c483da", - "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git" - }, - "src/third_party/liblouis/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=", - "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376", - "url": "https://chromium.googlesource.com/external/liblouis-github.git" - }, - "src/third_party/libphonenumber/dist": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-3hSnTFTD3KAdbyxfKg12qbIYTmw6YlTCH64gMP/HUJo=", - "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362", - "url": "https://chromium.googlesource.com/external/libphonenumber.git" - }, - "src/third_party/libprotobuf-mutator/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ZyPweW+V5foxFQwjjMLkaRUo+FNV+kEDGIH/4oRV614=", - "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf", - "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git" - }, - "src/third_party/libsrtp": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-pfLFh2JGk/g0ZZxBKTaYW9/PBpkCm0rtJeyNePUMTTc=", - "rev": "5b7c744eb8310250ccc534f3f86a2015b3887a0a", - "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git" - }, - "src/third_party/libsync/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=", - "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6", - "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git" - }, - "src/third_party/libunwind/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-/4/Trextb4F9UMDVrg4uG9QZl6S0H9FiwnL+2S5+ZpE=", - "rev": "419b03c0b8f20d6da9ddcb0d661a94a97cdd7dad", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git" - }, - "src/third_party/libvpx/source/libvpx": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-5IsUUvhcKKiWJFetS29+S7Wiz5JwqRZGK2t2ehld/M4=", - "rev": "19832b1702d5b0adf616a0e080abd5207c8445b5", - "url": "https://chromium.googlesource.com/webm/libvpx.git" - }, - "src/third_party/libwebm/source": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-u/5nkJed0DzdhR5OLL2kIhZhOnrbyzL1Kx37vV/jcEo=", - "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da", - "url": "https://chromium.googlesource.com/webm/libwebm.git" - }, - "src/third_party/libwebp/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Wa33opOFgcmYtycezDUt2f6PqZBse6xYB5kLuSaw95o=", - "rev": "ca332209cb5567c9b249c86788cb2dbf8847e760", - "url": "https://chromium.googlesource.com/webm/libwebp.git" - }, - "src/third_party/libyuv": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-hD5B9fPNwf8M98iS/PYeUJgJxtBvvf2BrrlnBNYXSg0=", - "rev": "a6a2ec654b1be1166b376476a7555c89eca0c275", - "url": "https://chromium.googlesource.com/libyuv/libyuv.git" - }, - "src/third_party/lss": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-hE8uZf9Fst66qJkoVYChiB8G41ie+k9M4X0W+5JUSdw=", - "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521", - "url": "https://chromium.googlesource.com/linux-syscall-support.git" - }, - "src/third_party/material_color_utilities/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Y85XU+z9W6tvmDNHJ/dXQnUKXvvDkO3nH/kUJRLqbc4=", - "rev": "13434b50dcb64a482cc91191f8cf6151d90f5465", - "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git" - }, - "src/third_party/minigbm/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=", - "rev": "3018207f4d89395cc271278fb9a6558b660885f5", - "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git" - }, - "src/third_party/nan": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-cwti+BWmF/l/dqa/cN0C587EK4WwRWcWy6gjFVkaMTg=", - "owner": "nodejs", - "repo": "nan", - "rev": "e14bdcd1f72d62bca1d541b66da43130384ec213" - }, - "src/third_party/nasm": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-SiRXHsUlWXtH6dbDjDjqNAm105ibEB3jOfNtQAM4CaY=", - "rev": "f477acb1049f5e043904b87b825c5915084a9a29", - "url": "https://chromium.googlesource.com/chromium/deps/nasm.git" - }, - "src/third_party/nearby/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-YotKuKutnjuphwiElfQO6qpoNLhZGP6bqWZnW3Zv6QI=", - "rev": "33e682f24427a0eb634bd3186fe3c6fd96bd6768", - "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git" - }, - "src/third_party/neon_2_sse/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-299ZptvdTmCnIuVVBkrpf5ZTxKPwgcGUob81tEI91F0=", - "rev": "a15b489e1222b2087007546b4912e21293ea86ff", - "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git" - }, - "src/third_party/openh264/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-J7Eqe2QevZh1xfap19W8AVCcwfRu7ztknnbKFJUAH1c=", - "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7", - "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264" - }, - "src/third_party/openscreen/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-4Qd5nHJxIOY7ifPy6Xf0TgZK0TkZY48scOkJ25kMCjk=", - "rev": "90e48ecc4ed9feeba36f49065c738d620d6f0780", - "url": "https://chromium.googlesource.com/openscreen" - }, - "src/third_party/openscreen/src/buildtools": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-SBorO59kMSnskcp3oP5lrGQg+9cr/Ymey2aZGlRTgu0=", - "rev": "0ac67b7cef80e421283f633ee9c2ce652f6e42cc", - "url": "https://chromium.googlesource.com/chromium/src/buildtools" - }, - "src/third_party/openscreen/src/third_party/tinycbor/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=", - "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7", - "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git" - }, - "src/third_party/ots/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=", - "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33", - "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git" - }, - "src/third_party/pdfium": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-/gSW4sd2AN4m3aIs9AojqsfrXeCNNrl7wFM54KeQVxw=", - "rev": "dcdd830ae4e1b14f85383d1baf84efee6bc853cc", - "url": "https://pdfium.googlesource.com/pdfium.git" - }, - "src/third_party/perfetto": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-FeI+nAa5N8mQoA8gDSmWn6nw6TSPhDGwJI8/7r/5z1c=", - "rev": "a66020f87046d8934c22e20acb2bb8a91901ce8e", - "url": "https://android.googlesource.com/platform/external/perfetto.git" - }, - "src/third_party/protobuf-javascript/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-TmP6xftUVTD7yML7UEM/DB8bcsL5RFlKPyCpcboD86U=", - "rev": "e34549db516f8712f678fcd4bc411613b5cc5295", - "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript" - }, - "src/third_party/pthreadpool/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-R4YmNzWEELSkAws/ejmNVxqXDTJwcqjLU/o/HvgRn2E=", - "rev": "4fe0e1e183925bf8cfa6aae24237e724a96479b8", - "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git" - }, - "src/third_party/pyelftools": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=", - "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae", - "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git" - }, - "src/third_party/pywebsocket3/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=", - "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2", - "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git" - }, - "src/third_party/quic_trace/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=", - "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc", - "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git" - }, - "src/third_party/re2/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-gB6vW6UJ60LrrGeNP6NKAcirIK6jgZjHRc6TA+pNXAQ=", - "rev": "6598a8ecd57724c8c7d43b2fca8eb9f9969ce57c", - "url": "https://chromium.googlesource.com/external/github.com/google/re2.git" - }, - "src/third_party/ruy/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-cwmKQJpR+7lp+dq8fGu6U8A+qmkXz6SlWvAdhBkKZOw=", - "rev": "587c2cf8b11d3c32fa26887063eda3171a3d353e", - "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git" - }, - "src/third_party/securemessage/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=", - "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84", - "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git" - }, - "src/third_party/skia": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-zHfv4OZK/nVJc2rl+dBSCc4f6qndpAKcFZtThw06+LY=", - "rev": "a747f7ea37db6ea3871816dbaf2eb41b5776c826", - "url": "https://skia.googlesource.com/skia.git" - }, - "src/third_party/smhasher/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-RyC//me08hwGXRrWcK8GZ1uhIkBq4FByA7fHCVDsniw=", - "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f", - "url": "https://chromium.googlesource.com/external/smhasher.git" - }, - "src/third_party/snappy/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-5fV6NfO8vmqK+iCwpLtE2YjYOzjsshctauyjNIOxrH0=", - "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c", - "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git" - }, - "src/third_party/speedometer/v3.0": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-qMQ4naX+4uUu3vtzzinjkhxX9/dNoTwj6vWCu4FdQmU=", - "rev": "8d67f28d0281ac4330f283495b7f48286654ad7d", - "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git" - }, - "src/third_party/sqlite/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-TsrSvL76H7SFhJWgHqyl8Y/BhAcnI9oaT2tUT6Ktan4=", - "rev": "f51e3fa404f5853650525549c78d7489a7f457b3", - "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git" - }, - "src/third_party/squirrel.mac": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=", - "owner": "Squirrel", - "repo": "Squirrel.Mac", - "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38" - }, - "src/third_party/squirrel.mac/vendor/Mantle": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=", - "owner": "Mantle", - "repo": "Mantle", - "rev": "78d3966b3c331292ea29ec38661b25df0a245948" - }, - "src/third_party/squirrel.mac/vendor/ReactiveObjC": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=", - "owner": "ReactiveCocoa", - "repo": "ReactiveObjC", - "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76" - }, - "src/third_party/swiftshader": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-tU0maePvL35JIVKFm+9hmPYDM81szLNYqUJyTKMHT0k=", - "rev": "bbe6452b420c5ddc4b0fd421b0a3ce271262f4ca", - "url": "https://swiftshader.googlesource.com/SwiftShader.git" - }, - "src/third_party/text-fragments-polyfill/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=", - "rev": "c036420683f672d685e27415de0a5f5e85bdc23f", - "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git" - }, - "src/third_party/tflite/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Iqun3uMTCjGzHxUDeTCrvZufNtobnbqYVPDt7ZJ06wM=", - "rev": "55bc062601e4ee5a4efa834a84ae5c5ec6b28306", - "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git" - }, - "src/third_party/ukey2/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=", - "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47", - "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git" - }, - "src/third_party/vulkan-deps": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-MokWdjOP8Mc5hmoRrSXHXkobMPWbbmMzAMBOOoKG3gk=", - "rev": "3cebaae6743688201c8aa9b3694bba6948f0fa68", - "url": "https://chromium.googlesource.com/vulkan-deps" - }, - "src/third_party/vulkan-deps/glslang/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-lP+N1d6jE+Cj5ofomgMEhbA6VbH5eKw83mY6zNIOfNk=", - "rev": "9f37ad360ea1c32162f0cc1799b1b292594fc771", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang" - }, - "src/third_party/vulkan-deps/spirv-cross/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-H43M9DXfEuyKuvo6rjb5k0KEbYOSFodbPJh8ZKY4PQg=", - "rev": "b8fcf307f1f347089e3c46eb4451d27f32ebc8d3", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross" - }, - "src/third_party/vulkan-deps/spirv-headers/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-kyOAwe4R0FmeA9IIJF2eoZR+7g9LiGKaZ7FuIfkrXJ4=", - "rev": "8b246ff75c6615ba4532fe4fde20f1be090c3764", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers" - }, - "src/third_party/vulkan-deps/spirv-tools/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-/Cldtx75V+z3FuColEqwweyZHEqR2NaIj1Ha/vPoCsc=", - "rev": "c6615779ef8a1eb5ef48fef77bf3eb2cf4f5438d", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools" - }, - "src/third_party/vulkan-deps/vulkan-headers/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-EnKiCtH6rh3ACQgokSSfp4FPFluMZW0dheP8IEzZtY4=", - "rev": "577baa05033cf1d9236b3d078ca4b3269ed87a2b", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers" - }, - "src/third_party/vulkan-deps/vulkan-loader/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-zkJSPshRaZRDiBvLJbJo8l1MX10KXYZniqtNTNnokT4=", - "rev": "61a9c50248e09f3a0e0be7ce6f8bb1663855f979", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader" - }, - "src/third_party/vulkan-deps/vulkan-tools/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-9qs0oS6W7x/1Z+wlFt91bqF09oxoloNPtjjH9mECJFk=", - "rev": "733fd2b522918f81f9c4669350dafd066f99c5d5", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools" - }, - "src/third_party/vulkan-deps/vulkan-utility-libraries/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-mCD9/bpWUXRVJ+OyOqG0tXTgFuptIlcG6UR/RiNV1Z0=", - "rev": "a4140c5fd47dcf3a030726a60b293db61cfb54a3", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries" - }, - "src/third_party/vulkan-deps/vulkan-validation-layers/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Bcm5yMo7JL/E6YZetlabkA0mkEFxbWriYNd8tRtgx5k=", - "rev": "5b8af92af052c83444ac560ff1e28c1c322424ef", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers" - }, - "src/third_party/vulkan_memory_allocator": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-YzxHZagz/M8Y54UnI4h1wu5jSTuaOgv0ifC9d3fJZlQ=", - "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21", - "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git" - }, - "src/third_party/wayland-protocols/gtk": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=", - "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0", - "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git" - }, - "src/third_party/wayland-protocols/kde": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=", - "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e", - "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git" - }, - "src/third_party/wayland-protocols/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ljMcY59iOdGYeToadCuQ3t0lrBnsBdot+NiT6e+JJ04=", - "rev": "681c33c8547d6aefe24455ba2bffe1c5ae11fee5", - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git" - }, - "src/third_party/wayland/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-YSo1DznmcaYSUcJl/3voVSfZfuLokAFQt6F3M1Iat28=", - "rev": "c35d1a3d1c0a1735afe5eb227cb826faa878ec19", - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git" - }, - "src/third_party/webdriver/pylib": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=", - "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04", - "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git" - }, - "src/third_party/webgl/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-dubsIPZKBGOzANGvMtQxFKFIHr0laDUGpzgRyEOjHMU=", - "rev": "f4bf599a8b575df685c31d9c4729a70a04e377ed", - "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git" - }, - "src/third_party/webgpu-cts/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-/duXwmqanyI2KEnV5izvr0kE8tJNI1F1jMMIY0ylLH8=", - "rev": "addbf812fd750dc8cebbd63732e7ce54a763fbee", - "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git" - }, - "src/third_party/webrtc": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-USSfh+vUFrWnXYvZIORRb4AEGNSCPub2cNqEdZD9mKM=", - "rev": "a55ff9e83e4592010969d428bee656bace8cbc3b", - "url": "https://webrtc.googlesource.com/src.git" - }, - "src/third_party/weston/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-y2srFaPUOoB2umzpo4+hFfhNlqXM2AoMGOpUy/ZSacg=", - "rev": "ccf29cb237c3ed09c5f370f35239c93d07abfdd7", - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git" - }, - "src/third_party/wuffs/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=", - "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8", - "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git" - }, - "src/third_party/xdg-utils": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=", - "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44", - "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git" - }, - "src/third_party/xnnpack/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Cmw+rj805YTnnCwy2Zwzi2ZW4sdX5JWjTnBaUB6+YyU=", - "rev": "7e696d941310a528dd2d6fbee3d499d19b24746d", - "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git" - }, - "src/third_party/zstd/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-hWfYKiTzkmeiUTgNrSYXOFauusSVceVhD04Hgk69CK4=", - "rev": "621a263fb2e6c2175fbd489e5d77ee8038baa2b2", - "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git" - }, - "src/tools/page_cycler/acid3": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-s/49EaYQRsyxuLejXc1zGDYTD7uO0ddaQIJBP50Bvw0=", - "rev": "a926d0a32e02c4c03ae95bb798e6c780e0e184ba", - "url": "https://chromium.googlesource.com/chromium/deps/acid3.git" - }, - "src/v8": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ME/O8CJASZ8Ql931EaTRM3+6lLzGx1us/cK9Dv7Bd+s=", - "rev": "cc9dc1eb196bc3cbeca92eeec62949b4ac7cd757", - "url": "https://chromium.googlesource.com/v8/v8.git" - } - }, - "electron_yarn_hash": "0vq12z09hcm6xdrd34b01vx1c47r4zdaqrkw9db6r612xrp2xi0c", - "modules": "123", - "node": "20.16.0", - "version": "30.5.0" - }, - "31": { - "chrome": "126.0.6478.234", - "chromium": { - "deps": { - "gn": { - "hash": "sha256-mNoQeHSSM+rhR0UHrpbyzLJC9vFqfxK1SD0X8GiRsqw=", - "rev": "df98b86690c83b81aedc909ded18857296406159", - "url": "https://gn.googlesource.com/gn", - "version": "2024-05-13" - } - }, - "version": "126.0.6478.234" - }, - "chromium_npm_hash": "sha256-oILlQlzTcc0YqAvK5htRvG/YXWJTDtJ60Z1EcBEj9dw=", - "deps": { - "src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-lepGVhzXrBAY5YWwobe18FroRiOD/Q9f8QqazHDmvTY=", - "postFetch": "rm -r $out/third_party/blink/web_tests; rm -r $out/third_party/hunspell/tests; rm -r $out/content/test/data; rm -r $out/courgette/testdata; rm -r $out/extensions/test/data; rm -r $out/media/test/data; ", - "rev": "126.0.6478.234", - "url": "https://chromium.googlesource.com/chromium/src.git" - }, - "src/chrome/test/data/perf/canvas_bench": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-svOuyBGKloBLM11xLlWCDsB4PpRjdKTBdW2UEW4JQjM=", - "rev": "a7b40ea5ae0239517d78845a5fc9b12976bfc732", - "url": "https://chromium.googlesource.com/chromium/canvas_bench.git" - }, - "src/chrome/test/data/perf/frame_rate/content": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-t4kcuvH0rkPBkcdiMsoNQaRwU09eU+oSvyHDiAHrKXo=", - "rev": "c10272c88463efeef6bb19c9ec07c42bc8fe22b9", - "url": "https://chromium.googlesource.com/chromium/frame_rate/content.git" - }, - "src/chrome/test/data/xr/webvr_info": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-BsAPwc4oEWri0TlqhyxqFNqKdfgVSrB0vQyISmYY4eg=", - "rev": "c58ae99b9ff9e2aa4c524633519570bf33536248", - "url": "https://chromium.googlesource.com/external/github.com/toji/webvr.info.git" - }, - "src/docs/website": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-OSt8vyB1nPLMJaL47ouvS/R+VRxMixEL74TwrdDpJro=", - "rev": "b623150ede7e61bf949bd203b400f28012298274", - "url": "https://chromium.googlesource.com/website.git" - }, - "src/electron": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-dw2WLjkHCt/uYXT+eZpaJ1bdB6DdMcJLjnscREp4YU8=", - "owner": "electron", - "repo": "electron", - "rev": "v31.6.0" - }, - "src/media/cdm/api": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-6J6aSYW0or99VAgMNJJOdJqMJspoG7w1HxDN50MV5bw=", - "rev": "fef0b5aa1bd31efb88dfab804bdbe614f3d54f28", - "url": "https://chromium.googlesource.com/chromium/cdm.git" - }, - "src/net/third_party/quiche/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-viNzIM0zITYLVIdxjqqOhZcJZQiNLeZbPXBt12fGxAw=", - "rev": "ee237e96f18ef123af9992f74645a8a0ce9ef6ef", - "url": "https://quiche.googlesource.com/quiche.git" - }, - "src/testing/libfuzzer/fuzzers/wasm_corpus": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-qWsGQNUptbz0jYvUuxP7woNf5QQrfn9k3uvr82Yk0QM=", - "rev": "f650ff816f2ef227f61ea2e9f222aa69708ab367", - "url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git" - }, - "src/third_party/accessibility_test_framework/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-mzVgoxxBWebesG6okyMxxmO6oH+TITA4o9ucHHMMzkQ=", - "rev": "4a764c690353ea136c82f1a696a70bf38d1ef5fe", - "url": "https://chromium.googlesource.com/external/github.com/google/Accessibility-Test-Framework-for-Android.git" - }, - "src/third_party/angle": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-npgkeMJGP/VBgU13RBVihRziyD3GHXPR5kIgarIE7Yw=", - "rev": "efca5c3874f331bb1a82ed913f5691af7ff99d82", - "url": "https://chromium.googlesource.com/angle/angle.git" - }, - "src/third_party/angle/third_party/VK-GL-CTS/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-jpcUpskkhZ1uj+mKI+nNrrBg2Yk9SxWwLiTqDDqdzxM=", - "rev": "9d7b4c3d553331e316321942e2eb8413e4081c79", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS" - }, - "src/third_party/angle/third_party/glmark2/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-L7+zWM0qn8WFhmON7DGvarTsN1YHt1sn5+hazTOZrrk=", - "rev": "ca8de51fedb70bace5351c6b002eb952c747e889", - "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2" - }, - "src/third_party/angle/third_party/rapidjson/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-btUl1a/B0sXwf/+hyvCvVJjWqIkXfVYCpHm3TeBuOxk=", - "rev": "781a4e667d84aeedbeb8184b7b62425ea66ec59f", - "url": "https://chromium.googlesource.com/external/github.com/Tencent/rapidjson" - }, - "src/third_party/anonymous_tokens/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-o/9lOnPR6vT0pkqWgenfyh9nI5Qoxyd030MNTfcoRSc=", - "rev": "76bfcccb6418239183df55111f2f24782d9f3680", - "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git" - }, - "src/third_party/beto-core/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-7GkqH4hgTVmISjUy/Km/X28tBSsiMs3JRnDmol1zaag=", - "rev": "8bd72cfb219344308ee857bcbe65a27fe91acfe8", - "url": "https://beto-core.googlesource.com/beto-core.git" - }, - "src/third_party/boringssl/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-+G7BcdtU8AeNMY4NLQgKpgF28/CS9FIjf+vaOd+Wf6o=", - "rev": "2db0eb3f96a5756298dcd7f9319e56a98585bd10", - "url": "https://boringssl.googlesource.com/boringssl.git" - }, - "src/third_party/breakpad/breakpad": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-qAIXZ1jZous0Un0jVkOQ66nA2525NziV3Lbso2/+Z1Y=", - "rev": "76788faa4ef163081f82273bfca7fae8a734b971", - "url": "https://chromium.googlesource.com/breakpad/breakpad.git" - }, - "src/third_party/cast_core/public/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-AalRQhJmornCqmvE2+36J/3LubaA0jr6P1PXy32lX4I=", - "rev": "71f51fd6fa45fac73848f65421081edd723297cd", - "url": "https://chromium.googlesource.com/cast_core/public" - }, - "src/third_party/catapult": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-A/mJDWPo2SijDiar3hleWOx0mZg7HxtdN9sjgsmiO60=", - "rev": "923a565b97768d3a51047c3f384f6a0d17990192", - "url": "https://chromium.googlesource.com/catapult.git" - }, - "src/third_party/ced/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ySG74Rj2i2c/PltEgHVEDq+N8yd9gZmxNktc56zIUiY=", - "rev": "ba412eaaacd3186085babcd901679a48863c7dd5", - "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git" - }, - "src/third_party/chromium-variations": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-5XL7nKQPfzRNdtaQTtEG/syvQBdoVZhrNcyKAHu72Sg=", - "rev": "1545704ff52cfb5119f3693c9a9e971594e9cb43", - "url": "https://chromium.googlesource.com/chromium-variations.git" - }, - "src/third_party/clang-format/script": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-whD8isX2ZhLrFzdxHhFP1S/sZDRgyrzLFaVd7OEFqYo=", - "rev": "3c0acd2d4e73dd911309d9e970ba09d58bf23a62", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git" - }, - "src/third_party/cld_3/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-C3MOMBUy9jgkT9BAi/Fgm2UH4cxRuwSBEcRl3hzM2Ss=", - "rev": "b48dc46512566f5a2d41118c8c1116c4f96dc661", - "url": "https://chromium.googlesource.com/external/github.com/google/cld_3.git" - }, - "src/third_party/colorama/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-6ZTdPYSHdQOLYMSnE+Tp7PgsVTs3U2awGu9Qb4Rg/tk=", - "rev": "3de9f013df4b470069d03d250224062e8cf15c49", - "url": "https://chromium.googlesource.com/external/colorama.git" - }, - "src/third_party/content_analysis_sdk/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-f5Jmk1MiGjaRdLun+v/GKVl8Yv9hOZMTQUSxgiJalcY=", - "rev": "9a408736204513e0e95dd2ab3c08de0d95963efc", - "url": "https://chromium.googlesource.com/external/github.com/chromium/content_analysis_sdk.git" - }, - "src/third_party/cpu_features/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-E8LoVzhe+TAmARWZTSuINlsVhzpUJMxPPCGe/dHZcyA=", - "rev": "936b9ab5515dead115606559502e3864958f7f6e", - "url": "https://chromium.googlesource.com/external/github.com/google/cpu_features.git" - }, - "src/third_party/cpuinfo/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-eshoHmGiu5k0XE/A1SWf7OvBj7/YD9JNSZgoyGzGcLA=", - "rev": "3c8b1533ac03dd6531ab6e7b9245d488f13a82a5", - "url": "https://chromium.googlesource.com/external/github.com/pytorch/cpuinfo.git" - }, - "src/third_party/crabbyavif/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-MNHqTBfQAV0WsoZzjHVa8F7o1OUuc8O3OOln+UKT58c=", - "rev": "ef17807890f60bee1398a752d53204c369076aca", - "url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git" - }, - "src/third_party/crc32c/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-urg0bmnfMfHagLPELp4WrNCz1gBZ6DFOWpDue1KsMtc=", - "rev": "fa5ade41ee480003d9c5af6f43567ba22e4e17e6", - "url": "https://chromium.googlesource.com/external/github.com/google/crc32c.git" - }, - "src/third_party/cros-components/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ht/hkX4Nr0VfHq/dovI/CHgPRPpGflUz9KiZywh0MXg=", - "rev": "1985ff9dfd894b5cd958163bf9f4fde8716acbb4", - "url": "https://chromium.googlesource.com/external/google3/cros_components.git" - }, - "src/third_party/cros_system_api": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-p/eew0EIxSQOWuvEmzrk9BnDIps5y6R/cBR54sHhfcc=", - "rev": "8d58ca6b357e6827660dc26ca777c798f4426c2e", - "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git" - }, - "src/third_party/crossbench": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-4gQn5y/Z6ccYA/0VjIQfMpFMkEuPA78jyCgZ+FpmsFs=", - "rev": "acbea986f40578f43c88239c78c797f61842e642", - "url": "https://chromium.googlesource.com/crossbench.git" - }, - "src/third_party/dav1d/libdav1d": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-AA2bcrsW1xFspyl5TqYUJeAwKM06rWTNtXr/uMVIJmw=", - "rev": "006ca01d387ac6652825d6cce1a57b2de67dbf8d", - "url": "https://chromium.googlesource.com/external/github.com/videolan/dav1d.git" - }, - "src/third_party/dawn": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-7pYn8KbOAxAG5+OPNXNiW8aCUNxE55BgR67fNO6MaSI=", - "rev": "c9815acd5a88ae4853cd25f7cb8f2face7cace28", - "url": "https://dawn.googlesource.com/dawn.git" - }, - "src/third_party/dawn/third_party/dxc": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-mwAZuGP2dIW1pup11wokABoE5xcicSNhFbz/TXfYGII=", - "rev": "9463ce9cd8d9b02b98edb746431c0bbcf9654ae4", - "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler" - }, - "src/third_party/dawn/third_party/dxheaders": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-0Miw1Cy/jmOo7bLFBOHuTRDV04cSeyvUEyPkpVsX9DA=", - "rev": "980971e835876dc0cde415e8f9bc646e64667bf7", - "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers" - }, - "src/third_party/dawn/third_party/glfw": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-TwAPRjQxIz3J+zbNxzCp5Tek7MwisxdekMpY5QGsKyg=", - "rev": "62e175ef9fae75335575964c845a302447c012c7", - "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw" - }, - "src/third_party/dawn/third_party/khronos/EGL-Registry": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Z6DwLfgQ1wsJXz0KKJyVieOatnDmx3cs0qJ6IEgSq1A=", - "rev": "7dea2ed79187cd13f76183c4b9100159b9e3e071", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/EGL-Registry" - }, - "src/third_party/dawn/third_party/khronos/OpenGL-Registry": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-K3PcRIiD3AmnbiSm5TwaLs4Gu9hxaN8Y91WMKK8pOXE=", - "rev": "5bae8738b23d06968e7c3a41308568120943ae77", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/OpenGL-Registry" - }, - "src/third_party/dawn/third_party/webgpu-cts": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-oc7Dt++zGJzpyueP3qMzI9YVA50MjFy6uIqO4eklYb4=", - "rev": "4629efe685b7b8db08e1c7aa2cafd1e9e5769ac2", - "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts" - }, - "src/third_party/dawn/third_party/webgpu-headers": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-xQ+yqHyyxqCvZsX0nl8Thyc3MKRS3SRRhTaLLErcgfM=", - "rev": "aef5e428a1fdab2ea770581ae7c95d8779984e0a", - "url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers" - }, - "src/third_party/depot_tools": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-JNF2y81hdi0Q6BY+w00uf1iPbP/cq/N+uuOC+a2nPbg=", - "rev": "28ece72a5d752a5e36e62124979b18530e610f6b", - "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git" - }, - "src/third_party/devtools-frontend/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-IWKu2u06tUcLKZlvleCiZ63e6hYtsrnMNVNj9N07aLI=", - "rev": "c963f0c7472f41d9d4c3335fffdab4f9b8da25bb", - "url": "https://chromium.googlesource.com/devtools/devtools-frontend" - }, - "src/third_party/dom_distiller_js/dist": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-yuEBD2XQlV3FGI/i7lTmJbCqzeBiuG1Qow8wvsppGJw=", - "rev": "199de96b345ada7c6e7e6ba3d2fa7a6911b8767d", - "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git" - }, - "src/third_party/eigen3/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Q/5UIBdgoS0cIWPnlg41+8Wy4Z6B2cBqSqGfj5rNdII=", - "rev": "e16d70bd4e9cdebd2fbdae63b1a4d86493fbbde6", - "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git" - }, - "src/third_party/electron_node": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-fYx771gbZTsgEmHQf4mj3qSqmFHs8YVg4sVyUnfsmqI=", - "owner": "nodejs", - "repo": "node", - "rev": "v20.17.0" - }, - "src/third_party/emoji-segmenter/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-oT9mAKoKnrsFsBAeTRfPOXM76HRQQabFAlPpfKUGFhs=", - "rev": "9ba6d25d0d9313569665d4a9d2b34f0f39f9a50e", - "url": "https://chromium.googlesource.com/external/github.com/google/emoji-segmenter.git" - }, - "src/third_party/engflow-reclient-configs": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-aZXYPj9KYBiZnljqOLlWJWS396Fg3EhjiQLZmkwCBsY=", - "owner": "EngFlow", - "repo": "reclient-configs", - "rev": "955335c30a752e9ef7bff375baab5e0819b6c00d" - }, - "src/third_party/expat/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-fr18LL/xX23t9TIn3q8jWdV9Y6coepbGsO3vJVdDW6k=", - "rev": "a59c3edffa54a77b8d7b268ef527da541076ca6a", - "url": "https://chromium.googlesource.com/external/github.com/libexpat/libexpat.git" - }, - "src/third_party/farmhash/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-5n58VEUxa/K//jAfZqG4cXyfxrp50ogWDNYcgiXVHdc=", - "rev": "816a4ae622e964763ca0862d9dbd19324a1eaf45", - "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git" - }, - "src/third_party/ffmpeg": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-hFmeeCoUrsMsq3ARBKQCgITuotRCD0ro/feJpF/85Rk=", - "rev": "092f84b6141055bfab609b6b2666b724eee2e130", - "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git" - }, - "src/third_party/flac": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-gvTFPNOlBfozptaH7lTb9iD/09AmpdT3kCl9ClszjEs=", - "rev": "689da3a7ed50af7448c3f1961d1791c7c1d9c85c", - "url": "https://chromium.googlesource.com/chromium/deps/flac.git" - }, - "src/third_party/flatbuffers/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-XT1DKfSFKK5Rp1fttm/aHOVBmUWD+wvcOfD+OYgEJpI=", - "rev": "c696275eaffec33796b5ca8755614fd9fec0a6a7", - "url": "https://chromium.googlesource.com/external/github.com/google/flatbuffers.git" - }, - "src/third_party/fontconfig/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-W5WIgC6A52kY4fNkbsDEa0o+dfd97Rl5NKfgnIRpI00=", - "rev": "14d466b30a8ab4a9d789977ed94f2c30e7209267", - "url": "https://chromium.googlesource.com/external/fontconfig.git" - }, - "src/third_party/fp16/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-m2d9bqZoGWzuUPGkd29MsrdscnJRtuIkLIMp3fMmtRY=", - "rev": "0a92994d729ff76a58f692d3028ca1b64b145d91", - "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git" - }, - "src/third_party/freetype-testing/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-2aHPchIK5Oce5+XxdXVCC+8EM6i0XT0rFbjSIVa2L1A=", - "rev": "7a69b1a2b028476f840ab7d4a2ffdfe4eb2c389f", - "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git" - }, - "src/third_party/freetype/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ZFWYp9nD4kp/dYQm3SQXjej2do8QgWZMiV9Y4nTDcEY=", - "rev": "a46424228f0998a72c715f32e18dca8a7a764c1f", - "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git" - }, - "src/third_party/fuzztest/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-xMUZYJ0cTCvc9q4q0ZhfFOf2Yb1tHOQfPLrDMEf/YvA=", - "rev": "34584108adea9bb274f71cee34fc091f89d7b2d5", - "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git" - }, - "src/third_party/fxdiv/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-LjX5kivfHbqCIA5pF9qUvswG1gjOFo3CMpX0VR+Cn38=", - "rev": "63058eff77e11aa15bf531df5dd34395ec3017c8", - "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FXdiv.git" - }, - "src/third_party/gemmlowp/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-O5wD8wxgis0qYMaY+xZ21GBDVQFphMRvInCOswS6inA=", - "rev": "13d57703abca3005d97b19df1f2db731607a7dc2", - "url": "https://chromium.googlesource.com/external/github.com/google/gemmlowp.git" - }, - "src/third_party/google_benchmark/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-gztnxui9Fe/FTieMjdvfJjWHjkImtlsHn6fM1FruyME=", - "rev": "344117638c8ff7e239044fd0fa7085839fc03021", - "url": "https://chromium.googlesource.com/external/github.com/google/benchmark.git" - }, - "src/third_party/googletest/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-OCJ62/IGZI9QCJu/eiytdNE/5keiaf2hbLEM3vmUbNI=", - "rev": "33af80a883ddc33d9c0fac0a5b4578301efb18de", - "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git" - }, - "src/third_party/grpc/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-64JEVCx/PCM0dvv7kAQvSjLc0QbRAZVBDzwD/FAV6T8=", - "rev": "822dab21d9995c5cf942476b35ca12a1aa9d2737", - "url": "https://chromium.googlesource.com/external/github.com/grpc/grpc.git" - }, - "src/third_party/harfbuzz-ng/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-VAan6P8PHSq8RsGE4YbI/wCfFAhzl3nJMt0cQBYi5Ls=", - "rev": "155015f4bec434ecc2f94621665844218f05ce51", - "url": "https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git" - }, - "src/third_party/highway/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-kNb9UVcFq2BIf9nftUgN8ciFFCzRCou/sLwVf08jf3E=", - "rev": "8f20644eca693cfb74aa795b0006b6779c370e7a", - "url": "https://chromium.googlesource.com/external/github.com/google/highway.git" - }, - "src/third_party/hunspell_dictionaries": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-67mvpJRFFa9eMfyqFMURlbxOaTJBICnk+gl0b0mEHl8=", - "rev": "41cdffd71c9948f63c7ad36e1fb0ff519aa7a37e", - "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git" - }, - "src/third_party/icu": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-XQDU7A+43ywikpEt/fLNFnZ/wbU/vUEbm/K55qg180I=", - "rev": "98f2494518c2dbb9c488e83e507b070ea5910e95", - "url": "https://chromium.googlesource.com/chromium/deps/icu.git" - }, - "src/third_party/instrumented_libs": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-SGEB74fK9e0WWT77ZNISE9fVlXGGPvZMBUsQ3XD+DsA=", - "rev": "0172d67d98df2d30bd2241959d0e9569ada25abe", - "url": "https://chromium.googlesource.com/chromium/third_party/instrumented_libraries.git" - }, - "src/third_party/jsoncpp/source": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-bSLNcoYBz3QCt5VuTR056V9mU2PmBuYBa0W6hFg2m8Q=", - "rev": "42e892d96e47b1f6e29844cc705e148ec4856448", - "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git" - }, - "src/third_party/leveldatabase/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-TTX2FrmcWsgqrh4uzqMyGnnnG51cVC2ILfdLxD65MLY=", - "rev": "068d5ee1a3ac40dabd00d211d5013af44be55bea", - "url": "https://chromium.googlesource.com/external/leveldb.git" - }, - "src/third_party/libFuzzer/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-T0dO+1A0r6kLFoleMkY8heu80biPntCpvA6YfqA7b+E=", - "rev": "758bd21f103a501b362b1ca46fa8fcb692eaa303", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git" - }, - "src/third_party/libaddressinput/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-xvUUQSPrvqUp5DI9AqlRTWurwDW087c6v4RvI+4sfOQ=", - "rev": "e8712e415627f22d0b00ebee8db99547077f39bd", - "url": "https://chromium.googlesource.com/external/libaddressinput.git" - }, - "src/third_party/libaom/source/libaom": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-zlzMsP86/BvcvfoZxdajZUZCvW/8nUvIkRuTdYXnUf8=", - "rev": "77665fee933b409dd94e35b0c216645f845b9fd9", - "url": "https://aomedia.googlesource.com/aom.git" - }, - "src/third_party/libavif/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-2vUxV4C9MrXVPgdSZjkEJ3YO9kkdwR0G5pgGZ+E+/60=", - "rev": "5d97130f0820dbc97738f5480e2dd00865a35744", - "url": "https://chromium.googlesource.com/external/github.com/AOMediaCodec/libavif.git" - }, - "src/third_party/libavifinfo/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-UAc4iYWrKWteH98hD3QLkD3JWmV/rsvWhFIVJN7tc+Q=", - "rev": "b496868f7c3fd17dfeeecc0364fe37e19edd548a", - "url": "https://aomedia.googlesource.com/libavifinfo.git" - }, - "src/third_party/libc++/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ocJqlENHw19VpkFxKwHneGw3aNh56nt+/JeopxLj2M8=", - "rev": "e3b94d0e5b86883fd77696bf10dc33ba250ba99b", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git" - }, - "src/third_party/libc++abi/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-71aEsBTsJl7XkH5y1s99eH3WpjVk+O1mHLtZE6dSIjQ=", - "rev": "a37a3aa431f132b02a58656f13984d51098330a2", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git" - }, - "src/third_party/libdrm/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-NUxS2rBJ0nFblvHRQUfKT933+DAws5RUTDb+RLxRF4M=", - "rev": "98e1db501173303e58ef6a1def94ab7a2d84afc1", - "url": "https://chromium.googlesource.com/chromiumos/third_party/libdrm.git" - }, - "src/third_party/libgav1/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-+ss9S5t+yoHzqbtX68+5OyyUbJVecYLwp+C3EXfAziE=", - "rev": "a2f139e9123bdb5edf7707ac6f1b73b3aa5038dd", - "url": "https://chromium.googlesource.com/codecs/libgav1.git" - }, - "src/third_party/libipp/libipp": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-gxU92lHLd6uxO8T3QWhZIK0hGy97cki705DV0VimCPY=", - "rev": "2209bb84a8e122dab7c02fe66cc61a7b42873d7f", - "url": "https://chromium.googlesource.com/chromiumos/platform2/libipp.git" - }, - "src/third_party/libjpeg_turbo": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-+t75ZAdOXc7Nd1/8zEQLX+enZb8upqIQuR6qzb9z7Cg=", - "rev": "9b894306ec3b28cea46e84c32b56773a98c483da", - "url": "https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git" - }, - "src/third_party/liblouis/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-EI/uaHXe0NlqdEw764q0SjerThYEVLRogUlmrsZwXnY=", - "rev": "9700847afb92cb35969bdfcbbfbbb74b9c7b3376", - "url": "https://chromium.googlesource.com/external/liblouis-github.git" - }, - "src/third_party/libphonenumber/dist": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-3hSnTFTD3KAdbyxfKg12qbIYTmw6YlTCH64gMP/HUJo=", - "rev": "140dfeb81b753388e8a672900fb7a971e9a0d362", - "url": "https://chromium.googlesource.com/external/libphonenumber.git" - }, - "src/third_party/libprotobuf-mutator/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ZyPweW+V5foxFQwjjMLkaRUo+FNV+kEDGIH/4oRV614=", - "rev": "a304ec48dcf15d942607032151f7e9ee504b5dcf", - "url": "https://chromium.googlesource.com/external/github.com/google/libprotobuf-mutator.git" - }, - "src/third_party/libsrtp": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-XOPiDAOHpWyCiXI+fi1CAie0Zaj4v14m9Kc8+jbzpUY=", - "rev": "7a7e64c8b5a632f55929cb3bb7d3e6fb48c3205a", - "url": "https://chromium.googlesource.com/chromium/deps/libsrtp.git" - }, - "src/third_party/libsync/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Mkl6C1LxF3RYLwYbxiSfoQPt8QKFwQWj/Ati2sNJ32E=", - "rev": "f4f4387b6bf2387efbcfd1453af4892e8982faf6", - "url": "https://chromium.googlesource.com/aosp/platform/system/core/libsync.git" - }, - "src/third_party/libunwind/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-/4/Trextb4F9UMDVrg4uG9QZl6S0H9FiwnL+2S5+ZpE=", - "rev": "419b03c0b8f20d6da9ddcb0d661a94a97cdd7dad", - "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git" - }, - "src/third_party/libvpx/source/libvpx": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-R7AMqzNV92dnNsPV1mECVsi1dKh+0W8mo24NcPyMn0c=", - "rev": "108f5128e2969451f77b1523ce30bebe545cdd58", - "url": "https://chromium.googlesource.com/webm/libvpx.git" - }, - "src/third_party/libwebm/source": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-u/5nkJed0DzdhR5OLL2kIhZhOnrbyzL1Kx37vV/jcEo=", - "rev": "e4fbea0c9751ae8aa86629b197a28d8276a2b0da", - "url": "https://chromium.googlesource.com/webm/libwebm.git" - }, - "src/third_party/libwebp/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-xuRpEwOnaLGZmrPvfUn3DSoJANd94CG+JXcN7Mdmk5I=", - "rev": "845d5476a866141ba35ac133f856fa62f0b7445f", - "url": "https://chromium.googlesource.com/webm/libwebp.git" - }, - "src/third_party/libyuv": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-hD5B9fPNwf8M98iS/PYeUJgJxtBvvf2BrrlnBNYXSg0=", - "rev": "a6a2ec654b1be1166b376476a7555c89eca0c275", - "url": "https://chromium.googlesource.com/libyuv/libyuv.git" - }, - "src/third_party/lss": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-hE8uZf9Fst66qJkoVYChiB8G41ie+k9M4X0W+5JUSdw=", - "rev": "ce877209e11aa69dcfffbd53ef90ea1d07136521", - "url": "https://chromium.googlesource.com/linux-syscall-support.git" - }, - "src/third_party/material_color_utilities/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Y85XU+z9W6tvmDNHJ/dXQnUKXvvDkO3nH/kUJRLqbc4=", - "rev": "13434b50dcb64a482cc91191f8cf6151d90f5465", - "url": "https://chromium.googlesource.com/external/github.com/material-foundation/material-color-utilities.git" - }, - "src/third_party/minigbm/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-9HwvjTETerbQ7YKXH9kUB2eWa8PxGWMAJfx1jAluhrs=", - "rev": "3018207f4d89395cc271278fb9a6558b660885f5", - "url": "https://chromium.googlesource.com/chromiumos/platform/minigbm.git" - }, - "src/third_party/nan": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-cwti+BWmF/l/dqa/cN0C587EK4WwRWcWy6gjFVkaMTg=", - "owner": "nodejs", - "repo": "nan", - "rev": "e14bdcd1f72d62bca1d541b66da43130384ec213" - }, - "src/third_party/nasm": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-SiRXHsUlWXtH6dbDjDjqNAm105ibEB3jOfNtQAM4CaY=", - "rev": "f477acb1049f5e043904b87b825c5915084a9a29", - "url": "https://chromium.googlesource.com/chromium/deps/nasm.git" - }, - "src/third_party/nearby/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-oz+yloV78xpY71JzWKLEcJNmYT4QYh0IzNXdJwKc8mU=", - "rev": "f26d25ed0106bd8946f8bb380bb67fb552e7390d", - "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git" - }, - "src/third_party/neon_2_sse/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-299ZptvdTmCnIuVVBkrpf5ZTxKPwgcGUob81tEI91F0=", - "rev": "a15b489e1222b2087007546b4912e21293ea86ff", - "url": "https://chromium.googlesource.com/external/github.com/intel/ARM_NEON_2_x86_SSE.git" - }, - "src/third_party/openh264/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-J7Eqe2QevZh1xfap19W8AVCcwfRu7ztknnbKFJUAH1c=", - "rev": "09a4f3ec842a8932341b195c5b01e141c8a16eb7", - "url": "https://chromium.googlesource.com/external/github.com/cisco/openh264" - }, - "src/third_party/openscreen/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-FOawpIr8sXw3VNgYXCw5+NxFexE+lNVni7flp+BMJXA=", - "rev": "97d0a7fd9e51669930f8376e069599acc1c2de2e", - "url": "https://chromium.googlesource.com/openscreen" - }, - "src/third_party/openscreen/src/buildtools": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-suuxUL//BfAMmG8os8ChI7ic9EjGTi7y5kjxiAyrEQc=", - "rev": "4e0e9c73a0f26735f034f09a9cab2a5c0178536b", - "url": "https://chromium.googlesource.com/chromium/src/buildtools" - }, - "src/third_party/openscreen/src/third_party/tinycbor/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-fMKBFUSKmODQyg4hKIa1hwnEKIV6WBbY1Gb8DOSnaHA=", - "rev": "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7", - "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git" - }, - "src/third_party/ots/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-kiUXrXsaGOzPkKh0dVmU1I13WHt0Stzj7QLMqHN9FbU=", - "rev": "46bea9879127d0ff1c6601b078e2ce98e83fcd33", - "url": "https://chromium.googlesource.com/external/github.com/khaledhosny/ots.git" - }, - "src/third_party/pdfium": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-jhDbR0COFpErzHiWD66rcQRWqmf3IgqBU4/aklUEDG4=", - "rev": "ecbab85b3c5285b971b9801c7e197284dca5d144", - "url": "https://pdfium.googlesource.com/pdfium.git" - }, - "src/third_party/perfetto": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-kqpwwf/havZpzxBjJFWNcPnGqvu7KSC6DE3xBbdiK9Q=", - "rev": "6aaa8a1fb15659d1b68179e20993e969d9f500f8", - "url": "https://android.googlesource.com/platform/external/perfetto.git" - }, - "src/third_party/protobuf-javascript/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-TmP6xftUVTD7yML7UEM/DB8bcsL5RFlKPyCpcboD86U=", - "rev": "e34549db516f8712f678fcd4bc411613b5cc5295", - "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript" - }, - "src/third_party/pthreadpool/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-R4YmNzWEELSkAws/ejmNVxqXDTJwcqjLU/o/HvgRn2E=", - "rev": "4fe0e1e183925bf8cfa6aae24237e724a96479b8", - "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/pthreadpool.git" - }, - "src/third_party/pyelftools": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-I/7p3IEvfP/gkes4kx18PvWwhAKilQKb67GXoW4zFB4=", - "rev": "19b3e610c86fcadb837d252c794cb5e8008826ae", - "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git" - }, - "src/third_party/pywebsocket3/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-WEqqu2/7fLqcf/2/IcD7/FewRSZ6jTgVlVBvnihthYQ=", - "rev": "50602a14f1b6da17e0b619833a13addc6ea78bc2", - "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/pywebsocket3.git" - }, - "src/third_party/quic_trace/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Nf9ZDLcE1JunhbpEMHhrY2ROnbgrvVZoRkPwWq1DU0g=", - "rev": "caa0a6eaba816ecb737f9a70782b7c80b8ac8dbc", - "url": "https://chromium.googlesource.com/external/github.com/google/quic-trace.git" - }, - "src/third_party/re2/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-+xqIFlDDx0FjHt82Gj/7UVKz8KCaTvhTg4Pg/MKwu8w=", - "rev": "f31c2c6f380331ddc862e37c7dea0bcf440b29dc", - "url": "https://chromium.googlesource.com/external/github.com/google/re2.git" - }, - "src/third_party/ruy/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-4NVvqUZn2BdwTxJINTHwPeRqbGXZrWdcd7jv1Y+eoKY=", - "rev": "c08ec529fc91722bde519628d9449258082eb847", - "url": "https://chromium.googlesource.com/external/github.com/google/ruy.git" - }, - "src/third_party/securemessage/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-GS4ccnuiqxMs/LVYAtvSlVAYFp4a5GoZsxcriTX3k78=", - "rev": "fa07beb12babc3b25e0c5b1f38c16aa8cb6b8f84", - "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git" - }, - "src/third_party/skia": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-MmguxmkiZkICHvx76J2bHM6BaXQh9vzWNRQExa5PScg=", - "rev": "be621ea04206d8fae23952783d1d588d6ce0d9b3", - "url": "https://skia.googlesource.com/skia.git" - }, - "src/third_party/smhasher/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-RyC//me08hwGXRrWcK8GZ1uhIkBq4FByA7fHCVDsniw=", - "rev": "e87738e57558e0ec472b2fc3a643b838e5b6e88f", - "url": "https://chromium.googlesource.com/external/smhasher.git" - }, - "src/third_party/snappy/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-5fV6NfO8vmqK+iCwpLtE2YjYOzjsshctauyjNIOxrH0=", - "rev": "c9f9edf6d75bb065fa47468bf035e051a57bec7c", - "url": "https://chromium.googlesource.com/external/github.com/google/snappy.git" - }, - "src/third_party/speedometer/v3.0": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-qMQ4naX+4uUu3vtzzinjkhxX9/dNoTwj6vWCu4FdQmU=", - "rev": "8d67f28d0281ac4330f283495b7f48286654ad7d", - "url": "https://chromium.googlesource.com/external/github.com/WebKit/Speedometer.git" - }, - "src/third_party/sqlite/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-NyYVUWJTfZ069Po70vgOssJEGXdoFgdrxg1IhYNtXPA=", - "rev": "1ee793e63351333e2089d4b272e15574502ff0c2", - "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git" - }, - "src/third_party/squirrel.mac": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-4GfKQg0u3c9GI+jl3ixESNqWXQJKRMi+00QT0s2Shqw=", - "owner": "Squirrel", - "repo": "Squirrel.Mac", - "rev": "0e5d146ba13101a1302d59ea6e6e0b3cace4ae38" - }, - "src/third_party/squirrel.mac/vendor/Mantle": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-ogFkMJybf2Ue606ojXJu6Gy5aXSi1bSKm60qcTAIaPk=", - "owner": "Mantle", - "repo": "Mantle", - "rev": "78d3966b3c331292ea29ec38661b25df0a245948" - }, - "src/third_party/squirrel.mac/vendor/ReactiveObjC": { - "fetcher": "fetchFromGitHub", - "hash": "sha256-/MCqC1oFe3N9TsmfVLgl+deR6qHU6ZFQQjudb9zB5Mo=", - "owner": "ReactiveCocoa", - "repo": "ReactiveObjC", - "rev": "74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76" - }, - "src/third_party/swiftshader": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-z4bu4cohPSBV8qluLBQau/C65GC+OGWq6bBeMR/TCFA=", - "rev": "da334852e70510d259bfa8cbaa7c5412966b2f41", - "url": "https://swiftshader.googlesource.com/SwiftShader.git" - }, - "src/third_party/text-fragments-polyfill/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-4rW2u1cQAF4iPWHAt1FvVXIpz2pmI901rEPks/w/iFA=", - "rev": "c036420683f672d685e27415de0a5f5e85bdc23f", - "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git" - }, - "src/third_party/tflite/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-k846rWmLlNmnQxZHPzaFHDv5xu3AQt+9ynQIor4fFfw=", - "rev": "1187fe26a8a52029b23e0832356989ab44a540c3", - "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git" - }, - "src/third_party/ukey2/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-aaLs6ZS+CdBlCJ6ZhsmdAPFxiBIij6oufsDcNeRSV1E=", - "rev": "0275885d8e6038c39b8a8ca55e75d1d4d1727f47", - "url": "https://chromium.googlesource.com/external/github.com/google/ukey2.git" - }, - "src/third_party/vulkan-deps": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-EU8/UkMiD8TAlXjzg0bqn7DRijSm+y0W+7fpaP/gDkI=", - "rev": "f1dcf238ad742f936794809f28b0ad0511b6585b", - "url": "https://chromium.googlesource.com/vulkan-deps" - }, - "src/third_party/vulkan-deps/glslang/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-/2t8GbVf+GnOK8p+KFKXyWc26SEAD+UxPCGuhqZsRpg=", - "rev": "b3e9bdbe1656b37611585e0a1523678f089bc31e", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang" - }, - "src/third_party/vulkan-deps/spirv-cross/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-H43M9DXfEuyKuvo6rjb5k0KEbYOSFodbPJh8ZKY4PQg=", - "rev": "b8fcf307f1f347089e3c46eb4451d27f32ebc8d3", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross" - }, - "src/third_party/vulkan-deps/spirv-headers/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-+svEwPqaUxZeg/JF9DYfwx0N1g9eTzHkIEyW5rZ1DaA=", - "rev": "49a1fceb9b1d087f3c25ad5ec077bb0e46231297", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers" - }, - "src/third_party/vulkan-deps/spirv-tools/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-+HKyvortwE3LT1T+vwfhLWOjBu4QUIj0mSuRK/WhFqI=", - "rev": "199038f10cbe56bf7cbfeb5472eb0a25af2f09f5", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools" - }, - "src/third_party/vulkan-deps/vulkan-headers/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-bbILp733ddwEStJB0nr+cyAV8Px0kie7rLQ4eS7kUoI=", - "rev": "5677bafb820e476441e9e1f745371b72133407d3", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers" - }, - "src/third_party/vulkan-deps/vulkan-loader/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-8N0xdcT2BtjECOMytAkkydbYCIYsJZ9JnQMt1fq1Iso=", - "rev": "eb8c7b071a449be3d1331e0961c8fdd0a78efca9", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader" - }, - "src/third_party/vulkan-deps/vulkan-tools/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-6Pu0oSqrCIUCQUlYEqaNsQt583fipG+3SYXtM4oa9RE=", - "rev": "df8e710224f563a04b7db2680f72d31619c4b259", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools" - }, - "src/third_party/vulkan-deps/vulkan-utility-libraries/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-QAYYpIH82F1OaUsTFCgBDHMWAdWpaTBMLvNgK+QRMBQ=", - "rev": "358a107a6ff284906dcccbabe5b0183c03fd85b6", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries" - }, - "src/third_party/vulkan-deps/vulkan-validation-layers/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-ysOCZ3XKVt0bhtF0J20cbumFTXzk3qqgfZFjA9qU/9s=", - "rev": "944660e342cfafb6c318d11731751d9a291434d4", - "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers" - }, - "src/third_party/vulkan_memory_allocator": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-YzxHZagz/M8Y54UnI4h1wu5jSTuaOgv0ifC9d3fJZlQ=", - "rev": "56300b29fbfcc693ee6609ddad3fdd5b7a449a21", - "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git" - }, - "src/third_party/wayland-protocols/gtk": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-75XNnLkF5Lt1LMRGT+T61k0/mLa3kkynfN+QWvZ0LiQ=", - "rev": "40ebed3a03aef096addc0af09fec4ec529d882a0", - "url": "https://chromium.googlesource.com/external/github.com/GNOME/gtk.git" - }, - "src/third_party/wayland-protocols/kde": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Dmcp/2ms/k7NxPPmPkp0YNfM9z2Es1ZO0uX10bc7N2Y=", - "rev": "0b07950714b3a36c9b9f71fc025fc7783e82926e", - "url": "https://chromium.googlesource.com/external/github.com/KDE/plasma-wayland-protocols.git" - }, - "src/third_party/wayland-protocols/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-5gWBte8oiuXM01StvyXFAsxFwuQZHjZT/LZ6l0mvrwI=", - "rev": "c7e9c4f5d396cda4051e49b15d7d0e4f91e4efac", - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git" - }, - "src/third_party/wayland/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Cxu9+Kzw2t1BDfuGzNobaraT4eJcSPO7jvnHpuUANoo=", - "rev": "31577177454b89db37ceabd94e1640d398adbc87", - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/wayland.git" - }, - "src/third_party/webdriver/pylib": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-WIqWXIKVgElgg8P8laLAlUrgwodGdeVcwohZxnPKedw=", - "rev": "fc5e7e70c098bfb189a9a74746809ad3c5c34e04", - "url": "https://chromium.googlesource.com/external/github.com/SeleniumHQ/selenium/py.git" - }, - "src/third_party/webgl/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-Yn0e1bpvtD4mGdZaRiBytc+upLulYVyHJqXJiTWEfmA=", - "rev": "1b6371436a0a60e6b9a4ae2a40a8eba198e3af02", - "url": "https://chromium.googlesource.com/external/khronosgroup/webgl.git" - }, - "src/third_party/webgpu-cts/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-POFEg+sjEvogLgu0tGpMHFiMy244QBJInr+Ix2MgtYs=", - "rev": "762a3dfb42095c6084da99b630eea6bef9dc1db8", - "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git" - }, - "src/third_party/webrtc": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-zSB7M1YbAdQaBJzJVJKkE+ZPdqiJRPPBCOoZk+IH3Yo=", - "rev": "a18e38fed2307edd6382760213fa3ddf199fa181", - "url": "https://webrtc.googlesource.com/src.git" - }, - "src/third_party/weston/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-y2srFaPUOoB2umzpo4+hFfhNlqXM2AoMGOpUy/ZSacg=", - "rev": "ccf29cb237c3ed09c5f370f35239c93d07abfdd7", - "url": "https://chromium.googlesource.com/external/anongit.freedesktop.org/git/wayland/weston.git" - }, - "src/third_party/wuffs/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-373d2F/STcgCHEq+PO+SCHrKVOo6uO1rqqwRN5eeBCw=", - "rev": "e3f919ccfe3ef542cfc983a82146070258fb57f8", - "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git" - }, - "src/third_party/xdg-utils": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-WuQ9uDq+QD17Y20ACFGres4nbkeOiTE2y+tY1avAT5U=", - "rev": "cb54d9db2e535ee4ef13cc91b65a1e2741a94a44", - "url": "https://chromium.googlesource.com/chromium/deps/xdg-utils.git" - }, - "src/third_party/xnnpack/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-DFASq5yiHHrda3iAIJ6spcw12HQfwsVJs37XsxIcers=", - "rev": "e73fb4a03f658fd48cc10c8a7cf48fe7eeab9114", - "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git" - }, - "src/third_party/zstd/src": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-B/zsEY8mUV86xzf6fOclTdjBFBD+ErkjYAmTNn2r+18=", - "rev": "ff7a151f2e6c009b657d9f798c2d9962b0e3feb5", - "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git" - }, - "src/tools/page_cycler/acid3": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-s/49EaYQRsyxuLejXc1zGDYTD7uO0ddaQIJBP50Bvw0=", - "rev": "a926d0a32e02c4c03ae95bb798e6c780e0e184ba", - "url": "https://chromium.googlesource.com/chromium/deps/acid3.git" - }, - "src/v8": { - "fetcher": "fetchFromGitiles", - "hash": "sha256-WitoqX3tFf3ty0pXaoGAtKV7Jr0cAZ/m+MxET4kpMzQ=", - "rev": "65b1674f955694c83b9a3e579c23ae0ea35258db", - "url": "https://chromium.googlesource.com/v8/v8.git" - } - }, - "electron_yarn_hash": "12pcq3zzx6627igdfd5bgyismz9n21093smpd43c4aall2mn6194", - "modules": "125", - "node": "20.17.0", - "version": "31.6.0" - } -} diff --git a/pkgs/electron/update.py b/pkgs/electron/update.py deleted file mode 100755 index 022306a..0000000 --- a/pkgs/electron/update.py +++ /dev/null @@ -1,871 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i python -p python3.pkgs.joblib python3.pkgs.click python3.pkgs.click-log nix nix-prefetch-git nurl prefetch-yarn-deps prefetch-npm-deps -""" -electron updater - -A script for updating both binary and source hashes. - -It supports the following modes: - -| Mode | Description | -|------------- | ----------------------------------------------- | -| `update` | for updating a specific Electron release | -| `update-all` | for updating all electron releases at once | -| `eval` | just print the necessary sources to fetch | - -The `eval` and `update` commands accept an optional `--version` flag -to restrict the mechanism only to a given major release. - -The `update` and `update-all` commands accept an optional `--commit` -flag to automatically commit the changes for you. - -The `update` and `update-all` commands accept optional `--bin-only` -and `--source-only` flags to restict the update to binary or source -releases. -""" -import base64 -import csv -import json -import logging -import os -import random -import re -import subprocess -import sys -import tempfile -import traceback -import urllib.request - -from abc import ABC -from codecs import iterdecode -from datetime import datetime -from typing import Iterable, Optional, Tuple -from urllib.request import urlopen - -import click -import click_log - -from joblib import Parallel, delayed, Memory - -depot_tools_checkout = tempfile.TemporaryDirectory() -subprocess.check_call( - [ - "nix-prefetch-git", - "--builder", - "--quiet", - "--url", - "https://chromium.googlesource.com/chromium/tools/depot_tools", - "--out", - depot_tools_checkout.name, - "--rev", - "452fe3be37f78fbecefa1b4b0d359531bcd70d0d" - ] -) -sys.path.append(depot_tools_checkout.name) - -import gclient_eval -import gclient_utils - - -# Relative path to the electron-source info.json -SOURCE_INFO_JSON = "info.json" - -# Relatice path to the electron-bin info.json -BINARY_INFO_JSON = "binary/info.json" - -# Relative path the the electron-chromedriver info.json -CHROMEDRIVER_INFO_JSON = "chromedriver/info.json" - -# Number of spaces used for each indentation level -JSON_INDENT = 4 - -os.chdir(os.path.dirname(__file__)) - -memory: Memory = Memory("cache", verbose=0) - -logger = logging.getLogger(__name__) -click_log.basic_config(logger) - -nixpkgs_path = os.path.dirname(os.path.realpath(__file__)) + "/../../../.." - - -class Repo: - fetcher: str - args: dict - - def __init__(self) -> None: - self.deps: dict = {} - self.hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" - - def get_deps(self, repo_vars: dict, path: str) -> None: - print( - "evaluating " + json.dumps(self, default=vars, sort_keys=True), - file=sys.stderr, - ) - - deps_file = self.get_file("DEPS") - evaluated = gclient_eval.Parse(deps_file, vars_override=repo_vars, filename="DEPS") - - repo_vars = dict(evaluated.get("vars", {})) | repo_vars - - prefix = f"{path}/" if evaluated.get("use_relative_paths", False) else "" - - self.deps = { - prefix + dep_name: repo_from_dep(dep) - for dep_name, dep in evaluated.get("deps", {}).items() - if ( - gclient_eval.EvaluateCondition(dep["condition"], repo_vars) - if "condition" in dep - else True - ) - and repo_from_dep(dep) != None - } - - for key in evaluated.get("recursedeps", []): - dep_path = prefix + key - if dep_path in self.deps and dep_path != "src/third_party/squirrel.mac": - self.deps[dep_path].get_deps(repo_vars, dep_path) - - def prefetch(self) -> None: - self.hash = get_repo_hash(self.fetcher, self.args) - - def prefetch_all(self) -> int: - return sum( - [dep.prefetch_all() for [_, dep] in self.deps.items()], - [delayed(self.prefetch)()], - ) - - def flatten_repr(self) -> dict: - return {"fetcher": self.fetcher, "hash": self.hash, **self.args} - - def flatten(self, path: str) -> dict: - out = {path: self.flatten_repr()} - for dep_path, dep in self.deps.items(): - out |= dep.flatten(dep_path) - return out - - def get_file(self, filepath: str) -> str: - raise NotImplementedError - - -class GitRepo(Repo): - def __init__(self, url: str, rev: str) -> None: - super().__init__() - self.fetcher = "fetchgit" - self.args = { - "url": url, - "rev": rev, - } - - -class GitHubRepo(Repo): - def __init__(self, owner: str, repo: str, rev: str) -> None: - super().__init__() - self.fetcher = "fetchFromGitHub" - self.args = { - "owner": owner, - "repo": repo, - "rev": rev, - } - - def get_file(self, filepath: str) -> str: - return ( - urlopen( - f"https://raw.githubusercontent.com/{self.args['owner']}/{self.args['repo']}/{self.args['rev']}/{filepath}" - ) - .read() - .decode("utf-8") - ) - - -class GitilesRepo(Repo): - def __init__(self, url: str, rev: str) -> None: - super().__init__() - self.fetcher = "fetchFromGitiles" - # self.fetcher = 'fetchgit' - self.args = { - "url": url, - "rev": rev, - # "fetchSubmodules": "false", - } - - if url == "https://chromium.googlesource.com/chromium/src.git": - self.args["postFetch"] = "rm -r $out/third_party/blink/web_tests; " - self.args["postFetch"] += "rm -r $out/third_party/hunspell/tests; " - self.args["postFetch"] += "rm -r $out/content/test/data; " - self.args["postFetch"] += "rm -r $out/courgette/testdata; " - self.args["postFetch"] += "rm -r $out/extensions/test/data; " - self.args["postFetch"] += "rm -r $out/media/test/data; " - - def get_file(self, filepath: str) -> str: - return base64.b64decode( - urlopen( - f"{self.args['url']}/+/{self.args['rev']}/{filepath}?format=TEXT" - ).read() - ).decode("utf-8") - - -class ElectronBinRepo(GitHubRepo): - def __init__(self, owner: str, repo: str, rev: str) -> None: - super().__init__(owner, repo, rev) - self.systems = { - "i686-linux": "linux-ia32", - "x86_64-linux": "linux-x64", - "armv7l-linux": "linux-armv7l", - "aarch64-linux": "linux-arm64", - "x86_64-darwin": "darwin-x64", - "aarch64-darwin": "darwin-arm64", - } - - def get_shasums256(self, version: str) -> list: - """Returns the contents of SHASUMS256.txt""" - try: - called_process: subprocess.CompletedProcess = subprocess.run( - [ - "nix-prefetch-url", - "--print-path", - f"https://github.com/electron/electron/releases/download/v{version}/SHASUMS256.txt", - ], - capture_output=True, - check=True, - text=True, - ) - - hash_file_path = called_process.stdout.split("\n")[1] - - with open(hash_file_path, "r") as f: - return f.read().split("\n") - - except subprocess.CalledProcessError as err: - print(err.stderr) - sys.exit(1) - - def get_headers(self, version: str) -> str: - """Returns the hash of the release headers tarball""" - try: - called_process: subprocess.CompletedProcess = subprocess.run( - [ - "nix-prefetch-url", - f"https://artifacts.electronjs.org/headers/dist/v{version}/node-v{version}-headers.tar.gz", - ], - capture_output=True, - check=True, - text=True, - ) - return called_process.stdout.split("\n")[0] - except subprocess.CalledProcessError as err: - print(err.stderr) - sys.exit(1) - - def get_hashes(self, major_version: str) -> dict: - """Returns a dictionary of hashes for a given major version""" - m, _ = get_latest_version(major_version) - version: str = m["version"] - - out = {} - out[major_version] = { - "hashes": {}, - "version": version, - } - - hashes: list = self.get_shasums256(version) - - for nix_system, electron_system in self.systems.items(): - filename = f"*electron-v{version}-{electron_system}.zip" - if any([x.endswith(filename) for x in hashes]): - out[major_version]["hashes"][nix_system] = [ - x.split(" ")[0] for x in hashes if x.endswith(filename) - ][0] - out[major_version]["hashes"]["headers"] = self.get_headers(version) - - return out - - -class ElectronChromedriverRepo(ElectronBinRepo): - def __init__(self, rev: str) -> None: - super().__init__("electron", "electron", rev) - self.systems = { - "i686-linux": "linux-ia32", - "x86_64-linux": "linux-x64", - "armv7l-linux": "linux-armv7l", - "aarch64-linux": "linux-arm64", - "x86_64-darwin": "darwin-x64", - "aarch64-darwin": "darwin-arm64", - } - - def get_hashes(self, major_version: str) -> dict: - """Returns a dictionary of hashes for a given major version""" - m, _ = get_latest_version(major_version) - version: str = m["version"] - - out = {} - out[major_version] = { - "hashes": {}, - "version": version, - } - - hashes: list = self.get_shasums256(version) - - for nix_system, electron_system in self.systems.items(): - filename = f"*chromedriver-v{version}-{electron_system}.zip" - if any([x.endswith(filename) for x in hashes]): - out[major_version]["hashes"][nix_system] = [ - x.split(" ")[0] for x in hashes if x.endswith(filename) - ][0] - out[major_version]["hashes"]["headers"] = self.get_headers(version) - - return out - - -# Releases that have reached end-of-life no longer receive any updates -# and it is rather pointless trying to update those. -# -# https://endoflife.date/electron -@memory.cache -def supported_version_range() -> range: - """Returns a range of electron releases that have not reached end-of-life yet""" - releases_json = json.loads( - urlopen("https://endoflife.date/api/electron.json").read() - ) - supported_releases = [ - int(x["cycle"]) - for x in releases_json - if x["eol"] == False - or datetime.strptime(x["eol"], "%Y-%m-%d") > datetime.today() - ] - - return range( - min(supported_releases), # incl. - # We have also packaged the beta release in nixpkgs, - # but it is not tracked by endoflife.date - max(supported_releases) + 2, # excl. - 1, - ) - - -@memory.cache -def get_repo_hash(fetcher: str, args: dict) -> str: - expr = f"with import {nixpkgs_path} {{}};{fetcher}{{" - for key, val in args.items(): - expr += f'{key}="{val}";' - expr += "}" - cmd = ["nurl", "-H", "--expr", expr] - print(" ".join(cmd), file=sys.stderr) - out = subprocess.check_output(cmd) - return out.decode("utf-8").strip() - - -@memory.cache -def _get_yarn_hash(path: str) -> str: - print(f"prefetch-yarn-deps", file=sys.stderr) - with tempfile.TemporaryDirectory() as tmp_dir: - with open(tmp_dir + "/yarn.lock", "w") as f: - f.write(path) - return ( - subprocess.check_output(["prefetch-yarn-deps", tmp_dir + "/yarn.lock"]) - .decode("utf-8") - .strip() - ) - - -def get_yarn_hash(repo: Repo, yarn_lock_path: str = "yarn.lock") -> str: - return _get_yarn_hash(repo.get_file(yarn_lock_path)) - - -@memory.cache -def _get_npm_hash(filename: str) -> str: - print(f"prefetch-npm-deps", file=sys.stderr) - with tempfile.TemporaryDirectory() as tmp_dir: - with open(tmp_dir + "/package-lock.json", "w") as f: - f.write(filename) - return ( - subprocess.check_output( - ["prefetch-npm-deps", tmp_dir + "/package-lock.json"] - ) - .decode("utf-8") - .strip() - ) - - -def get_npm_hash(repo: Repo, package_lock_path: str = "package-lock.json") -> str: - return _get_npm_hash(repo.get_file(package_lock_path)) - - -def repo_from_dep(dep: dict) -> Optional[Repo]: - if "url" in dep: - url, rev = gclient_utils.SplitUrlRevision(dep["url"]) - - search_object = re.search(r"https://github.com/(.+)/(.+?)(\.git)?$", url) - if search_object: - return GitHubRepo(search_object.group(1), search_object.group(2), rev) - - if re.match(r"https://.+.googlesource.com", url): - return GitilesRepo(url, rev) - - return GitRepo(url, rev) - else: - # Not a git dependency; skip - return None - - -def get_gn_source(repo: Repo) -> dict: - gn_pattern = r"'gn_version': 'git_revision:([0-9a-f]{40})'" - gn_commit = re.search(gn_pattern, repo.get_file("DEPS")).group(1) - gn_prefetch: bytes = subprocess.check_output( - [ - "nix-prefetch-git", - "--quiet", - "https://gn.googlesource.com/gn", - "--rev", - gn_commit, - ] - ) - gn: dict = json.loads(gn_prefetch) - return { - "gn": { - "version": datetime.fromisoformat(gn["date"]).date().isoformat(), - "url": gn["url"], - "rev": gn["rev"], - "hash": gn["hash"], - } - } - - -def get_latest_version(major_version: str) -> Tuple[str, str]: - """Returns the latest version for a given major version""" - electron_releases: dict = json.loads( - urlopen("https://releases.electronjs.org/releases.json").read() - ) - major_version_releases = filter( - lambda item: item["version"].startswith(f"{major_version}."), electron_releases - ) - m = max(major_version_releases, key=lambda item: item["date"]) - - rev = f"v{m['version']}" - return (m, rev) - - -def get_electron_bin_info(major_version: str) -> Tuple[str, str, ElectronBinRepo]: - m, rev = get_latest_version(major_version) - - electron_repo: ElectronBinRepo = ElectronBinRepo("electron", "electron", rev) - return (major_version, m, electron_repo) - - -def get_electron_chromedriver_info( - major_version: str, -) -> Tuple[str, str, ElectronChromedriverRepo]: - m, rev = get_latest_version(major_version) - - electron_repo: ElectronChromedriverRepo = ElectronChromedriverRepo(rev) - return (major_version, m, electron_repo) - - -def get_electron_info(major_version: str) -> Tuple[str, str, GitHubRepo]: - m, rev = get_latest_version(major_version) - - electron_repo: GitHubRepo = GitHubRepo("electron", "electron", rev) - electron_repo.get_deps( - { - **{ - f"checkout_{platform}": platform == "linux" or platform == "x64" or platform == "arm64" or platform == "arm" - for platform in ["ios", "chromeos", "android", "mac", "win", "linux"] - }, - **{ - f"checkout_{arch}": True - for arch in ["x64", "arm64", "arm", "x86", "mips", "mips64"] - }, - }, - "src/electron", - ) - - return (major_version, m, electron_repo) - - -def get_update(repo: Tuple[str, str, Repo]) -> Tuple[str, dict]: - (major_version, m, electron_repo) = repo - - tasks = electron_repo.prefetch_all() - a = lambda: (("electron_yarn_hash", get_yarn_hash(electron_repo))) - tasks.append(delayed(a)()) - a = lambda: ( - ( - "chromium_npm_hash", - get_npm_hash( - electron_repo.deps["src"], "third_party/node/package-lock.json" - ), - ) - ) - tasks.append(delayed(a)()) - random.shuffle(tasks) - - task_results = { - n[0]: n[1] - for n in Parallel(n_jobs=3, require="sharedmem", return_as="generator")(tasks) - if n != None - } - - tree = electron_repo.flatten("src/electron") - - return ( - f"{major_version}", - { - "deps": tree, - **{key: m[key] for key in ["version", "modules", "chrome", "node"]}, - "chromium": { - "version": m["chrome"], - "deps": get_gn_source(electron_repo.deps["src"]), - }, - **task_results, - }, - ) - - -def load_info_json(path: str) -> dict: - """Load the contents of a JSON file - - Args: - path: The path to the JSON file - - Returns: An empty dict if the path does not exist, otherwise the contents of the JSON file. - """ - try: - with open(path, "r") as f: - return json.loads(f.read()) - except: - return {} - - -def save_info_json(path: str, content: dict) -> None: - """Saves the given info to a JSON file - - Args: - path: The path where the info should be saved - content: The content to be saved as JSON. - """ - with open(path, "w") as f: - f.write(json.dumps(content, indent=JSON_INDENT, default=vars, sort_keys=True)) - f.write("\n") - - -def update_bin(major_version: str, commit: bool) -> None: - """Update a given electron-bin release - - Args: - major_version: The major version number, e.g. '27' - commit: Whether the updater should commit the result - """ - package_name = f"electron_{major_version}-bin" - print(f"Updating {package_name}") - - electron_bin_info = get_electron_bin_info(major_version) - (_major_version, _version, repo) = electron_bin_info - - old_info = load_info_json(BINARY_INFO_JSON) - new_info = repo.get_hashes(major_version) - - out = old_info | new_info - - save_info_json(BINARY_INFO_JSON, out) - - old_version = ( - old_info[major_version]["version"] if major_version in old_info else None - ) - new_version = new_info[major_version]["version"] - if old_version == new_version: - print(f"{package_name} is up-to-date") - elif commit: - commit_result(package_name, old_version, new_version, BINARY_INFO_JSON) - - -def update_chromedriver(major_version: str, commit: bool) -> None: - """Update a given electron-chromedriver release - - Args: - major_version: The major version number, e.g. '27' - commit: Whether the updater should commit the result - """ - package_name = f"electron-chromedriver_{major_version}" - print(f"Updating {package_name}") - - electron_chromedriver_info = get_electron_chromedriver_info(major_version) - (_major_version, _version, repo) = electron_chromedriver_info - - old_info = load_info_json(CHROMEDRIVER_INFO_JSON) - new_info = repo.get_hashes(major_version) - - out = old_info | new_info - - save_info_json(CHROMEDRIVER_INFO_JSON, out) - - old_version = ( - old_info[major_version]["version"] if major_version in old_info else None - ) - new_version = new_info[major_version]["version"] - if old_version == new_version: - print(f"{package_name} is up-to-date") - elif commit: - commit_result(package_name, old_version, new_version, CHROMEDRIVER_INFO_JSON) - - -def update_source(major_version: str, commit: bool) -> None: - """Update a given electron-source release - - Args: - major_version: The major version number, e.g. '27' - commit: Whether the updater should commit the result - """ - package_name = f"electron-source.electron_{major_version}" - print(f"Updating electron-source.electron_{major_version}") - - old_info = load_info_json(SOURCE_INFO_JSON) - old_version = ( - old_info[str(major_version)]["version"] - if str(major_version) in old_info - else None - ) - - electron_source_info = get_electron_info(major_version) - new_info = get_update(electron_source_info) - out = old_info | {new_info[0]: new_info[1]} - - save_info_json(SOURCE_INFO_JSON, out) - - new_version = new_info[1]["version"] - if old_version == new_version: - print(f"{package_name} is up-to-date") - elif commit: - commit_result(package_name, old_version, new_version, SOURCE_INFO_JSON) - - -def non_eol_releases(releases: Iterable[int]) -> Iterable[int]: - """Returns a list of releases that have not reached end-of-life yet.""" - return tuple(filter(lambda x: x in supported_version_range(), releases)) - - -def update_all_source(commit: bool) -> None: - """Update all eletron-source releases at once - - Args: - commit: Whether to commit the result - """ - old_info = load_info_json(SOURCE_INFO_JSON) - - filtered_releases = non_eol_releases(tuple(map(lambda x: int(x), old_info.keys()))) - - # This might take some time - repos = Parallel(n_jobs=2, require="sharedmem")( - delayed(get_electron_info)(major_version) for major_version in filtered_releases - ) - new_info = { - n[0]: n[1] - for n in Parallel(n_jobs=2, require="sharedmem")( - delayed(get_update)(repo) for repo in repos - ) - } - - if commit: - for major_version in filtered_releases: - # Since the sources have been fetched at this point already, - # fetching them again will be much faster. - update_source(str(major_version), commit) - else: - out = old_info | {new_info[0]: new_info[1]} - save_info_json(SOURCE_INFO_JSON, out) - - -def parse_cve_numbers(tag_name: str) -> Iterable[str]: - """Returns mentioned CVE numbers from a given release tag""" - cve_pattern = r"CVE-\d{4}-\d+" - url = f"https://api.github.com/repos/electron/electron/releases/tags/{tag_name}" - headers = { - "Accept": "application/vnd.github+json", - "X-GitHub-Api-Version": "2022-11-28", - } - request = urllib.request.Request(url=url, headers=headers) - release_note = "" - try: - with urlopen(request) as response: - release_note = json.loads(response.read().decode("utf-8"))["body"] - except: - print( - f"WARN: Fetching release note for {tag_name} from GitHub failed!", - file=sys.stderr, - ) - - return sorted(re.findall(cve_pattern, release_note)) - - -def commit_result( - package_name: str, old_version: Optional[str], new_version: str, path: str -) -> None: - """Creates a git commit with a short description of the change - - Args: - package_name: The package name, e.g. `electron-source.electron-{major_version}` - or `electron_{major_version}-bin` - - old_version: Version number before the update. - Can be left empty when initializing a new release. - - new_version: Version number after the update. - - path: Path to the lockfile to be committed - """ - assert ( - isinstance(package_name, str) and len(package_name) > 0 - ), "Argument `package_name` cannot be empty" - assert ( - isinstance(new_version, str) and len(new_version) > 0 - ), "Argument `new_version` cannot be empty" - - if old_version != new_version: - major_version = new_version.split(".")[0] - cve_fixes_text = "\n".join( - list( - map(lambda cve: f"- Fixes {cve}", parse_cve_numbers(f"v{new_version}")) - ) - ) - init_msg = f"init at {new_version}" - update_msg = f"{old_version} -> {new_version}" - diff = ( - f"- Diff: https://github.com/electron/electron/compare/refs/tags/v{old_version}...v{new_version}\n" - if old_version != None - else "" - ) - commit_message = f"""{package_name}: {update_msg if old_version != None else init_msg} - -- Changelog: https://github.com/electron/electron/releases/tag/v{new_version} -{diff}{cve_fixes_text} -""" - subprocess.run( - [ - "git", - "add", - path, - ] - ) - subprocess.run( - [ - "git", - "commit", - "-m", - commit_message, - ] - ) - - -@click.group() -def cli() -> None: - """A script for updating electron-bin and electron-source hashes""" - pass - - -@cli.command( - "eval", help="Print the necessary sources to fetch for a given major release" -) -@click.option("--version", help="The major version, e.g. '23'") -def eval(version): - (_, _, repo) = electron_repo = get_electron_info(version) - tree = repo.flatten("src/electron") - print(json.dumps(tree, indent=JSON_INDENT, default=vars, sort_keys=True)) - - -@cli.command("update-chromedriver", help="Update a single major release") -@click.option("-v", "--version", help="The major version, e.g. '23'") -@click.option("-c", "--commit", is_flag=True, default=False, help="Commit the result") -def update_chromedriver_cmd(version: str, commit: bool) -> None: - update_chromedriver(version, commit) - - -@cli.command("update", help="Update a single major release") -@click.option("-v", "--version", help="The major version, e.g. '23'") -@click.option( - "-b", - "--bin-only", - is_flag=True, - default=False, - help="Only update electron-bin packages", -) -@click.option( - "-s", - "--source-only", - is_flag=True, - default=False, - help="Only update electron-source packages", -) -@click.option("-c", "--commit", is_flag=True, default=False, help="Commit the result") -def update(version: str, bin_only: bool, source_only: bool, commit: bool) -> None: - assert isinstance(version, str) and len(version) > 0, "version must be non-empty" - - if bin_only and source_only: - print( - "Error: Omit --bin-only and --source-only if you want to update both source and binary packages.", - file=sys.stderr, - ) - sys.exit(1) - - elif bin_only: - update_bin(version, commit) - - elif source_only: - update_source(version, commit) - - else: - update_bin(version, commit) - update_source(version, commit) - - update_chromedriver(version, commit) - - -@cli.command("update-all", help="Update all releases at once") -@click.option( - "-b", - "--bin-only", - is_flag=True, - default=False, - help="Only update electron-bin packages", -) -@click.option( - "-s", - "--source-only", - is_flag=True, - default=False, - help="Only update electron-source packages", -) -@click.option("-c", "--commit", is_flag=True, default=False, help="Commit the result") -def update_all(bin_only: bool, source_only: bool, commit: bool) -> None: - # Filter out releases that have reached end-of-life - filtered_bin_info = dict( - filter( - lambda entry: int(entry[0]) in supported_version_range(), - load_info_json(BINARY_INFO_JSON).items(), - ) - ) - - if bin_only and source_only: - print( - "Error: omit --bin-only and --source-only if you want to update both source and binary packages.", - file=sys.stderr, - ) - sys.exit(1) - - elif bin_only: - for major_version, _ in filtered_bin_info.items(): - update_bin(major_version, commit) - - elif source_only: - update_all_source(commit) - - else: - for major_version, _ in filtered_bin_info.items(): - update_bin(major_version, commit) - - update_all_source(commit) - - for major_version, _ in filtered_bin_info.items(): - update_chromedriver(major_version, commit) - - -if __name__ == "__main__": - cli() diff --git a/pkgs/electron/wrapper.nix b/pkgs/electron/wrapper.nix deleted file mode 100644 index 412596a..0000000 --- a/pkgs/electron/wrapper.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - stdenv, - electron-unwrapped, - wrapGAppsHook3, - makeWrapper, - gsettings-desktop-schemas, - glib, - gtk3, - gtk4, -}: - -stdenv.mkDerivation { - pname = "electron"; - inherit (electron-unwrapped) version; - - nativeBuildInputs = [ - wrapGAppsHook3 - makeWrapper - ]; - buildInputs = [ - # needed for GSETTINGS_SCHEMAS_PATH - gsettings-desktop-schemas - glib - gtk3 - gtk4 - ]; - dontWrapGApps = true; - - buildCommand = '' - gappsWrapperArgsHook - mkdir -p $out/bin - makeWrapper "${electron-unwrapped}/libexec/electron/electron" "$out/bin/electron" \ - "''${gappsWrapperArgs[@]}" \ - --set CHROME_DEVEL_SANDBOX $out/libexec/electron/chrome-sandbox - - ln -s ${electron-unwrapped}/libexec $out/libexec - ''; - - passthru = { - unwrapped = electron-unwrapped; - inherit (electron-unwrapped) headers dist; - }; - inherit (electron-unwrapped) meta; -}