2018-08-20 21:11:29 +02:00
|
|
|
{ pkgs, nodejs, stdenv }:
|
2017-12-19 22:17:40 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
nodePackages = import ./composition-v8.nix {
|
2018-08-20 21:11:29 +02:00
|
|
|
inherit pkgs nodejs;
|
|
|
|
inherit (stdenv.hostPlatform) system;
|
2017-12-19 22:17:40 +01:00
|
|
|
};
|
|
|
|
in
|
|
|
|
nodePackages // {
|
2018-08-28 12:01:41 +02:00
|
|
|
bower2nix = nodePackages.bower2nix.override {
|
|
|
|
buildInputs = [ pkgs.makeWrapper ];
|
|
|
|
postInstall = ''
|
|
|
|
for prog in bower2nix fetch-bower; do
|
|
|
|
wrapProgram "$out/bin/$prog" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.git pkgs.nix ]}
|
|
|
|
done
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2018-06-28 23:26:44 +02:00
|
|
|
dat = nodePackages.dat.override {
|
|
|
|
buildInputs = [ nodePackages.node-gyp-build ];
|
|
|
|
};
|
2017-12-21 08:56:23 +01:00
|
|
|
|
2018-08-28 12:01:41 +02:00
|
|
|
dnschain = nodePackages.dnschain.override {
|
2018-06-28 23:26:44 +02:00
|
|
|
buildInputs = [ pkgs.makeWrapper nodePackages.coffee-script ];
|
2017-12-19 22:17:40 +01:00
|
|
|
postInstall = ''
|
|
|
|
wrapProgram $out/bin/dnschain --suffix PATH : ${pkgs.openssl.bin}/bin
|
|
|
|
'';
|
2018-06-28 23:26:44 +02:00
|
|
|
};
|
2017-12-19 22:17:40 +01:00
|
|
|
|
2018-09-15 20:48:03 +02:00
|
|
|
ios-deploy = nodePackages.ios-deploy.override (drv: {
|
|
|
|
nativeBuildInputs = drv.nativeBuildInputs or [] ++ [ pkgs.buildPackages.rsync ];
|
2018-08-28 12:01:41 +02:00
|
|
|
preRebuild = ''
|
|
|
|
LD=$CC
|
|
|
|
tmp=$(mktemp -d)
|
|
|
|
ln -s /usr/bin/xcodebuild $tmp
|
|
|
|
export PATH="$PATH:$tmp"
|
|
|
|
'';
|
2018-09-15 20:48:03 +02:00
|
|
|
});
|
2018-06-01 08:38:54 +02:00
|
|
|
|
2018-08-28 12:01:41 +02:00
|
|
|
fast-cli = nodePackages."fast-cli-1.x".override {
|
2017-12-19 22:17:40 +01:00
|
|
|
preRebuild = ''
|
2018-08-28 12:01:41 +02:00
|
|
|
# Simply ignore the phantomjs --version check. It seems to need a display but it is safe to ignore
|
|
|
|
sed -i -e "s|console.error('Error verifying phantomjs, continuing', err)|console.error('Error verifying phantomjs, continuing', err); return true;|" node_modules/phantomjs-prebuilt/lib/util.js
|
2017-12-19 22:17:40 +01:00
|
|
|
'';
|
2018-08-28 12:01:41 +02:00
|
|
|
buildInputs = [ pkgs.phantomjs2 ];
|
2018-06-28 23:26:44 +02:00
|
|
|
};
|
2017-12-19 22:17:40 +01:00
|
|
|
|
2018-08-28 12:01:41 +02:00
|
|
|
node-inspector = nodePackages.node-inspector.override {
|
|
|
|
buildInputs = [ nodePackages.node-pre-gyp ];
|
2017-12-19 22:17:40 +01:00
|
|
|
};
|
|
|
|
|
2018-08-28 12:01:41 +02:00
|
|
|
node2nix = nodePackages.node2nix.override {
|
2018-06-28 23:26:44 +02:00
|
|
|
buildInputs = [ pkgs.makeWrapper ];
|
2017-12-19 22:17:40 +01:00
|
|
|
postInstall = ''
|
2018-08-28 12:01:41 +02:00
|
|
|
wrapProgram "$out/bin/node2nix" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.nix ]}
|
2017-12-19 22:17:40 +01:00
|
|
|
'';
|
2018-06-28 23:26:44 +02:00
|
|
|
};
|
2017-12-19 22:17:40 +01:00
|
|
|
|
2018-08-28 12:01:41 +02:00
|
|
|
npm2nix = nodePackages."npm2nix-git://github.com/NixOS/npm2nix.git#5.12.0".override {
|
|
|
|
postInstall = "npm run-script prepublish";
|
|
|
|
};
|
|
|
|
|
|
|
|
phantomjs = nodePackages.phantomjs.override {
|
|
|
|
buildInputs = [ pkgs.phantomjs2 ];
|
2018-06-28 23:26:44 +02:00
|
|
|
};
|
2017-12-19 22:17:40 +01:00
|
|
|
|
2018-06-28 23:26:44 +02:00
|
|
|
pnpm = nodePackages.pnpm.override {
|
|
|
|
nativeBuildInputs = [ pkgs.makeWrapper ];
|
2018-06-06 09:53:27 +02:00
|
|
|
postInstall = let
|
|
|
|
pnpmLibPath = stdenv.lib.makeBinPath [
|
|
|
|
nodejs.passthru.python
|
|
|
|
nodejs
|
|
|
|
];
|
|
|
|
in ''
|
2018-06-01 08:38:54 +02:00
|
|
|
for prog in $out/bin/*; do
|
2018-06-06 09:53:27 +02:00
|
|
|
wrapProgram "$prog" --prefix PATH : ${pnpmLibPath}
|
2018-06-01 08:38:54 +02:00
|
|
|
done
|
|
|
|
'';
|
2018-06-28 23:26:44 +02:00
|
|
|
};
|
2018-06-01 08:38:54 +02:00
|
|
|
|
2018-09-05 16:48:14 +02:00
|
|
|
statsd = nodePackages.statsd.override {
|
|
|
|
# broken with node v8, dead upstream,
|
|
|
|
# see #45946 and https://github.com/etsy/statsd/issues/646
|
|
|
|
meta.broken = true;
|
|
|
|
};
|
|
|
|
|
2018-08-28 12:01:41 +02:00
|
|
|
webdrvr = nodePackages.webdrvr.override {
|
|
|
|
buildInputs = [ pkgs.phantomjs ];
|
|
|
|
|
2017-12-19 22:17:40 +01:00
|
|
|
preRebuild = ''
|
2018-08-28 12:01:41 +02:00
|
|
|
mkdir $TMPDIR/webdrvr
|
|
|
|
|
|
|
|
ln -s ${pkgs.fetchurl {
|
|
|
|
url = "https://selenium-release.storage.googleapis.com/2.43/selenium-server-standalone-2.43.1.jar";
|
|
|
|
sha1 = "ef1b5f8ae9c99332f99ba8794988a1d5b974d27b";
|
|
|
|
}} $TMPDIR/webdrvr/selenium-server-standalone-2.43.1.jar
|
|
|
|
ln -s ${pkgs.fetchurl {
|
|
|
|
url = "http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip";
|
|
|
|
sha1 = "26220f7e43ee3c0d714860db61c4d0ecc9bb3d89";
|
|
|
|
}} $TMPDIR/webdrvr/chromedriver_linux64.zip
|
2017-12-19 22:17:40 +01:00
|
|
|
'';
|
2018-08-28 12:01:41 +02:00
|
|
|
|
|
|
|
dontNpmInstall = true; # We face an error with underscore not found, but the package will work fine if we ignore this.
|
2018-06-28 23:26:44 +02:00
|
|
|
};
|
2018-08-28 12:01:41 +02:00
|
|
|
|
2017-12-19 22:17:40 +01:00
|
|
|
}
|