buildNodePackage: Move dependency symlinks out of the top-level node_modules directory
Signed-off-by: Shea Levy <shea@shealevy.com>
This commit is contained in:
parent
ea7f862aeb
commit
8247806090
@ -1,15 +1,18 @@
|
|||||||
{ stdenv, runCommand, nodejs, neededNatives}:
|
{ stdenv, runCommand, nodejs, neededNatives}:
|
||||||
|
|
||||||
args @ { src, deps ? [], flags ? [], ... }:
|
args @ { name, src, deps ? [], flags ? [], ... }:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
let npmFlags = concatStringsSep " " (map (v: "--${v}") flags);
|
let
|
||||||
sources = runCommand "node-sources" {} ''
|
npmFlags = concatStringsSep " " (map (v: "--${v}") flags);
|
||||||
tar xf ${nodejs.src}
|
|
||||||
mv *node* $out
|
|
||||||
'';
|
|
||||||
|
|
||||||
|
sources = runCommand "node-sources" {} ''
|
||||||
|
tar xf ${nodejs.src}
|
||||||
|
mv *node* $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
requireName = (builtins.parseDrvName name).name;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
unpackPhase = "true";
|
unpackPhase = "true";
|
||||||
@ -34,8 +37,10 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir $out
|
mkdir -p $out/node_modules
|
||||||
mv node_modules $out
|
mv node_modules/${requireName} $out/node_modules
|
||||||
|
mv node_modules/.bin $out/node_modules 2>/dev/null || true
|
||||||
|
mv node_modules $out/node_modules/${requireName}
|
||||||
if [ -d "$out/node_modules/.bin" ]; then
|
if [ -d "$out/node_modules/.bin" ]; then
|
||||||
ln -sv node_modules/.bin $out/bin
|
ln -sv node_modules/.bin $out/bin
|
||||||
find -L $out/node_modules/.bin/* -type f -print0 | \
|
find -L $out/node_modules/.bin/* -type f -print0 | \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user