nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, fetchurl, cairo, fontconfig, freetype, gdk-pixbuf, glib
2, glibc, gtk2, libX11, makeWrapper, nspr, nss, pango, unzip, gconf
3, libXi, libXrender, libXext
4}:
5let
6 allSpecs = {
7 x86_64-linux = {
8 system = "linux64";
9 sha256 = "1mqsangjindfqgvjxgmpgfrcd8a2lqmwl587l0ip0p5wwz8yq5wi";
10 };
11
12 x86_64-darwin = {
13 system = "mac64";
14 sha256 = "18ydf2bk5aiin3yffb9z8215idz65nkhgxq0mmlvwb8gwsdvnwi1";
15 };
16 };
17
18 spec = allSpecs.${stdenv.hostPlatform.system}
19 or (throw "missing chromedriver binary for ${stdenv.hostPlatform.system}");
20
21 libs = stdenv.lib.makeLibraryPath [
22 stdenv.cc.cc.lib
23 cairo fontconfig freetype
24 gdk-pixbuf glib gtk2 gconf
25 libX11 nspr nss pango libXrender
26 gconf libXext libXi
27 ];
28in
29stdenv.mkDerivation rec {
30 pname = "chromedriver";
31 version = "81.0.4044.69";
32
33 src = fetchurl {
34 url = "https://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";
35 sha256 = spec.sha256;
36 };
37
38 nativeBuildInputs = [ unzip makeWrapper ];
39
40 unpackPhase = "unzip $src";
41
42 installPhase = ''
43 install -m755 -D chromedriver $out/bin/chromedriver
44 '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
45 patchelf --set-interpreter ${glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver
46 wrapProgram "$out/bin/chromedriver" --prefix LD_LIBRARY_PATH : "${libs}:\$LD_LIBRARY_PATH"
47 '';
48
49 meta = with stdenv.lib; {
50 homepage = https://sites.google.com/a/chromium.org/chromedriver;
51 description = "A WebDriver server for running Selenium tests on Chrome";
52 license = licenses.bsd3;
53 maintainers = [ maintainers.goibhniu maintainers.marsam ];
54 platforms = attrNames allSpecs;
55 };
56}