Update nodePackages to npm2nix 4.0.0

Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
Shea Levy 2013-08-20 11:52:21 -04:00
parent 310268f36d
commit a6887c5973
2 changed files with 1363 additions and 3193 deletions

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ let
importGeneratedPackages = generated: nativeDeps: self: importGeneratedPackages = generated: nativeDeps: self:
let let
nativeDepsList = { name, spec, ... }: nativeDepsList = { name, spec }:
let let
nameOr = if builtins.hasAttr name nativeDeps nameOr = if builtins.hasAttr name nativeDeps
then builtins.getAttr name nativeDeps then builtins.getAttr name nativeDeps
@ -14,33 +14,23 @@ let
then builtins.getAttr spec nameOr then builtins.getAttr spec nameOr
else []; else [];
in depsOr; in depsOr;
all = pkgs.lib.fold (pkg: { top-level, full }: { full = pkgs.lib.mapAttrs (name: specs: pkgs.lib.mapAttrs (spec: pkg:
top-level = top-level ++ pkgs.lib.optional pkg.topLevel { pkgs.lib.makeOverridable buildNodePackage {
name = pkg.name; name = "${name}-${pkg.version}";
value = builtins.getAttr pkg.spec (builtins.getAttr pkg.name self.full); src = (if pkg.patchLatest then patchLatest else fetchurl) {
}; url = pkg.tarball;
full = full // builtins.listToAttrs [ { sha1 = pkg.sha1 or "";
inherit (pkg) name; sha256 = pkg.sha256 or "";
value = (if builtins.hasAttr pkg.name full };
then builtins.getAttr pkg.name full deps = map (dep: builtins.getAttr dep.spec (builtins.getAttr dep.name self.full)) pkg.dependencies;
else {} peerDeps = map (dep: builtins.getAttr dep.spec (builtins.getAttr dep.name self.full)) pkg.peerDependencies;
) // builtins.listToAttrs [ { buildInputs = nativeDepsList { inherit name spec; };
name = pkg.spec; }
value = pkgs.lib.makeOverridable buildNodePackage { ) specs) (removeAttrs generated [ "#topLevel" ]);
name = "${pkg.name}-${pkg.version}"; topLevel = pkgs.lib.mapAttrs (name: spec:
src = (if pkg.patchLatest then patchLatest else fetchurl) { builtins.getAttr spec (builtins.getAttr name self.full)
url = pkg.tarball; ) generated."#topLevel" or {};
sha1 = pkg.sha1 or ""; in topLevel // { inherit full; };
sha256 = pkg.sha256 or "";
};
deps = map (dep: builtins.getAttr dep.spec (builtins.getAttr dep.name self.full)) pkg.dependencies;
peerDeps = map (dep: builtins.getAttr dep.spec (builtins.getAttr dep.name self.full)) pkg.peerDependencies;
buildInputs = nativeDepsList pkg;
};
} ];
} ];
} ) { top-level = []; full = {}; } generated;
in builtins.listToAttrs all.top-level // { inherit (all) full; };
in { in {
inherit importGeneratedPackages; inherit importGeneratedPackages;