nixpkgs/pkgs/development/tools/casperjs/default.nix
Hoang Xuan Phu b4bf2364e5 casperjs: do not move the current working directory
If /tmp and /nix are in different filesystems, this causes the `find`s
in the fixup phase to fail because of a stale file handle:

    find: cannot get current directory: No such file or directory
2016-05-29 20:53:36 +08:00

54 lines
1.3 KiB
Nix

{ stdenv, fetchFromGitHub, fontsConf, phantomjs2, python, nodePackages }:
let version = "1.1.1";
in stdenv.mkDerivation rec {
name = "casperjs-${version}";
src = fetchFromGitHub {
owner = "casperjs";
repo = "casperjs";
rev = version;
sha256 = "187prrm728xpn0nx9kxfxa4fwd7w25z78nsxfk6a6kl7c5656jpz";
};
buildInputs = [ phantomjs2 python nodePackages.eslint ];
patchPhase = ''
substituteInPlace bin/casperjs --replace "/usr/bin/env python" "${python}/bin/python" \
--replace "'phantomjs'" "'${phantomjs2}/bin/phantomjs'"
'';
dontBuild = true;
doCheck = true;
checkPhase = ''
export FONTCONFIG_FILE=${fontsConf}
make test
'';
installPhase = ''
cp -r . $out
'';
meta = {
description = ''
Navigation scripting & testing utility for PhantomJS and SlimerJS
'';
longDescription = ''
CasperJS is a navigation scripting & testing utility for PhantomJS and
SlimerJS (still experimental). It eases the process of defining a full
navigation scenario and provides useful high-level functions, methods &
syntactic sugar for doing common tasks.
'';
homepage = http://casperjs.org;
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
platforms = stdenv.lib.platforms.linux;
};
}