nodePackages: sort overrides

main
Malo Bourgon 2 years ago
parent c4070d4ce3
commit c8b24b7faa
  1. 282
      pkgs/development/node-packages/default.nix

@ -15,6 +15,10 @@ let
''; '';
}; };
"@electron-forge/cli" = super."@electron-forge/cli".override {
buildInputs = [ self.node-pre-gyp self.rimraf ];
};
autoprefixer = super.autoprefixer.override { autoprefixer = super.autoprefixer.override {
nativeBuildInputs = [ pkgs.makeWrapper ]; nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = '' postInstall = ''
@ -38,6 +42,11 @@ let
''; '';
}; };
bitwarden-cli = super."@bitwarden/cli".override (drv: {
name = "bitwarden-cli-${drv.version}";
meta.mainProgram = "bw";
});
bower2nix = super.bower2nix.override { bower2nix = super.bower2nix.override {
buildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.makeWrapper ];
postInstall = '' postInstall = ''
@ -58,55 +67,6 @@ let
''; '';
}; };
deltachat-desktop = super."deltachat-desktop-../../applications/networking/instant-messengers/deltachat-desktop".override {
meta.broken = true; # use the top-level package instead
};
fast-cli = super.fast-cli.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/fast \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
};
hyperspace-cli = super."@hyperspace/cli".override {
nativeBuildInputs = with pkgs; [
makeWrapper
libtool
autoconf
automake
];
buildInputs = with pkgs; [
nodePackages.node-gyp-build
nodejs
];
postInstall = ''
wrapProgram "$out/bin/hyp" --prefix PATH : ${
pkgs.lib.makeBinPath [ pkgs.nodejs ]
}
'';
};
mdctl-cli = super."@medable/mdctl-cli".override {
nativeBuildInputs = with pkgs; with darwin.apple_sdk.frameworks; [
glib
libsecret
pkg-config
] ++ lib.optionals stdenv.isDarwin [
AppKit
Security
];
buildInputs = with pkgs; [
nodePackages.node-gyp-build
nodePackages.node-pre-gyp
nodejs
];
};
coc-imselect = super.coc-imselect.override { coc-imselect = super.coc-imselect.override {
meta.broken = since "10"; meta.broken = since "10";
}; };
@ -116,6 +76,10 @@ let
meta.broken = since "12"; meta.broken = since "12";
}; };
deltachat-desktop = super."deltachat-desktop-../../applications/networking/instant-messengers/deltachat-desktop".override {
meta.broken = true; # use the top-level package instead
};
# NOTE: this is a stub package to fetch npm dependencies for # NOTE: this is a stub package to fetch npm dependencies for
# ../../applications/video/epgstation # ../../applications/video/epgstation
epgstation = super."epgstation-../../applications/video/epgstation".override (drv: { epgstation = super."epgstation-../../applications/video/epgstation".override (drv: {
@ -133,23 +97,25 @@ let
}; };
}); });
bitwarden-cli = super."@bitwarden/cli".override (drv: {
name = "bitwarden-cli-${drv.version}";
meta.mainProgram = "bw";
});
flood = super.flood.override {
buildInputs = [ self.node-pre-gyp ];
meta.mainProgram = "flood";
};
expo-cli = super."expo-cli".override (attrs: { expo-cli = super."expo-cli".override (attrs: {
# The traveling-fastlane-darwin optional dependency aborts build on Linux. # The traveling-fastlane-darwin optional dependency aborts build on Linux.
dependencies = builtins.filter (d: d.packageName != "@expo/traveling-fastlane-${if stdenv.isLinux then "darwin" else "linux"}") attrs.dependencies; dependencies = builtins.filter (d: d.packageName != "@expo/traveling-fastlane-${if stdenv.isLinux then "darwin" else "linux"}") attrs.dependencies;
}); });
"@electron-forge/cli" = super."@electron-forge/cli".override { fast-cli = super.fast-cli.override {
buildInputs = [ self.node-pre-gyp self.rimraf ]; nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/fast \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
'';
};
flood = super.flood.override {
buildInputs = [ self.node-pre-gyp ];
meta.mainProgram = "flood";
}; };
git-ssb = super.git-ssb.override { git-ssb = super.git-ssb.override {
@ -161,6 +127,24 @@ let
buildInputs = [ self.node-gyp-build pkgs.unbound ]; buildInputs = [ self.node-gyp-build pkgs.unbound ];
}; };
hyperspace-cli = super."@hyperspace/cli".override {
nativeBuildInputs = with pkgs; [
makeWrapper
libtool
autoconf
automake
];
buildInputs = with pkgs; [
nodePackages.node-gyp-build
nodejs
];
postInstall = ''
wrapProgram "$out/bin/hyp" --prefix PATH : ${
pkgs.lib.makeBinPath [ pkgs.nodejs ]
}
'';
};
ijavascript = super.ijavascript.override (oldAttrs: { ijavascript = super.ijavascript.override (oldAttrs: {
preRebuild = '' preRebuild = ''
export NPM_CONFIG_ZMQ_EXTERNAL=true export NPM_CONFIG_ZMQ_EXTERNAL=true
@ -176,6 +160,22 @@ let
meta.license = pkgs.lib.licenses.unfree; meta.license = pkgs.lib.licenses.unfree;
}; };
joplin = super.joplin.override {
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = with pkgs; [
# required by sharp
# https://sharp.pixelplumbing.com/install
vips
libsecret
self.node-gyp-build
self.node-pre-gyp
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
];
};
jsonplaceholder = super.jsonplaceholder.override (drv: { jsonplaceholder = super.jsonplaceholder.override (drv: {
buildInputs = [ nodejs ]; buildInputs = [ nodejs ];
postInstall = '' postInstall = ''
@ -218,15 +218,35 @@ let
meta.mainProgram = "markdownlint"; meta.mainProgram = "markdownlint";
}; };
node-gyp = super.node-gyp.override { mdctl-cli = super."@medable/mdctl-cli".override {
nativeBuildInputs = with pkgs; with darwin.apple_sdk.frameworks; [
glib
libsecret
pkg-config
] ++ lib.optionals stdenv.isDarwin [
AppKit
Security
];
buildInputs = with pkgs; [
nodePackages.node-gyp-build
nodePackages.node-pre-gyp
nodejs
];
};
mermaid-cli = super."@mermaid-js/mermaid-cli".override (
if stdenv.isDarwin
then {}
else {
nativeBuildInputs = [ pkgs.makeWrapper ]; nativeBuildInputs = [ pkgs.makeWrapper ];
# Teach node-gyp to use nodejs headers locally rather that download them form https://nodejs.org. prePatch = ''
# This is important when build nodejs packages in sandbox. export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = '' postInstall = ''
wrapProgram "$out/bin/node-gyp" \ wrapProgram $out/bin/mmdc \
--set npm_config_nodedir ${nodejs} --set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
''; '';
}; });
near-cli = super.near-cli.override { near-cli = super.near-cli.override {
nativeBuildInputs = with pkgs; [ nativeBuildInputs = with pkgs; [
@ -237,11 +257,25 @@ let
]; ];
}; };
node-gyp = super.node-gyp.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
# Teach node-gyp to use nodejs headers locally rather that download them form https://nodejs.org.
# This is important when build nodejs packages in sandbox.
postInstall = ''
wrapProgram "$out/bin/node-gyp" \
--set npm_config_nodedir ${nodejs}
'';
};
node-inspector = super.node-inspector.override { node-inspector = super.node-inspector.override {
buildInputs = [ self.node-pre-gyp ]; buildInputs = [ self.node-pre-gyp ];
meta.broken = since "10"; meta.broken = since "10";
}; };
node-red = super.node-red.override {
buildInputs = [ self.node-pre-gyp ];
};
node2nix = super.node2nix.override { node2nix = super.node2nix.override {
buildInputs = [ pkgs.makeWrapper ]; buildInputs = [ pkgs.makeWrapper ];
# We need to use master because of a fix that replaces git:// url to https://. # We need to use master because of a fix that replaces git:// url to https://.
@ -257,23 +291,12 @@ let
''; '';
}; };
node-red = super.node-red.override { parcel = super.parcel.override {
buildInputs = [ self.node-pre-gyp ]; buildInputs = [ self.node-gyp-build ];
}; preRebuild = ''
sed -i -e "s|#!/usr/bin/env node|#! ${pkgs.nodejs}/bin/node|" node_modules/node-gyp-build/bin.js
mermaid-cli = super."@mermaid-js/mermaid-cli".override (
if stdenv.isDarwin
then {}
else {
nativeBuildInputs = [ pkgs.makeWrapper ];
prePatch = ''
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
'';
postInstall = ''
wrapProgram $out/bin/mmdc \
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
''; '';
}); };
pnpm = super.pnpm.override { pnpm = super.pnpm.override {
nativeBuildInputs = [ pkgs.makeWrapper ]; nativeBuildInputs = [ pkgs.makeWrapper ];
@ -294,13 +317,6 @@ let
''; '';
}; };
parcel = super.parcel.override {
buildInputs = [ self.node-gyp-build ];
preRebuild = ''
sed -i -e "s|#!/usr/bin/env node|#! ${pkgs.nodejs}/bin/node|" node_modules/node-gyp-build/bin.js
'';
};
postcss-cli = super.postcss-cli.override { postcss-cli = super.postcss-cli.override {
nativeBuildInputs = [ pkgs.makeWrapper ]; nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = '' postInstall = ''
@ -401,6 +417,11 @@ let
}; };
}); });
teck-programmer = super.teck-programmer.override {
nativeBuildInputs = [ self.node-gyp-build ];
buildInputs = [ pkgs.libusb1 ];
};
tedicross = super."tedicross-git+https://github.com/TediCross/TediCross.git#v0.8.7".override { tedicross = super."tedicross-git+https://github.com/TediCross/TediCross.git#v0.8.7".override {
nativeBuildInputs = [ pkgs.makeWrapper ]; nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = '' postInstall = ''
@ -409,6 +430,16 @@ let
''; '';
}; };
thelounge = super.thelounge.override {
buildInputs = [ self.node-pre-gyp ];
postInstall = ''
echo /var/lib/thelounge > $out/lib/node_modules/thelounge/.thelounge_home
patch -d $out/lib/node_modules/thelounge -p1 < ${./thelounge-packages-path.patch}
'';
passthru.tests = { inherit (nixosTests) thelounge; };
meta = super.thelounge.meta // { maintainers = with lib.maintainers; [ winter ]; };
};
thelounge-plugin-closepms = super.thelounge-plugin-closepms.override { thelounge-plugin-closepms = super.thelounge-plugin-closepms.override {
nativeBuildInputs = [ self.node-pre-gyp ]; nativeBuildInputs = [ self.node-pre-gyp ];
}; };
@ -421,18 +452,25 @@ let
nativeBuildInputs = [ self.node-pre-gyp ]; nativeBuildInputs = [ self.node-pre-gyp ];
}; };
tsun = super.tsun.overrideAttrs (oldAttrs: { triton = super.triton.override {
nativeBuildInputs = [ pkgs.installShellFiles ];
postInstall = ''
installShellCompletion --cmd triton --bash <($out/bin/triton completion)
'';
};
ts-node = super.ts-node.overrideAttrs (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ]; buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
postInstall = '' postInstall = ''
wrapProgram "$out/bin/tsun" \ wrapProgram "$out/bin/ts-node" \
--prefix NODE_PATH : ${self.typescript}/lib/node_modules --prefix NODE_PATH : ${self.typescript}/lib/node_modules
''; '';
}); });
ts-node = super.ts-node.overrideAttrs (oldAttrs: { tsun = super.tsun.overrideAttrs (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ]; buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
postInstall = '' postInstall = ''
wrapProgram "$out/bin/ts-node" \ wrapProgram "$out/bin/tsun" \
--prefix NODE_PATH : ${self.typescript}/lib/node_modules --prefix NODE_PATH : ${self.typescript}/lib/node_modules
''; '';
}); });
@ -449,11 +487,6 @@ let
''; '';
}; };
teck-programmer = super.teck-programmer.override {
nativeBuildInputs = [ self.node-gyp-build ];
buildInputs = [ pkgs.libusb1 ];
};
uppy-companion = super."@uppy/companion".override { uppy-companion = super."@uppy/companion".override {
name = "uppy-companion"; name = "uppy-companion";
}; };
@ -485,41 +518,19 @@ let
}; };
}; };
webtorrent-cli = super.webtorrent-cli.override { wavedrom-cli = super.wavedrom-cli.override {
buildInputs = [ self.node-gyp-build ]; nativeBuildInputs = [ pkgs.pkg-config self.node-pre-gyp ];
}; # These dependencies are required by
# https://github.com/Automattic/node-canvas.
joplin = super.joplin.override {
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = with pkgs; [ buildInputs = with pkgs; [
# required by sharp pixman
# https://sharp.pixelplumbing.com/install cairo
vips pango
libsecret
self.node-gyp-build
self.node-pre-gyp
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.Security
]; ];
}; };
thelounge = super.thelounge.override { webtorrent-cli = super.webtorrent-cli.override {
buildInputs = [ self.node-pre-gyp ]; buildInputs = [ self.node-gyp-build ];
postInstall = ''
echo /var/lib/thelounge > $out/lib/node_modules/thelounge/.thelounge_home
patch -d $out/lib/node_modules/thelounge -p1 < ${./thelounge-packages-path.patch}
'';
passthru.tests = { inherit (nixosTests) thelounge; };
meta = super.thelounge.meta // { maintainers = with lib.maintainers; [ winter ]; };
};
triton = super.triton.override {
nativeBuildInputs = [ pkgs.installShellFiles ];
postInstall = ''
installShellCompletion --cmd triton --bash <($out/bin/triton completion)
'';
}; };
yaml-language-server = super.yaml-language-server.override { yaml-language-server = super.yaml-language-server.override {
@ -529,16 +540,5 @@ let
--prefix NODE_PATH : ${self.prettier}/lib/node_modules --prefix NODE_PATH : ${self.prettier}/lib/node_modules
''; '';
}; };
wavedrom-cli = super.wavedrom-cli.override {
nativeBuildInputs = [ pkgs.pkg-config self.node-pre-gyp ];
# These dependencies are required by
# https://github.com/Automattic/node-canvas.
buildInputs = with pkgs; [
pixman
cairo
pango
];
};
}; };
in self in self

Loading…
Cancel
Save