{ stdenv, fetchgit, python, phantomjs }: stdenv.mkDerivation rec { name = "casperjs-1.0.0-RC5"; src = fetchgit { url = "git://github.com/n1k0/casperjs.git"; rev = "refs/tags/1.0.0-RC5"; sha256 = "e7fd6b94b4b304416159196208dea7f6e8841a667df102eb378a698a92f0f2c7"; }; patchPhase = '' substituteInPlace bin/casperjs --replace "/usr/bin/env python" "${python}/bin/python" \ --replace "'phantomjs'" "'${phantomjs}/bin/phantomjs'" ''; installPhase = '' mkdir -p $out/share/casperjs $out/bin cp -a . $out/share/casperjs/. ln -s $out/share/casperjs/bin/casperjs $out/bin ''; meta = { description = "Navigation scripting & testing utility for PhantomJS."; longDescription = '' CasperJS is a navigation scripting & testing utility for PhantomJS. It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntaxic sugar for doing common tasks such as: - defining & ordering navigation steps - filling forms - clicking links - capturing screenshots of a page (or an area) - making assertions on remote DOM - logging & events - downloading base64 encoded resources, even binary ones - catching errors and react accordingly - writing functional test suites, exporting results as JUnit XML (xUnit) ''; homepage = http://casperjs.org; license = stdenv.lib.licenses.mit; maintainers = [ stdenv.lib.maintainers.bluescreen303 ]; platforms = stdenv.lib.platforms.all; }; }