diff options
Diffstat (limited to 'krebs/5pkgs/newsbot-js/default.nix')
-rw-r--r-- | krebs/5pkgs/newsbot-js/default.nix | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/krebs/5pkgs/newsbot-js/default.nix b/krebs/5pkgs/newsbot-js/default.nix new file mode 100644 index 000000000..9e4a51306 --- /dev/null +++ b/krebs/5pkgs/newsbot-js/default.nix @@ -0,0 +1,60 @@ +{ stdenv, makeWrapper, lib, buildEnv, fetchgit, nodePackages, nodejs }: + +with lib; + +let + np = nodePackages.override { + generated = ./packages.nix; + self = np; + }; + + node_env = buildEnv { + name = "node_env"; + paths = [ + np.feedparser + np.form-data + np.irc + np.request + np.shell-quote + ]; + pathsToLink = [ "/lib" ]; + ignoreCollisions = true; + }; + +in nodePackages.buildNodePackage { + name = "newsbot-js"; + + src = fetchgit { + url = "http://cgit.prism/newsbot-js/"; + rev = "09e01639be4ea9691cf5b33f7d9057b68ac98079"; + sha256 = "28ffbed66c2efcd194c47823c7d5d5533c80852fc0cf9d9d4ee609c71d50c142"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + deps = (filter (v: nixType v == "derivation") (attrValues np)); + + buildInputs = [ + nodejs + makeWrapper + ]; + + installPhase = '' + mkdir -p $out/bin + + cp newsbot.js $out/ + cat > $out/newsbot << EOF + ${nodejs}/bin/node $out/newsbot.js + EOF + chmod +x $out/newsbot + + wrapProgram $out/newsbot \ + --prefix NODE_PATH : ${node_env}/lib/node_modules + + ln -s $out/newsbot /$out/bin/newsbot + ''; + +} |