diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/networking/airfield/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/networking/airfield/default.nix | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/networking/airfield/default.nix b/nixpkgs/pkgs/tools/networking/airfield/default.nix new file mode 100644 index 000000000000..a31bc57904d5 --- /dev/null +++ b/nixpkgs/pkgs/tools/networking/airfield/default.nix @@ -0,0 +1,70 @@ +{ stdenv, fetchFromGitHub +, pkgs, makeWrapper, buildEnv +, nodejs, runtimeShell +}: + +let + nodePackages = import ./node.nix { + inherit pkgs; + system = stdenv.hostPlatform.system; + }; + + runtimeEnv = buildEnv { + name = "airfield-runtime"; + paths = with nodePackages; [ + nodePackages."express-3.0.5" nodePackages."swig-0.14.0" + nodePackages."consolidate-0.10.0" redis connect-redis + async request + ]; + }; + + name = "airfield-${version}"; + version = "2015-01-04"; + + src = stdenv.mkDerivation { + name = "${name}-src"; + inherit version; + + src = fetchFromGitHub { + owner = "emblica"; + repo = "airfield"; + rev = "f021b19a35be3db9be7780318860f3b528c48641"; + sha256 = "1xk69x89kgg98hm7c2ysyfmg7pkvgkpg4wym6v5cmdkdid08fsgs"; + }; + + dontBuild = true; + + installPhase = '' + mkdir $out + cp -R . $out + ''; + }; +in stdenv.mkDerivation { + inherit name version src; + + buildInputs = [ makeWrapper nodejs ]; + + dontBuild = true; + + installPhase = '' + mkdir -p $out/bin + cat >$out/bin/airfield <<EOF + #!${runtimeShell} + ${nodejs}/bin/node ${src}/airfield.js + EOF + ''; + + postFixup = '' + chmod +x $out/bin/airfield + wrapProgram $out/bin/airfield \ + --set NODE_PATH "${runtimeEnv}/lib/node_modules" + ''; + + meta = with stdenv.lib; { + description = "A web-interface for hipache-proxy"; + license = licenses.mit; + homepage = https://github.com/emblica/airfield; + maintainers = with maintainers; [ offline ]; + platforms = platforms.linux; + }; +} |