use recursive build inputs
This commit is contained in:
parent
9e6e045e88
commit
caf5c5e1cf
|
@ -1,15 +1,23 @@
|
|||
{ stdenv, nim }:
|
||||
|
||||
{ name, src, nimDeps ? [], buildInputs ? [], nativeBuildInputs ? [],
|
||||
patches ? [], ... }:
|
||||
{ name, src, nimDeps ? [], buildInputs ? [], patches ? [], patchPhase ? "", ... }:
|
||||
|
||||
let
|
||||
getRecursiveBuildInputs = deps: with stdenv.lib.lists;
|
||||
optionals (deps != []) ((head deps).buildInputs ++
|
||||
(getRecursiveBuildInputs (head deps).nimDeps) ++
|
||||
(getRecursiveBuildInputs (tail deps)));
|
||||
recursiveBuildInputs = buildInputs ++ (getRecursiveBuildInputs nimDeps);
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = name;
|
||||
src = src;
|
||||
patches = patches;
|
||||
buildInputs = [ nim ] ++ buildInputs;
|
||||
nativeBuildInputs = nativeBuildInputs;
|
||||
LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath (buildInputs ++ nativeBuildInputs);
|
||||
nativeBuildInputs = [ nim ];
|
||||
buildInputs = recursiveBuildInputs;
|
||||
nimDeps = nimDeps;
|
||||
patchPhase = patchPhase;
|
||||
LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath recursiveBuildInputs;
|
||||
buildPhase = ''
|
||||
HOME=$TMPDIR
|
||||
mkdir -p $HOME/.nimble/pkgs
|
||||
|
|
Loading…
Reference in New Issue