diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix new file mode 100644 index 000000000000..063af69a7f37 --- /dev/null +++ b/pkgs/development/tools/selenium/chromedriver/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, cairo, fontconfig, freetype, gdk_pixbuf, glib +, glibc, gtk, libX11, makeWrapper, nspr, nss, pango, unzip +}: + +# note: there is a i686 version available as well +assert stdenv.system == "x86_64-linux"; + +stdenv.mkDerivation rec { + name = "chromedriver_linux64_26.0.1383.0"; + + src = fetchurl { + url = "http://chromedriver.googlecode.com/files/${name}.zip"; + sha256 = "0fh4r2rcpjc3nfrdyj256kjlyc0b6mhxqwxcah73q4vm1kjax8rs"; + }; + + buildInputs = [ + cairo fontconfig freetype gdk_pixbuf glib gtk libX11 makeWrapper + nspr nss pango unzip + ]; + + unpackPhase = "unzip $src"; + + installPhase = '' + mkdir -p $out/bin + mv chromedriver $out/bin + patchelf --set-interpreter ${glibc}/lib/ld-linux-x86-64.so.2 $out/bin/chromedriver + wrapProgram "$out/bin/chromedriver" \ + --prefix LD_LIBRARY_PATH : "$(cat ${stdenv.gcc}/nix-support/orig-gcc)/lib64:${cairo}/lib:${fontconfig}/lib:${freetype}/lib:${gdk_pixbuf}/lib:${glib}/lib:${gtk}/lib:${libX11}/lib:${nspr}/lib:${nss}/lib:${pango}/lib:\$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 ]; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d2ff8589f4e..9c85aa47abbb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3090,6 +3090,8 @@ let cgdb = callPackage ../development/tools/misc/cgdb { }; + chromedriver = callPackage ../development/tools/selenium/chromedriver { }; + complexity = callPackage ../development/tools/misc/complexity { }; ctags = callPackage ../development/tools/misc/ctags { };