Skip to content

Commit

Permalink
nodePackages: regenerate with node2nix 1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
svanderburg committed Jun 28, 2018
1 parent 9849a37 commit 0068fea
Show file tree
Hide file tree
Showing 15 changed files with 7,895 additions and 7,097 deletions.
2 changes: 1 addition & 1 deletion pkgs/development/node-packages/composition-v6.nix
@@ -1,4 +1,4 @@
# This file has been generated by node2nix 1.5.3. Do not edit!
# This file has been generated by node2nix 1.6.0. Do not edit!

{pkgs ? import <nixpkgs> {
inherit system;
Expand Down
2 changes: 1 addition & 1 deletion pkgs/development/node-packages/composition-v8.nix
@@ -1,4 +1,4 @@
# This file has been generated by node2nix 1.5.3. Do not edit!
# This file has been generated by node2nix 1.6.0. Do not edit!

{pkgs ? import <nixpkgs> {
inherit system;
Expand Down
52 changes: 26 additions & 26 deletions pkgs/development/node-packages/default-v6.nix
Expand Up @@ -6,27 +6,27 @@ let
};
in
nodePackages // {
dat = nodePackages.dat.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ nodePackages.node-gyp-build ];
});
dat = nodePackages.dat.override {
buildInputs = [ nodePackages.node-gyp-build ];
};

dnschain = nodePackages.dnschain.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper nodePackages.coffee-script ];
dnschain = nodePackages.dnschain.override {
buildInputs = [ pkgs.makeWrapper nodePackages.coffee-script ];
postInstall = ''
wrapProgram $out/bin/dnschain --suffix PATH : ${pkgs.openssl.bin}/bin
'';
});
};

node-inspector = nodePackages.node-inspector.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ nodePackages.node-pre-gyp ];
});
node-inspector = nodePackages.node-inspector.override {
buildInputs = [ nodePackages.node-pre-gyp ];
};

phantomjs = nodePackages.phantomjs.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs2 ];
});
phantomjs = nodePackages.phantomjs.override {
buildInputs = [ pkgs.phantomjs2 ];
};

webdrvr = nodePackages.webdrvr.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs ];
webdrvr = nodePackages.webdrvr.override {
buildInputs = [ pkgs.phantomjs ];

preRebuild = ''
mkdir $TMPDIR/webdrvr
Expand All @@ -42,42 +42,42 @@ nodePackages // {
'';

dontNpmInstall = true; # We face an error with underscore not found, but the package will work fine if we ignore this.
});
};

npm2nix = nodePackages."npm2nix-git://github.com/NixOS/npm2nix.git#5.12.0".override {
postInstall = "npm run-script prepublish";
};

bower2nix = nodePackages.bower2nix.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
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
'';
});
};

ios-deploy = nodePackages.ios-deploy.override (oldAttrs: {
ios-deploy = nodePackages.ios-deploy.override {
preRebuild = ''
LD=$CC
tmp=$(mktemp -d)
ln -s /usr/bin/xcodebuild $tmp
export PATH="$PATH:$tmp"
'';
});
};

fast-cli = nodePackages."fast-cli-1.x".override (oldAttrs: {
fast-cli = nodePackages."fast-cli-1.x".override {
preRebuild = ''
# 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
'';
buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs2 ];
});
buildInputs = [ pkgs.phantomjs2 ];
};

node2nix = nodePackages.node2nix.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
node2nix = nodePackages.node2nix.override {
buildInputs = [ pkgs.makeWrapper ];
postInstall = ''
wrapProgram "$out/bin/node2nix" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.nix ]}
'';
});
};
}
52 changes: 26 additions & 26 deletions pkgs/development/node-packages/default-v8.nix
Expand Up @@ -6,27 +6,27 @@ let
};
in
nodePackages // {
dat = nodePackages.dat.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ nodePackages.node-gyp-build ];
});
dat = nodePackages.dat.override {
buildInputs = [ nodePackages.node-gyp-build ];
};

dnschain = nodePackages.dnschain.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper nodePackages.coffee-script ];
dnschain = nodePackages.dnschain.override {
buildInputs = [ pkgs.makeWrapper nodePackages.coffee-script ];
postInstall = ''
wrapProgram $out/bin/dnschain --suffix PATH : ${pkgs.openssl.bin}/bin
'';
});
};

node-inspector = nodePackages.node-inspector.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ nodePackages.node-pre-gyp ];
});
node-inspector = nodePackages.node-inspector.override {
buildInputs = [ nodePackages.node-pre-gyp ];
};

phantomjs = nodePackages.phantomjs.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs2 ];
});
phantomjs = nodePackages.phantomjs.override {
buildInputs = [ pkgs.phantomjs2 ];
};

webdrvr = nodePackages.webdrvr.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs ];
webdrvr = nodePackages.webdrvr.override {
buildInputs = [ pkgs.phantomjs ];

preRebuild = ''
mkdir $TMPDIR/webdrvr
Expand All @@ -42,32 +42,32 @@ nodePackages // {
'';

dontNpmInstall = true; # We face an error with underscore not found, but the package will work fine if we ignore this.
});
};

npm2nix = nodePackages."npm2nix-git://github.com/NixOS/npm2nix.git#5.12.0".override {
postInstall = "npm run-script prepublish";
};

bower2nix = nodePackages.bower2nix.override (oldAttrs: {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
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
'';
});
};

ios-deploy = nodePackages.ios-deploy.override (oldAttrs: {
ios-deploy = nodePackages.ios-deploy.override {
preRebuild = ''
LD=$CC
tmp=$(mktemp -d)
ln -s /usr/bin/xcodebuild $tmp
export PATH="$PATH:$tmp"
'';
});
};

pnpm = nodePackages.pnpm.override (oldAttrs: {
nativeBuildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ];
pnpm = nodePackages.pnpm.override {
nativeBuildInputs = [ pkgs.makeWrapper ];
postInstall = let
pnpmLibPath = stdenv.lib.makeBinPath [
nodejs.passthru.python
Expand All @@ -78,13 +78,13 @@ nodePackages // {
wrapProgram "$prog" --prefix PATH : ${pnpmLibPath}
done
'';
});
};

fast-cli = nodePackages."fast-cli-1.x".override (oldAttrs: {
fast-cli = nodePackages."fast-cli-1.x".override {
preRebuild = ''
# 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
'';
buildInputs = oldAttrs.buildInputs ++ [ pkgs.phantomjs2 ];
});
buildInputs = [ pkgs.phantomjs2 ];
};
}
81 changes: 60 additions & 21 deletions pkgs/development/node-packages/node-env.nix
Expand Up @@ -27,7 +27,7 @@ let
buildInputs = [ nodejs ];
buildPhase = ''
export HOME=$TMPDIR
tgzFile=$(npm pack)
tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
'';
installPhase = ''
mkdir -p $out/tarballs
Expand Down Expand Up @@ -309,31 +309,42 @@ let
};

# Builds and composes an NPM package including all its dependencies
buildNodePackage = { name, packageName, version, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, bypassCache ? false, preRebuild ? "", ... }@args:
buildNodePackage =
{ name
, packageName
, version
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, preRebuild ? ""
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:

let
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
in
stdenv.lib.makeOverridable stdenv.mkDerivation (builtins.removeAttrs args [ "dependencies" ] // {
stdenv.mkDerivation ({
name = "node-${name}-${version}";
buildInputs = [ tarWrapper python nodejs ]
++ stdenv.lib.optional (stdenv.isLinux) utillinux
++ stdenv.lib.optional (stdenv.isDarwin) libtool
++ args.buildInputs or [];
dontStrip = args.dontStrip or true; # Striping may fail a build for some package deployments
++ buildInputs;

inherit dontNpmInstall preRebuild;

unpackPhase = args.unpackPhase or "true";

buildPhase = args.buildPhase or "true";
inherit dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall preRebuild unpackPhase buildPhase;

compositionScript = composePackage args;
pinpointDependenciesScript = pinpointDependenciesOfPackage args;

passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];

installPhase = args.installPhase or ''
installPhase = ''
# Create and enter a root node_modules/ folder
mkdir -p $out/lib/node_modules
cd $out/lib/node_modules
Expand Down Expand Up @@ -406,27 +417,47 @@ let
# Run post install hook, if provided
runHook postInstall
'';
});
} // extraArgs);

# Builds a development shell
buildNodeShell = { name, packageName, version, src, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, bypassCache ? false, ... }@args:
buildNodeShell =
{ name
, packageName
, version
, src
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:

let
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";

nodeDependencies = stdenv.mkDerivation {
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];

nodeDependencies = stdenv.mkDerivation ({
name = "node-dependencies-${name}-${version}";

buildInputs = [ tarWrapper python nodejs ]
++ stdenv.lib.optional (stdenv.isLinux) utillinux
++ stdenv.lib.optional (stdenv.isDarwin) libtool
++ args.buildInputs or [];
++ buildInputs;

inherit dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall unpackPhase buildPhase;

includeScript = includeDependencies { inherit dependencies; };
pinpointDependenciesScript = pinpointDependenciesOfPackage args;

passAsFile = [ "includeScript" "pinpointDependenciesScript" ];

buildCommand = ''
installPhase = ''
mkdir -p $out/${packageName}
cd $out/${packageName}
Expand All @@ -438,13 +469,15 @@ let
${stdenv.lib.optionalString bypassCache ''
if [ -f ${src}/package-lock.json ]
then
cp ${src}/package-lock.json .
cp ${src}/package-lock.json .
fi
''}
# Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
source $pinpointDependenciesScriptPath
cd ${packageName}
Expand Down Expand Up @@ -474,15 +507,17 @@ let
''}
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
mv ${packageName} lib
ln -s $out/lib/node_modules/.bin $out/bin
'';
};
} // extraArgs);
in
stdenv.lib.makeOverridable stdenv.mkDerivation {
stdenv.mkDerivation {
name = "node-shell-${name}-${version}";

buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
buildCommand = ''
mkdir -p $out/bin
cat > $out/bin/shell <<EOF
Expand All @@ -500,4 +535,8 @@ let
'';
};
in
{ inherit buildNodeSourceDist buildNodePackage buildNodeShell; }
{
buildNodeSourceDist = stdenv.lib.makeOverridable buildNodeSourceDist;
buildNodePackage = stdenv.lib.makeOverridable buildNodePackage;
buildNodeShell = stdenv.lib.makeOverridable buildNodeShell;
}

1 comment on commit 0068fea

@orivej
Copy link
Contributor

@orivej orivej commented on 0068fea Jul 4, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if this is important, but I have noticed that Nix 1.11.16 (nix1) fails to evaluate derivations with such sha512 hashes with errors like:

error: hash ‘OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==’ has wrong length for hash type ‘sha512’

Please sign in to comment.