about summary refs log tree commit diff
path: root/pkgs/top-level/node-packages.nix
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2013-05-29 11:22:18 -0400
committerShea Levy <shea@shealevy.com>2013-05-29 11:22:23 -0400
commit8e724713c6f28abbd1aec5b3a8f460ab74261a84 (patch)
tree70d231080f92b19eb9a4e2927947792dae613826 /pkgs/top-level/node-packages.nix
parent2b1eff8e17ad7feff012d889b1d239eda963b1c7 (diff)
downloadnixlib-8e724713c6f28abbd1aec5b3a8f460ab74261a84.tar
nixlib-8e724713c6f28abbd1aec5b3a8f460ab74261a84.tar.gz
nixlib-8e724713c6f28abbd1aec5b3a8f460ab74261a84.tar.bz2
nixlib-8e724713c6f28abbd1aec5b3a8f460ab74261a84.tar.lz
nixlib-8e724713c6f28abbd1aec5b3a8f460ab74261a84.tar.xz
nixlib-8e724713c6f28abbd1aec5b3a8f460ab74261a84.tar.zst
nixlib-8e724713c6f28abbd1aec5b3a8f460ab74261a84.zip
Make the function to import npm2nix-generated packages accessible outside of node-packages.nix
Signed-off-by: Shea Levy <shea@shealevy.com>
Diffstat (limited to 'pkgs/top-level/node-packages.nix')
-rw-r--r--pkgs/top-level/node-packages.nix24
1 files changed, 14 insertions, 10 deletions
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index ad26f96cbae7..e38cd3e69364 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -1,13 +1,15 @@
 { pkgs, stdenv, nodejs, fetchurl, neededNatives }:
 
 let
-  generated = builtins.listToAttrs (pkgs.lib.fold (pkg: pairs:
+  inherit (self) buildNodePackage patchLatest;
+
+  importGeneratedPackages = generated: nativeDeps: self: builtins.listToAttrs (pkgs.lib.fold (pkg: pairs:
     (pkgs.lib.optional pkg.topLevel { name = pkg.baseName; value = builtins.getAttr pkg.fullName self; }) ++ [
       {
         name = pkg.fullName;
-        value = self.buildNodePackage rec {
+        value = buildNodePackage rec {
           name = "${pkg.baseName}-${pkg.version}";
-          src = (if pkg.patchLatest then self.patchLatest else fetchurl) {
+          src = (if pkg.patchLatest then patchLatest else fetchurl) {
             url = "http://registry.npmjs.org/${pkg.baseName}/-/${name}.tgz";
             sha256 = pkg.hash;
           };
@@ -16,14 +18,16 @@ let
         };
       }
     ] ++ pairs
-  ) [] (import ./node-packages-generated.nix));
-
-  nativeDeps = {
-    "node-expat-*" = [ pkgs.expat ];
-    "rbytes-0.0.2" = [ pkgs.openssl ];
-  };
+  ) [] generated);
 
   self = {
+    inherit importGeneratedPackages;
+
+    nativeDeps = {
+      "node-expat-*" = [ pkgs.expat ];
+      "rbytes-0.0.2" = [ pkgs.openssl ];
+    };
+
     buildNodePackage = import ../development/web/nodejs/build-node-package.nix {
       inherit stdenv nodejs neededNatives;
       inherit (pkgs) runCommand;
@@ -40,5 +44,5 @@ let
       '';
 
     /* Put manual packages below here (ideally eventually managed by npm2nix */
-  } // generated;
+  } // importGeneratedPackages (import ./node-packages-generated.nix) self.nativeDeps self;
 in self