1
1
{ stdenv , fetchurl , cairo , fontconfig , freetype , gdk_pixbuf , glib
2
2
, glibc , gtk2 , libX11 , makeWrapper , nspr , nss , pango , unzip , gconf
3
- , libXi , libXrender , libXext
3
+ , libXi , libXrender , libXext , lib
4
4
} :
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
9
11
stdenv . mkDerivation rec {
10
- product = "chromedriver_linux64" ;
11
- name = "${ product } -2.25" ;
12
+ name = "chromedriver-${ version } " ;
12
13
version = "2.25" ;
13
14
14
15
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 ;
17
18
} ;
18
19
19
20
buildInputs = [ unzip makeWrapper ] ;
@@ -23,16 +24,16 @@ stdenv.mkDerivation rec {
23
24
installPhase = ''
24
25
mkdir -p $out/bin
25
26
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"'' }
29
30
'' ;
30
31
31
32
meta = with stdenv . lib ; {
32
33
homepage = http://code.google.com/p/chromedriver/ ;
33
34
description = "A WebDriver server for running Selenium tests on Chrome" ;
34
35
license = licenses . bsd3 ;
35
36
maintainers = [ maintainers . goibhniu ] ;
36
- platforms = platforms . linux ;
37
+ platforms = platforms . linux ++ platforms . darwin ;
37
38
} ;
38
39
}
0 commit comments