diff options
Diffstat (limited to 'nixpkgs/pkgs/development/node-packages/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/node-packages/default.nix | 68 |
1 files changed, 49 insertions, 19 deletions
diff --git a/nixpkgs/pkgs/development/node-packages/default.nix b/nixpkgs/pkgs/development/node-packages/default.nix index 7ff3db8894e..71b9bd77411 100644 --- a/nixpkgs/pkgs/development/node-packages/default.nix +++ b/nixpkgs/pkgs/development/node-packages/default.nix @@ -39,29 +39,18 @@ let meta.broken = since "12"; }; - dnschain = super.dnschain.override { - buildInputs = [ pkgs.makeWrapper super.coffee-script ]; - postInstall = '' - wrapProgram $out/bin/dnschain --suffix PATH : ${pkgs.openssl.bin}/bin - ''; - meta.broken = since "14"; - }; + # NOTE: this is a stub package to fetch npm dependencies for + # ../../applications/video/epgstation + epgstation = super."epgstation-../../applications/video/epgstation".override (drv: { + meta = drv.meta // { + broken = true; # not really broken, see the comment above + }; + }); bitwarden-cli = pkgs.lib.overrideDerivation super."@bitwarden/cli" (drv: { name = "bitwarden-cli-${drv.version}"; }); - ios-deploy = super.ios-deploy.override (drv: { - nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.buildPackages.rsync ]; - preRebuild = '' - LD=$CC - tmp=$(mktemp -d) - ln -s /usr/bin/xcodebuild $tmp - export PATH="$PATH:$tmp" - ''; - meta.platforms = [ pkgs.lib.platforms.darwin ]; - }); - fast-cli = super."fast-cli-1.x".override { preRebuild = '' # Simply ignore the phantomjs --version check. It seems to need a display but it is safe to ignore @@ -79,6 +68,36 @@ let nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.psc-package self.pulp ]; }); + mirakurun = super.mirakurun.override rec { + nativeBuildInputs = with pkgs; [ makeWrapper ]; + postInstall = let + runtimeDeps = [ nodejs ] ++ (with pkgs; [ bash which v4l_utils ]); + in + '' + substituteInPlace $out/lib/node_modules/mirakurun/processes.json \ + --replace "/usr/local" "" + + # XXX: Files copied from the Nix store are non-writable, so they need + # to be given explicit write permissions + substituteInPlace $out/lib/node_modules/mirakurun/lib/Mirakurun/config.js \ + --replace 'fs.copyFileSync("config/server.yml", path);' \ + 'fs.copyFileSync("config/server.yml", path); fs.chmodSync(path, 0o644);' \ + --replace 'fs.copyFileSync("config/tuners.yml", path);' \ + 'fs.copyFileSync("config/tuners.yml", path); fs.chmodSync(path, 0o644);' \ + --replace 'fs.copyFileSync("config/channels.yml", path);' \ + 'fs.copyFileSync("config/channels.yml", path); fs.chmodSync(path, 0o644);' + + # XXX: The original mirakurun command uses PM2 to manage the Mirakurun + # server. However, we invoke the server directly and let systemd + # manage it to avoid complication. This is okay since no features + # unique to PM2 is currently being used. + makeWrapper ${nodejs}/bin/npm $out/bin/mirakurun \ + --add-flags "start" \ + --run "cd $out/lib/node_modules/mirakurun" \ + --prefix PATH : ${pkgs.lib.makeBinPath runtimeDeps} + ''; + }; + node-inspector = super.node-inspector.override { buildInputs = [ self.node-pre-gyp ]; meta.broken = since "10"; @@ -92,7 +111,7 @@ let }; node-red = super.node-red.override { - meta.broken = since "10"; + buildInputs = [ self.node-pre-gyp ]; }; pnpm = super.pnpm.override { @@ -139,6 +158,14 @@ let ''; }; + tsun = super.tsun.overrideAttrs (oldAttrs: { + buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ]; + postInstall = '' + wrapProgram "$out/bin/tsun" \ + --prefix NODE_PATH : ${self.typescript}/lib/node_modules + ''; + }); + stf = super.stf.override { meta.broken = since "10"; }; @@ -160,6 +187,9 @@ let thelounge = super.thelounge.override { buildInputs = [ self.node-pre-gyp ]; + postInstall = '' + echo /var/lib/thelounge > $out/lib/node_modules/thelounge/.thelounge_home + ''; }; }; in self |