From 30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688 Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Tue, 13 Sep 2011 21:07:08 +0000 Subject: Transitive library dependencies are now propagated svn path=/nixpkgs/trunk/; revision=29260 --- pkgs/build-support/dotnetenv/build-solution.nix | 18 +++++++++++++++++- pkgs/build-support/dotnetenv/wrapper.nix | 15 +++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) (limited to 'pkgs/build-support') diff --git a/pkgs/build-support/dotnetenv/build-solution.nix b/pkgs/build-support/dotnetenv/build-solution.nix index 8640cf0014f..07f1f89c67c 100644 --- a/pkgs/build-support/dotnetenv/build-solution.nix +++ b/pkgs/build-support/dotnetenv/build-solution.nix @@ -33,7 +33,21 @@ stdenv.mkDerivation { ${preBuild} ''; - installPhase = '' + installPhase = '' + addDeps() + { + if [ -f $1/nix-support/dotnet-assemblies ] + then + for i in $(cat $1/nix-support/dotnet-assemblies) + do + windowsPath=$(cygpath --windows $i) + assemblySearchPaths="$assemblySearchPaths;$windowsPath" + + addDeps $i + done + fi + } + for i in ${toString assemblyInputs} do windowsPath=$(cygpath --windows $i) @@ -45,6 +59,8 @@ stdenv.mkDerivation { else assemblySearchPaths="$assemblySearchPaths;$windowsPath" fi + + addDeps $i done echo "Assembly search paths are: $assemblySearchPaths" diff --git a/pkgs/build-support/dotnetenv/wrapper.nix b/pkgs/build-support/dotnetenv/wrapper.nix index 660537e2fa8..4b07fc27dcb 100644 --- a/pkgs/build-support/dotnetenv/wrapper.nix +++ b/pkgs/build-support/dotnetenv/wrapper.nix @@ -28,12 +28,27 @@ dotnetenv.buildSolution { slnFile = "Wrapper.sln"; assemblyInputs = [ application ]; preBuild = '' + addRuntimeDeps() + { + if [ -f $1/nix-support/dotnet-assemblies ] + then + for i in $(cat $1/nix-support/dotnet-assemblies) + do + windowsPath=$(cygpath --windows $i | sed 's|\\|\\\\|g') + assemblySearchArray="$assemblySearchArray @\"$windowsPath\"" + + addRuntimeDeps $i + done + fi + } + export exePath=$(cygpath --windows $(find ${application} -name \*.exe) | sed 's|\\|\\\\|g') # Generate assemblySearchPaths string array contents for path in ${toString assemblyInputs} do assemblySearchArray="$assemblySearchArray @\"$(cygpath --windows $path | sed 's|\\|\\\\|g')\", " + addRuntimeDeps $path done sed -e "s|@ROOTNAMESPACE@|${namespace}Wrapper|" \ -- cgit 1.4.1