nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 20.03 56 lines 1.7 kB view raw
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}