Skip to content

Commit 870cf05

Browse files
Stefan Laushlevy
Stefan Lau
authored andcommittedJun 5, 2017
chromedriver: allow to install on more systems
(cherry picked from commit 04527cd)
1 parent 883cc6d commit 870cf05

File tree

1 file changed

+14
-13
lines changed
  • pkgs/development/tools/selenium/chromedriver

1 file changed

+14
-13
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
{ stdenv, fetchurl, cairo, fontconfig, freetype, gdk_pixbuf, glib
22
, glibc, gtk2, libX11, makeWrapper, nspr, nss, pango, unzip, gconf
3-
, libXi, libXrender, libXext
3+
, libXi, libXrender, libXext, lib
44
}:
5-
6-
# note: there is a i686 version available as well
7-
assert stdenv.system == "x86_64-linux";
8-
5+
let
6+
spec = if stdenv.system == "i686-linux" then { system="linux32"; sha256="5d267a8d59f18f1134966e312997b75976f8d816318b5b79b8357a3ac2c022da"; }
7+
else if stdenv.system == "x86_64-linux" then { system="linux64"; sha256="d011749e76305b5591b5500897939b33fac460d705d9815b8c03c53b0e1ecc7c"; }
8+
else if stdenv.system == "x86_64-darwin" then { system="mac64"; sha256="e95fb36ab85264e16c51d58dd9766624eca6b6339569da0460088f4c788c67ad"; }
9+
else abort "missing chromedriver binary for ${stdenv.system}";
10+
in
911
stdenv.mkDerivation rec {
10-
product = "chromedriver_linux64";
11-
name = "${product}-2.25";
12+
name = "chromedriver-${version}";
1213
version = "2.25";
1314

1415
src = fetchurl {
15-
url = "http://chromedriver.storage.googleapis.com/${version}/${product}.zip";
16-
sha256 = "0z6c3q73pi83iidq3n85sxhc9yikkf9rf22hnn8manrhfsg784fh";
16+
url = "http://chromedriver.storage.googleapis.com/${version}/chromedriver_${spec.system}.zip";
17+
sha256 = spec.sha256;
1718
};
1819

1920
buildInputs = [ unzip makeWrapper ];
@@ -23,16 +24,16 @@ stdenv.mkDerivation rec {
2324
installPhase = ''
2425
mkdir -p $out/bin
2526
mv chromedriver $out/bin
26-
patchelf --set-interpreter ${glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver
27-
wrapProgram "$out/bin/chromedriver" \
28-
--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"
27+
${lib.optionalString (!stdenv.isDarwin) "patchelf --set-interpreter ${glibc.out}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver"}
28+
${lib.optionalString (!stdenv.isDarwin) ''wrapProgram "$out/bin/chromedriver" \
29+
--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"''}
2930
'';
3031

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

0 commit comments

Comments
 (0)
Please sign in to comment.