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,68 @@
{
lib,
stdenv,
fetchzip,
unzip,
testers,
chromedriver,
}:
let
upstream-info =
(lib.importJSON ../../../../applications/networking/browsers/chromium/info.json)
.chromium.chromedriver;
# See ./source.nix for Linux
allSpecs = {
x86_64-darwin = {
system = "mac-x64";
hash = upstream-info.hash_darwin;
};
aarch64-darwin = {
system = "mac-arm64";
hash = upstream-info.hash_darwin_aarch64;
};
};
spec =
allSpecs.${stdenv.hostPlatform.system}
or (throw "missing chromedriver binary for ${stdenv.hostPlatform.system}");
inherit (upstream-info) version;
in
stdenv.mkDerivation {
pname = "chromedriver";
inherit version;
src = fetchzip {
url = "https://storage.googleapis.com/chrome-for-testing-public/${version}/${spec.system}/chromedriver-${spec.system}.zip";
inherit (spec) hash;
};
nativeBuildInputs = [ unzip ];
installPhase = ''
install -m555 -D "chromedriver" $out/bin/chromedriver
'';
passthru.tests.version = testers.testVersion { package = chromedriver; };
meta = with lib; {
homepage = "https://chromedriver.chromium.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.
'';
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.bsd3;
maintainers = [ ];
# Note from primeos: By updating Chromium I also update Google Chrome and
# ChromeDriver.
platforms = platforms.darwin;
mainProgram = "chromedriver";
};
}

View File

@@ -0,0 +1,10 @@
{
lib,
stdenv,
chromium,
callPackage,
}:
if lib.meta.availableOn stdenv.hostPlatform chromium then
callPackage ./source.nix { }
else
callPackage ./binary.nix { }

View File

@@ -0,0 +1,34 @@
{
chromium,
testers,
chromedriver,
}:
chromium.mkDerivation (_: {
name = "chromedriver";
packageName = "chromedriver";
# Build the unstripped target, because stripping in Chromium relies on a prebuilt strip binary
# that doesn't run on NixOS, and we will strip everything ourselves later anyway.
buildTargets = [ "chromedriver.unstripped" ];
installPhase = ''
install -Dm555 $buildPath/chromedriver.unstripped $out/bin/chromedriver
'';
# Kill existing postFixup that tries to patchelf things
postFixup = null;
passthru.tests.version = testers.testVersion { package = chromedriver; };
meta = chromium.meta // {
homepage = "https://chromedriver.chromium.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.
'';
mainProgram = "chromedriver";
};
})