Skip to content

Commit

Permalink
chromedriver: allow to install on more systems
Browse files Browse the repository at this point in the history
(cherry picked from commit 04527cd)
  • Loading branch information
Stefan Lau authored and shlevy committed Jun 5, 2017
1 parent 883cc6d commit 870cf05
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions pkgs/development/tools/selenium/chromedriver/default.nix
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
{ stdenv, fetchurl, cairo, fontconfig, freetype, gdk_pixbuf, glib
, glibc, gtk2, libX11, makeWrapper, nspr, nss, pango, unzip, gconf
, libXi, libXrender, libXext
, libXi, libXrender, libXext, lib
}:

# note: there is a i686 version available as well
assert stdenv.system == "x86_64-linux";

let
spec = if stdenv.system == "i686-linux" then { system="linux32"; sha256="5d267a8d59f18f1134966e312997b75976f8d816318b5b79b8357a3ac2c022da"; }
else if stdenv.system == "x86_64-linux" then { system="linux64"; sha256="d011749e76305b5591b5500897939b33fac460d705d9815b8c03c53b0e1ecc7c"; }
else if stdenv.system == "x86_64-darwin" then { system="mac64"; sha256="e95fb36ab85264e16c51d58dd9766624eca6b6339569da0460088f4c788c67ad"; }
else abort "missing chromedriver binary for ${stdenv.system}";
in
stdenv.mkDerivation rec {
product = "chromedriver_linux64";
name = "${product}-2.25";
name = "chromedriver-${version}";
version = "2.25";

src = fetchurl {
url = "http://chromedriver.storage.googleapis.com/${version}/${product}.zip";
sha256 = "0z6c3q73pi83iidq3n85sxhc9yikkf9rf22hnn8manrhfsg784fh";
url = "http://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";
sha256 = spec.sha256;
};

buildInputs = [ unzip makeWrapper ];
Expand All @@ -23,16 +24,16 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
mv chromedriver $out/bin
patchelf --set-interpreter ${glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver
wrapProgram "$out/bin/chromedriver" \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib cairo fontconfig freetype gdk_pixbuf glib gtk2 libX11 nspr nss pango libXrender gconf libXext libXi ]}:\$LD_LIBRARY_PATH"
${lib.optionalString (!stdenv.isDarwin) "patchelf --set-interpreter ${glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver"}
${lib.optionalString (!stdenv.isDarwin) ''wrapProgram "$out/bin/chromedriver" \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ stdenv.cc.cc.lib cairo fontconfig freetype gdk_pixbuf glib gtk2 libX11 nspr nss pango libXrender gconf libXext libXi ]}:\$LD_LIBRARY_PATH"''}
'';

meta = with stdenv.lib; {
homepage = http://code.google.com/p/chromedriver/;
description = "A WebDriver server for running Selenium tests on Chrome";
license = licenses.bsd3;
maintainers = [ maintainers.goibhniu ];
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
};
}

0 comments on commit 870cf05

Please sign in to comment.