Commited my experimental Visual C# build function. Currently, it should only be used by brave people

svn path=/nixpkgs/trunk/; revision=22272
This commit is contained in:
Sander van der Burg
2010-06-15 11:16:35 +00:00
parent f1a2bd1580
commit 970ce3a878
4 changed files with 103 additions and 0 deletions
@@ -0,0 +1,61 @@
{stdenv, dotnetfx}:
{ name
, src
, baseDir ? "."
, slnFile
, targets ? "ReBuild"
, verbosity ? "detailed"
, options ? "/p:Configuration=Debug;Platform=Win32"
, assemblyInputs ? []
, runtimeAssemblies ? []
, preBuild ? ""
}:
stdenv.mkDerivation {
inherit name src preBuild;
buildInputs = [ dotnetfx ];
preConfigure = ''
cd ${baseDir}
'';
installPhase = ''
for i in ${toString assemblyInputs}
do
windowsPath=$(cygpath --windows $i)
echo "Using assembly path: $windowsPath"
if [ "$assemblySearchPaths" = "" ]
then
assemblySearchPaths="$windowsPath"
else
assemblySearchPaths="$assemblySearchPaths;$windowsPath"
fi
done
echo "Assembly search paths are: $assemblySearchPaths"
if [ "$assemblySearchPaths" != "" ]
then
echo "Using assembly search paths args: $assemblySearchPathsArg"
export AssemblySearchPaths=$assemblySearchPaths
fi
ensureDir $out
MSBuild.exe ${slnFile} /nologo /t:${targets} /p:IntermediateOutputPath=$(cygpath --windows $out)\\ /p:OutputPath=$(cygpath --windows $out)\\ /verbosity:${verbosity} ${options}
# Create references to runtime dependencies
# !!! Should be more efficient (e.g. symlinking)
for i in ${toString runtimeAssemblies}
do
cd $i
for j in $(find . -type f)
do
mkdir -p $out/$(dirname $j)
cp $j $out/$(dirname $j)
done
done
'';
}
+10
View File
@@ -0,0 +1,10 @@
{stdenv, dotnetfx}:
{
buildSolution = import ./buildSolution.nix {
inherit stdenv;
dotnetfx = dotnetfx.pkg;
};
inherit (dotnetfx) assembly20Path wcfPath referenceAssembly30Path referenceAssembly35Path;
}