push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
{
"comment": "This file is kept up to date via update.sh",
"browsers": {
"chromium": {
"revision": "1181",
"browserVersion": "139.0.7258.5"
},
"chromium-headless-shell": {
"revision": "1181",
"browserVersion": "139.0.7258.5"
},
"firefox": {
"revision": "1489",
"browserVersion": "140.0.2"
},
"webkit": {
"revision": "2191",
"revisionOverrides": {
"debian11-x64": "2105",
"debian11-arm64": "2105",
"mac10.14": "1446",
"mac10.15": "1616",
"mac11": "1816",
"mac11-arm64": "1816",
"mac12": "2009",
"mac12-arm64": "2009",
"mac13": "2140",
"mac13-arm64": "2140",
"ubuntu20.04-x64": "2092",
"ubuntu20.04-arm64": "2092"
},
"browserVersion": "26.0"
},
"ffmpeg": {
"revision": "1011",
"revisionOverrides": {
"mac12": "1010",
"mac12-arm64": "1010"
}
}
}
}

View File

@@ -0,0 +1,81 @@
{
fetchzip,
revision,
suffix,
system,
throwSystem,
stdenv,
autoPatchelfHook,
patchelfUnstable,
alsa-lib,
at-spi2-atk,
glib,
libXcomposite,
libXdamage,
libXfixes,
libXrandr,
libgbm,
libgcc,
libxkbcommon,
nspr,
nss,
...
}:
let
linux = stdenv.mkDerivation {
name = "playwright-chromium-headless-shell";
src = fetchzip {
url = "https://playwright.azureedge.net/builds/chromium/${revision}/chromium-headless-shell-${suffix}.zip";
stripRoot = false;
hash =
{
x86_64-linux = "sha256-AYh2urKZdjXCELimYaFihWp0FbDLf4uRrKLJZVxug5M=";
aarch64-linux = "sha256-diBiy0z51BxGK0PcfQOf1aryUcZesKu/UHBSZUjqwMk=";
}
.${system} or throwSystem;
};
nativeBuildInputs = [
autoPatchelfHook
patchelfUnstable
];
buildInputs = [
alsa-lib
at-spi2-atk
glib
libXcomposite
libXdamage
libXfixes
libXrandr
libgbm
libgcc.lib
libxkbcommon
nspr
nss
];
buildPhase = ''
cp -R . $out
'';
};
darwin = fetchzip {
url = "https://playwright.azureedge.net/builds/chromium/${revision}/chromium-headless-shell-${suffix}.zip";
stripRoot = false;
hash =
{
x86_64-darwin = "sha256-vIJuDjkasUYlMW0aCOyztyrlh5kvcwNR9GBaoa/yh/M=";
aarch64-darwin = "sha256-6Q6nz0H2749srdMF/puk/gnG1gQBEnWe9cQO3owL2OU=";
}
.${system} or throwSystem;
};
in
{
x86_64-linux = linux;
aarch64-linux = linux;
x86_64-darwin = darwin;
aarch64-darwin = darwin;
}
.${system} or throwSystem

View File

@@ -0,0 +1,124 @@
{
runCommand,
makeWrapper,
fontconfig_file,
chromium,
fetchzip,
revision,
suffix,
system,
throwSystem,
lib,
alsa-lib,
at-spi2-atk,
atk,
autoPatchelfHook,
cairo,
cups,
dbus,
expat,
glib,
gobject-introspection,
libGL,
libgbm,
libgcc,
libxkbcommon,
nspr,
nss,
pango,
patchelf,
pciutils,
stdenv,
systemd,
vulkan-loader,
xorg,
...
}:
let
chromium-linux = stdenv.mkDerivation {
name = "playwright-chromium";
src = fetchzip {
url = "https://playwright.azureedge.net/builds/chromium/${revision}/chromium-${suffix}.zip";
hash =
{
x86_64-linux = "sha256-R7nMCVpUqgRwtB0syhfIK81maiTVWr8lYBLp4bR8VBg=";
aarch64-linux = "sha256-4fc4X7QwBigktmEeseuqIyEeV70Dy3eO/femXrftMd0=";
}
.${system} or throwSystem;
};
nativeBuildInputs = [
autoPatchelfHook
patchelf
makeWrapper
];
buildInputs = [
alsa-lib
at-spi2-atk
atk
cairo
cups
dbus
expat
glib
gobject-introspection
libgbm
libgcc
libxkbcommon
nspr
nss
pango
stdenv.cc.cc.lib
systemd
xorg.libX11
xorg.libXcomposite
xorg.libXdamage
xorg.libXext
xorg.libXfixes
xorg.libXrandr
xorg.libxcb
];
installPhase = ''
runHook preInstall
mkdir -p $out/chrome-linux
cp -R . $out/chrome-linux
wrapProgram $out/chrome-linux/chrome \
--set-default SSL_CERT_FILE /etc/ssl/certs/ca-bundle.crt \
--set-default FONTCONFIG_FILE ${fontconfig_file}
runHook postInstall
'';
appendRunpaths = lib.makeLibraryPath [
libGL
vulkan-loader
pciutils
];
postFixup = ''
# replace bundled vulkan-loader since we are also already adding our own to RPATH
rm "$out/chrome-linux/libvulkan.so.1"
ln -s -t "$out/chrome-linux" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
'';
};
chromium-darwin = fetchzip {
url = "https://playwright.azureedge.net/builds/chromium/${revision}/chromium-${suffix}.zip";
stripRoot = false;
hash =
{
x86_64-darwin = "sha256-0u1AStbUTX+qgUmg2DvL59B4b265WywDaBV+MdSuaNE=";
aarch64-darwin = "sha256-4pg4wmNTF8mw+APmdpvYlFxb9zc6OUh11oW5gCRKETY=";
}
.${system} or throwSystem;
};
in
{
x86_64-linux = chromium-linux;
aarch64-linux = chromium-linux;
x86_64-darwin = chromium-darwin;
aarch64-darwin = chromium-darwin;
}
.${system} or throwSystem

View File

@@ -0,0 +1,272 @@
{
lib,
buildNpmPackage,
stdenv,
chromium,
ffmpeg,
jq,
nodejs,
fetchFromGitHub,
linkFarm,
callPackage,
makeFontsConf,
makeWrapper,
runCommand,
cacert,
}:
let
inherit (stdenv.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
suffix =
{
x86_64-linux = "linux";
aarch64-linux = "linux-arm64";
x86_64-darwin = "mac";
aarch64-darwin = "mac-arm64";
}
.${system} or throwSystem;
version = "1.54.1";
src = fetchFromGitHub {
owner = "Microsoft";
repo = "playwright";
rev = "v${version}";
hash = "sha256-xwyREgelHLkpbUXOZTppKK7L6dE4jx0d/lbDWSKGzTY=";
};
babel-bundle = buildNpmPackage {
pname = "babel-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright/bundles/babel";
npmDepsHash = "sha256-sdl+rMCmuOmY1f7oSfGuAAFCiPCFzqkQtFCncL4o5LQ=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
expect-bundle = buildNpmPackage {
pname = "expect-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright/bundles/expect";
npmDepsHash = "sha256-KwxNqPefvPPHG4vbco2O4G8WlA7l33toJdfNWHMTDOQ=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
utils-bundle = buildNpmPackage {
pname = "utils-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright/bundles/utils";
npmDepsHash = "sha256-InwWYRk6eRF62qI6qpVaPceIetSr3kPIBK4LdfeoJdo=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
utils-bundle-core = buildNpmPackage {
pname = "utils-bundle-core";
inherit version src;
sourceRoot = "${src.name}/packages/playwright-core/bundles/utils";
npmDepsHash = "sha256-gEm2oTxj4QIiGnIOPffOLh3BYSngpGToF89ObnDYBqs=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
zip-bundle = buildNpmPackage {
pname = "zip-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright-core/bundles/zip";
npmDepsHash = "sha256-c0UZ0Jg86icwJp3xarpXpxWjRYeIjz9wpWtJZDHkd8U=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
playwright = buildNpmPackage {
pname = "playwright";
inherit version src;
sourceRoot = "${src.name}"; # update.sh depends on sourceRoot presence
npmDepsHash = "sha256-4bsX8Q8V3CBpIsyqMYTzfERQQPY5zlPf7CoqR6UkUHU=";
nativeBuildInputs = [
cacert
jq
];
ELECTRON_SKIP_BINARY_DOWNLOAD = true;
postPatch = ''
sed -i '/\/\/ Update test runner./,/^\s*$/{d}' utils/build/build.js
sed -i '/^\/\/ Update bundles\./,/^[[:space:]]*}$/d' utils/build/build.js
sed -i '/execSync/d' ./utils/generate_third_party_notice.js
chmod +w packages/playwright/bundles/babel
ln -s ${babel-bundle}/node_modules packages/playwright/bundles/babel/node_modules
chmod +w packages/playwright/bundles/expect
ln -s ${expect-bundle}/node_modules packages/playwright/bundles/expect/node_modules
chmod +w packages/playwright/bundles/utils
ln -s ${utils-bundle}/node_modules packages/playwright/bundles/utils/node_modules
chmod +w packages/playwright-core/bundles/utils
ln -s ${utils-bundle-core}/node_modules packages/playwright-core/bundles/utils/node_modules
chmod +w packages/playwright-core/bundles/zip
ln -s ${zip-bundle}/node_modules packages/playwright-core/bundles/zip/node_modules
'';
installPhase = ''
runHook preInstall
shopt -s extglob
mkdir -p "$out/lib"
cp -r packages/playwright/node_modules "$out/lib/node_modules"
mkdir -p "$out/lib/node_modules/playwright"
cp -r packages/playwright/!(bundles|src|node_modules|.*) "$out/lib/node_modules/playwright"
# for not supported platforms (such as NixOS) playwright assumes that it runs on ubuntu-20.04
# that forces it to use overridden webkit revision
# let's remove that override to make it use latest revision provided in Nixpkgs
# https://github.com/microsoft/playwright/blob/baeb065e9ea84502f347129a0b896a85d2a8dada/packages/playwright-core/src/server/utils/hostPlatform.ts#L111
jq '(.browsers[] | select(.name == "webkit") | .revisionOverrides) |= del(."ubuntu20.04-x64", ."ubuntu20.04-arm64")' \
packages/playwright-core/browsers.json > browser.json.tmp && mv browser.json.tmp packages/playwright-core/browsers.json
mkdir -p "$out/lib/node_modules/playwright-core"
cp -r packages/playwright-core/!(bundles|src|bin|.*) "$out/lib/node_modules/playwright-core"
mkdir -p "$out/lib/node_modules/@playwright/test"
cp -r packages/playwright-test/* "$out/lib/node_modules/@playwright/test"
runHook postInstall
'';
meta = {
description = "Framework for Web Testing and Automation";
homepage = "https://playwright.dev";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
kalekseev
marie
];
inherit (nodejs.meta) platforms;
};
};
playwright-core = stdenv.mkDerivation (finalAttrs: {
pname = "playwright-core";
inherit (playwright) version src meta;
installPhase = ''
runHook preInstall
cp -r ${playwright}/lib/node_modules/playwright-core "$out"
runHook postInstall
'';
passthru = {
browsersJSON = (lib.importJSON ./browsers.json).browsers;
browsers = browsers { };
browsers-chromium = browsers {
withFirefox = false;
withWebkit = false;
withChromiumHeadlessShell = false;
};
inherit components;
};
});
playwright-test = stdenv.mkDerivation (finalAttrs: {
pname = "playwright-test";
inherit (playwright) version src;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
shopt -s extglob
mkdir -p $out/bin
cp -r ${playwright}/* $out
makeWrapper "${nodejs}/bin/node" "$out/bin/playwright" \
--add-flags "$out/lib/node_modules/@playwright/test/cli.js" \
--prefix NODE_PATH : ${placeholder "out"}/lib/node_modules \
--set-default PLAYWRIGHT_BROWSERS_PATH "${playwright-core.passthru.browsers}"
runHook postInstall
'';
meta = playwright.meta // {
mainProgram = "playwright";
};
});
components = {
chromium = callPackage ./chromium.nix {
inherit suffix system throwSystem;
inherit (playwright-core.passthru.browsersJSON.chromium) revision;
fontconfig_file = makeFontsConf {
fontDirectories = [ ];
};
};
chromium-headless-shell = callPackage ./chromium-headless-shell.nix {
inherit suffix system throwSystem;
inherit (playwright-core.passthru.browsersJSON.chromium) revision;
};
firefox = callPackage ./firefox.nix {
inherit suffix system throwSystem;
inherit (playwright-core.passthru.browsersJSON.firefox) revision;
};
webkit = callPackage ./webkit.nix {
inherit suffix system throwSystem;
inherit (playwright-core.passthru.browsersJSON.webkit) revision;
};
ffmpeg = callPackage ./ffmpeg.nix {
inherit suffix system throwSystem;
inherit (playwright-core.passthru.browsersJSON.ffmpeg) revision;
};
};
browsers = lib.makeOverridable (
{
withChromium ? true,
withFirefox ? true,
withWebkit ? true, # may require `export PLAYWRIGHT_HOST_PLATFORM_OVERRIDE="ubuntu-24.04"`
withFfmpeg ? true,
withChromiumHeadlessShell ? true,
fontconfig_file ? makeFontsConf {
fontDirectories = [ ];
},
}:
let
browsers =
lib.optionals withChromium [ "chromium" ]
++ lib.optionals withChromiumHeadlessShell [ "chromium-headless-shell" ]
++ lib.optionals withFirefox [ "firefox" ]
++ lib.optionals withWebkit [ "webkit" ]
++ lib.optionals withFfmpeg [ "ffmpeg" ];
in
linkFarm "playwright-browsers" (
lib.listToAttrs (
map (
name:
let
revName = if name == "chromium-headless-shell" then "chromium" else name;
value = playwright-core.passthru.browsersJSON.${revName};
in
lib.nameValuePair
# TODO check platform for revisionOverrides
"${lib.replaceStrings [ "-" ] [ "_" ] name}-${value.revision}"
components.${name}
) browsers
)
)
);
in
{
playwright-core = playwright-core;
playwright-test = playwright-test;
}

View File

@@ -0,0 +1,19 @@
{
fetchzip,
suffix,
revision,
system,
throwSystem,
}:
fetchzip {
url = "https://playwright.azureedge.net/builds/ffmpeg/${revision}/ffmpeg-${suffix}.zip";
stripRoot = false;
hash =
{
x86_64-linux = "sha256-AWTiui+ccKHxsIaQSgc5gWCJT5gYwIWzAEqSuKgVqZU=";
aarch64-linux = "sha256-1mOKO2lcnlwLsC6ob//xKnKrCOp94pw8X14uBxCdj0Q=";
x86_64-darwin = "sha256-zJ8BMzdneV6LlEt4I034l5u86dwW4UmO/UazWikpKV4=";
aarch64-darwin = "sha256-ky10UQj+XPVGpaWAPvKd51C5brml0y9xQ6iKcrxAMRc=";
}
.${system} or throwSystem;
}

View File

@@ -0,0 +1,56 @@
{
lib,
stdenv,
fetchzip,
firefox-bin,
suffix,
revision,
system,
throwSystem,
}:
let
firefox-linux = stdenv.mkDerivation {
name = "playwright-firefox";
src = fetchzip {
url = "https://playwright.azureedge.net/builds/firefox/${revision}/firefox-${
"ubuntu-22.04" + (lib.removePrefix "linux" suffix)
}.zip";
hash =
{
x86_64-linux = "sha256-j7gOuXMyftNQencgfpk8Y4ED2LuT7TAa30IPyzmir48=";
aarch64-linux = "sha256-deIUGKBrp56TsDr61cbNbRRSRcVpSoa6pdmMk4oB/Eg=";
}
.${system} or throwSystem;
};
inherit (firefox-bin.unwrapped)
nativeBuildInputs
buildInputs
runtimeDependencies
appendRunpaths
patchelfFlags
;
buildPhase = ''
mkdir -p $out/firefox
cp -R . $out/firefox
'';
};
firefox-darwin = fetchzip {
url = "https://playwright.azureedge.net/builds/firefox/${revision}/firefox-${suffix}.zip";
stripRoot = false;
hash =
{
x86_64-darwin = "sha256-ljgFoyqCg9kma2cDFodNjbkAeEylIzVdWkS1vU/9Rbg=";
aarch64-darwin = "sha256-W2J5APPWEkmoDgBEox6/ygg2xyWpOHZESXFG0tZbj1M=";
}
.${system} or throwSystem;
};
in
{
x86_64-linux = firefox-linux;
aarch64-linux = firefox-linux;
x86_64-darwin = firefox-darwin;
aarch64-darwin = firefox-darwin;
}
.${system} or throwSystem

View File

@@ -0,0 +1,233 @@
{
lib,
stdenv,
fetchzip,
fetchFromGitHub,
makeWrapper,
autoPatchelfHook,
patchelfUnstable,
fetchpatch,
libjxl,
brotli,
at-spi2-atk,
cairo,
flite,
fontconfig,
freetype,
glib,
glib-networking,
gst_all_1,
harfbuzz,
harfbuzzFull,
icu70,
lcms,
libavif,
libdrm,
libepoxy,
libevent,
libgcc,
libgcrypt,
libgpg-error,
libjpeg8,
libopus,
libpng,
libsoup_3,
libtasn1,
libvpx,
libwebp,
libwpe,
libwpe-fdo,
libxkbcommon,
libxml2,
libxslt,
libgbm,
sqlite,
systemdLibs,
wayland-scanner,
woff2,
zlib,
suffix,
revision,
system,
throwSystem,
}:
let
suffix' =
if lib.hasPrefix "linux" suffix then
"ubuntu-22.04" + (lib.removePrefix "linux" suffix)
else if lib.hasPrefix "mac" suffix then
"mac-14" + (lib.removePrefix "mac" suffix)
else
suffix;
libvpx' = libvpx.overrideAttrs (
finalAttrs: previousAttrs: {
version = "1.12.0";
src = fetchFromGitHub {
owner = "webmproject";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
sha256 = "sha256-9SFFE2GfYYMgxp1dpmL3STTU2ea1R5vFKA1L0pZwIvQ=";
};
}
);
libavif' = libavif.overrideAttrs (
finalAttrs: previousAttrs: {
version = "0.9.3";
src = fetchFromGitHub {
owner = "AOMediaCodec";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-ME/mkaHhFeHajTbc7zhg9vtf/8XgkgSRu9I/mlQXnds=";
};
postPatch = "";
patches = [ ];
}
);
libjxl' = libjxl.overrideAttrs (
finalAttrs: previousAttrs: {
version = "0.8.2";
src = fetchFromGitHub {
owner = "libjxl";
repo = "libjxl";
rev = "v${finalAttrs.version}";
hash = "sha256-I3PGgh0XqRkCFz7lUZ3Q4eU0+0GwaQcVb6t4Pru1kKo=";
fetchSubmodules = true;
};
patches = [
# Add missing <atomic> content to fix gcc compilation for RISCV architecture
# https://github.com/libjxl/libjxl/pull/2211
(fetchpatch {
url = "https://github.com/libjxl/libjxl/commit/22d12d74e7bc56b09cfb1973aa89ec8d714fa3fc.patch";
hash = "sha256-X4fbYTMS+kHfZRbeGzSdBW5jQKw8UN44FEyFRUtw0qo=";
})
];
postPatch = ''
# Fix multiple definition errors by using C++17 instead of C++11
substituteInPlace CMakeLists.txt \
--replace "set(CMAKE_CXX_STANDARD 11)" "set(CMAKE_CXX_STANDARD 17)"
# Fix the build with CMake 4.
# See:
# * <https://github.com/webmproject/sjpeg/commit/9990bdceb22612a62f1492462ef7423f48154072>
# * <https://github.com/webmproject/sjpeg/commit/94e0df6d0f8b44228de5be0ff35efb9f946a13c9>
substituteInPlace third_party/sjpeg/CMakeLists.txt \
--replace-fail \
'cmake_minimum_required(VERSION 2.8.7)' \
'cmake_minimum_required(VERSION 3.5...3.10)'
'';
postInstall = "";
cmakeFlags = [
"-DJPEGXL_FORCE_SYSTEM_BROTLI=ON"
"-DJPEGXL_FORCE_SYSTEM_HWY=ON"
"-DJPEGXL_FORCE_SYSTEM_GTEST=ON"
]
++ lib.optionals stdenv.hostPlatform.isStatic [
"-DJPEGXL_STATIC=ON"
]
++ lib.optionals stdenv.hostPlatform.isAarch32 [
"-DJPEGXL_FORCE_NEON=ON"
];
}
);
webkit-linux = stdenv.mkDerivation {
name = "playwright-webkit";
src = fetchzip {
url = "https://playwright.azureedge.net/builds/webkit/${revision}/webkit-${suffix'}.zip";
stripRoot = false;
hash =
{
x86_64-linux = "sha256-OSVHFGdcQrzmhLPdXF61tKmip/6/D+uaQgSBBQiOIZI=";
aarch64-linux = "sha256-b8XwVMCwSbujyqgkJKIPAVNX83Qmmsthprr2x9XSb10=";
}
.${system} or throwSystem;
};
nativeBuildInputs = [
autoPatchelfHook
patchelfUnstable
makeWrapper
];
buildInputs = [
at-spi2-atk
cairo
flite
fontconfig.lib
freetype
glib
brotli
libjxl'
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
harfbuzz
harfbuzzFull
icu70
lcms
libavif'
libdrm
libepoxy
libevent
libgcc.lib
libgcrypt
libgpg-error
libjpeg8
libopus
libpng
libsoup_3
libtasn1
libwebp
libwpe
libwpe-fdo
libvpx'
libxml2
libxslt
libgbm
sqlite
systemdLibs
wayland-scanner
woff2.lib
libxkbcommon
zlib
];
patchelfFlags = [ "--no-clobber-old-sections" ];
buildPhase = ''
cp -R . $out
# remove unused gtk browser
rm -rf $out/minibrowser-gtk
# remove bundled libs
rm -rf $out/minibrowser-wpe/sys
# TODO: still fails on ubuntu trying to find libEGL_mesa.so.0
wrapProgram $out/minibrowser-wpe/bin/MiniBrowser \
--prefix GIO_EXTRA_MODULES ":" "${glib-networking}/lib/gio/modules/" \
--prefix LD_LIBRARY_PATH ":" $out/minibrowser-wpe/lib
'';
preFixup = ''
# Fix libxml2 breakage. See https://github.com/NixOS/nixpkgs/pull/396195#issuecomment-2881757108
mkdir -p "$out/lib"
ln -s "${lib.getLib libxml2}/lib/libxml2.so" "$out/lib/libxml2.so.2"
'';
};
webkit-darwin = fetchzip {
url = "https://playwright.azureedge.net/builds/webkit/${revision}/webkit-${suffix'}.zip";
stripRoot = false;
hash =
{
x86_64-darwin = "sha256-shjhozJS2VbBjpjJVlM9hwBzGWwgva1qhfEUhY8t9Bk=";
aarch64-darwin = "sha256-ZRl86L/OOTNPWfZDl6JQfuXL41kI/Wir99/JIbf7T7M=";
}
.${system} or throwSystem;
};
in
{
x86_64-linux = webkit-linux;
aarch64-linux = webkit-linux;
x86_64-darwin = webkit-darwin;
aarch64-darwin = webkit-darwin;
}
.${system} or throwSystem