61 lines
1.1 KiB
Nix
61 lines
1.1 KiB
Nix
{ 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.echelon/newsbot-js/";
|
|
rev = "802b172d0eed6c9625a9cb5db408f5cc8c01784e";
|
|
sha256 = "794fc7845aca311f7cf7b6bdc109b5a25d0e2299322bc6612edadc477b2536e2";
|
|
};
|
|
|
|
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
|
|
'';
|
|
|
|
}
|