summary refs log tree commit diff
path: root/pkgs/build-support/dotnetenv
diff options
context:
space:
mode:
authorSander van der Burg <s.vanderburg@tudelft.nl>2011-09-13 21:07:08 +0000
committerSander van der Burg <s.vanderburg@tudelft.nl>2011-09-13 21:07:08 +0000
commit30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688 (patch)
tree3e7878e6df47a6bcad7741171b1cdb4852e46de8 /pkgs/build-support/dotnetenv
parent44a7252405771df663aacd425a23b2f8be623749 (diff)
downloadnixpkgs-30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688.tar
nixpkgs-30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688.tar.gz
nixpkgs-30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688.tar.bz2
nixpkgs-30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688.tar.lz
nixpkgs-30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688.tar.xz
nixpkgs-30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688.tar.zst
nixpkgs-30872fb8ccf23cb9dbe6c0b9f69c4319f03bb688.zip
Transitive library dependencies are now propagated
svn path=/nixpkgs/trunk/; revision=29260
Diffstat (limited to 'pkgs/build-support/dotnetenv')
-rw-r--r--pkgs/build-support/dotnetenv/build-solution.nix18
-rw-r--r--pkgs/build-support/dotnetenv/wrapper.nix15
2 files changed, 32 insertions, 1 deletions
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|" \