diff options
author | Jaka Hudoklin <jakahudoklin@gmail.com> | 2014-07-26 08:53:52 +0200 |
---|---|---|
committer | Jaka Hudoklin <jakahudoklin@gmail.com> | 2014-07-26 08:53:52 +0200 |
commit | b9b5e840819b10d1ea6ef09bdc239a6598482a1a (patch) | |
tree | c8e6227fbe04a5eb8eab98535e916e6099f82253 /pkgs/development/web | |
parent | b459a935330b8ced2b967d43420d3edecc6c210f (diff) | |
parent | 05ce47f8ec57f5a186a9cc450e136831552fbb9c (diff) | |
download | nixlib-b9b5e840819b10d1ea6ef09bdc239a6598482a1a.tar nixlib-b9b5e840819b10d1ea6ef09bdc239a6598482a1a.tar.gz nixlib-b9b5e840819b10d1ea6ef09bdc239a6598482a1a.tar.bz2 nixlib-b9b5e840819b10d1ea6ef09bdc239a6598482a1a.tar.lz nixlib-b9b5e840819b10d1ea6ef09bdc239a6598482a1a.tar.xz nixlib-b9b5e840819b10d1ea6ef09bdc239a6598482a1a.tar.zst nixlib-b9b5e840819b10d1ea6ef09bdc239a6598482a1a.zip |
Merge pull request #3003 from offlinehacker/nixpkg/nodejs/buildNodePackage/shellHook
buildNodePackage: add shell hook for development
Diffstat (limited to 'pkgs/development/web')
-rw-r--r-- | pkgs/development/web/nodejs/build-node-package.nix | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/pkgs/development/web/nodejs/build-node-package.nix b/pkgs/development/web/nodejs/build-node-package.nix index 544634626b03..84b0da1674c4 100644 --- a/pkgs/development/web/nodejs/build-node-package.nix +++ b/pkgs/development/web/nodejs/build-node-package.nix @@ -1,6 +1,6 @@ { stdenv, runCommand, nodejs, neededNatives}: -args @ { name, src, deps ? [], peerDependencies ? [], flags ? [], ... }: +args @ { name, src, deps ? [], peerDependencies ? [], flags ? [], preShellHook ? "", postShellHook ? "", ... }: with stdenv.lib; @@ -80,6 +80,16 @@ stdenv.mkDerivation ({ preFixup = concatStringsSep "\n" (map (src: '' find $out -type f -print0 | xargs -0 sed -i 's|${src}|${src.name}|g' '') src); + + shellHook = '' + ${preShellHook} + export PATH=${nodejs}/bin:$(pwd)/node_modules/.bin:$PATH + mkdir -p node_modules + ${concatStrings (concatMap (dep: map (name: '' + ln -sfv ${dep}/lib/node_modules/${name} node_modules/ + '') dep.names) deps)} + ${postShellHook} + ''; } // args // { # Run the node setup hook when this package is a build input propagatedNativeBuildInputs = (args.propagatedNativeBuildInputs or []) ++ [ nodejs ]; |