aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/node-packages/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/node-packages/default.nix')
-rw-r--r--nixpkgs/pkgs/development/node-packages/default.nix68
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