depot/third_party/nixpkgs/pkgs/development/tools/selenium/chromedriver/binary.nix
Default email 5ca88bfbb9 Project import generated by Copybara.
GitOrigin-RevId: 9f918d616c5321ad374ae6cb5ea89c9e04bf3e58
2024-07-31 10:19:44 +00:00

68 lines
1.8 KiB
Nix

{
lib,
stdenv,
fetchurl,
unzip,
testers,
chromedriver,
}:
let
upstream-info =
(import ../../../../applications/networking/browsers/chromium/upstream-info.nix)
.stable.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 = fetchurl {
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 = with maintainers; [ primeos ];
# Note from primeos: By updating Chromium I also update Google Chrome and
# ChromeDriver.
platforms = platforms.darwin;
mainProgram = "chromedriver";
};
}