1{ stdenv, fetchurl, makeWrapper, jre, jdk, gcc, xorg
2, htmlunit-driver, chromedriver, chromeSupport ? true }:
3
4with stdenv.lib;
5
6let
7 arch = if stdenv.system == "x86_64-linux" then "amd64"
8 else if stdenv.system == "i686-linux" then "i386"
9 else "";
10
11in stdenv.mkDerivation rec {
12 name = "selenium-server-standalone-${version}";
13 version = "2.53.0";
14
15 src = fetchurl {
16 url = "http://selenium-release.storage.googleapis.com/2.53/selenium-server-standalone-${version}.jar";
17 sha256 = "0dp0n5chl1frjy9pcyjvpcdgv1f4dkslh2bpydpxwc5isfzqrf37";
18 };
19
20 unpackPhase = "true";
21
22 buildInputs = [ jre makeWrapper ];
23
24 installPhase = ''
25 mkdir -p $out/share/lib/${name}
26 cp $src $out/share/lib/${name}/${name}.jar
27 makeWrapper ${jre}/bin/java $out/bin/selenium-server \
28 --add-flags "-cp ${htmlunit-driver}/share/lib/${htmlunit-driver.name}/${htmlunit-driver.name}.jar:$out/share/lib/${name}/${name}.jar" \
29 --add-flags ${optionalString chromeSupport "-Dwebdriver.chrome.driver=${chromedriver}/bin/chromedriver"} \
30 --add-flags "org.openqa.grid.selenium.GridLauncher"
31 '';
32
33 meta = {
34 homepage = https://code.google.com/p/selenium;
35 description = "Selenium Server for remote WebDriver";
36 maintainers = with maintainers; [ coconnor offline ];
37 platforms = platforms.all;
38 license = licenses.asl20;
39 };
40}