diff options
author | obadz <dav-github@odav.org> | 2015-05-22 14:25:02 +0100 |
---|---|---|
committer | obadz <dav-github@odav.org> | 2015-06-06 09:06:22 -0400 |
commit | d4681bf62672083f92545e02e00b8cf040247e8d (patch) | |
tree | 24f50b3dfad442cf340db277740ec2e7fe0b7239 /pkgs/development/dotnet-modules | |
parent | 4cf3596fdae5982b5c549c52977662ace7bff26a (diff) |
Lay down the foundation for packaging the .NET echosystem
- fetchNuGet can fetch binaries from nuget servers - buildDotnetPackage can build .NET packages using mono/xbuild - Places nuget & paket as they would clash with nix - Patch project files because F# targets are expected to be found in the mono directory (and we know that's not going to happen on nix) - Find DLLs that were copied from buildInputs and replace by symlink for sharing - Export produced DLL via the pkg-config mechanism - Create wrappers for produced EXEs - Repackaged this new infrastructure: keepass, monodevelop - Newly packaged: ExtCore, UnionArgParser, FSharp.Data, Paket, and a bunch more.. This is a combination of 73 commits.
Diffstat (limited to 'pkgs/development/dotnet-modules')
3 files changed, 142 insertions, 0 deletions
diff --git a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch b/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch new file mode 100644 index 0000000000000..a3b2f87f37878 --- /dev/null +++ b/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.addin-xml.patch @@ -0,0 +1,88 @@ +--- fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/FSharpBinding.addin.xml.orig.old 2015-06-03 19:53:00.116849746 +0100 ++++ fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/FSharpBinding.addin.xml.orig 2015-06-03 19:56:30.112579384 +0100 +@@ -130,6 +130,11 @@ + <!-- New projects will be created with this targets file. --> + <Extension path="/MonoDevelop/ProjectModel/MSBuildItemTypes"> + <!-- If FSharp 3.1 is available, use it. Note XS looks for the first DotNetProject node under 'Extension' --> ++ <Condition id="MSBuildTargetIsAvailable" target="$(FSharpTargetsPath)" > ++ <DotNetProject language="F#" extension="fsproj" guid="{f2a71f9b-5d33-465a-a702-920d77279786}" import="$(FSharpTargetsPath)" resourceHandler="MonoDevelop.FSharp.FSharpResourceIdBuilder"/> ++ </Condition> ++ ++ <!-- If FSharp 3.1 is available, use it. Note XS looks for the first DotNetProject node under 'Extension' --> + <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" > + <DotNetProject language="F#" extension="fsproj" guid="{f2a71f9b-5d33-465a-a702-920d77279786}" import="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" resourceHandler="MonoDevelop.FSharp.FSharpResourceIdBuilder"/> + </Condition> +@@ -182,14 +187,7 @@ + <ProjectTemplate id="FSharpConsoleProject" file="Templates/FSharpConsoleProject.xpt.xml"/> + <ProjectTemplate id="FSharpLibraryProject" file="Templates/FSharpLibraryProject.xpt.xml"/> + <!-- Only include the tutorial project if an F# 3.0 or 3.1 target is available as this includes F# 3.0 specific features --> +- <ComplexCondition> +- <Or> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" /> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" /> +- </Or> + <ProjectTemplate id="FSharpTutorialProject" file="Templates/FSharpTutorialProject.xpt.xml"/> +- </ComplexCondition> +- + <ProjectTemplate id="FSharpGtkProject" file="Templates/FSharpGtkProject.xpt.xml"/> + <ProjectTemplate id="FSharpNUnitLibraryProject" file="Templates/FSharpNUnitLibraryProject.xpt.xml"/> + </Extension> +@@ -267,13 +265,7 @@ + <!-- F# interactive --> + + <Extension path="/MonoDevelop/Ide/Pads"> +- <ComplexCondition> +- <Or> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" /> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" /> +- </Or> + <Pad id="MonoDevelop.FSharp.FSharpInteractivePad" defaultPlacement="Bottom" _label="F# Interactive" icon="md-project" class="MonoDevelop.FSharp.FSharpInteractivePad" /> +- </ComplexCondition> + </Extension> + + <Extension path = "/MonoDevelop/Ide/Pads/ProjectPad"> +@@ -281,11 +273,6 @@ + </Extension> + + <Extension path="/MonoDevelop/Ide/Commands"> +- <ComplexCondition> +- <Or> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" /> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" /> +- </Or> + <Category _name = "F# Integration" id="F# Integration"> + <Command id="MonoDevelop.FSharp.FSharpCommands.ShowFSharpInteractive" + _label = "F# Interactive" +@@ -330,32 +317,19 @@ + macShortcut="Meta|Control|C" + shortcut="Ctrl|Alt|C" /> + </Category> +- </ComplexCondition> + </Extension> + + <Extension path = "/MonoDevelop/SourceEditor2/ContextMenu/Editor"> +- <ComplexCondition> +- <Or> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" /> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" /> +- </Or> + <SeparatorItem id = "FSharpInteractiveStart" /> + <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendSelection" /> + <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendLine" /> + <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendReferences" /> +- </ComplexCondition> + </Extension> + + <Extension path = "/MonoDevelop/Ide/MainMenu/Edit"> +- <ComplexCondition> +- <Or> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets" /> +- <Condition id="MSBuildTargetIsAvailable" target="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.1\Framework\v4.0\Microsoft.FSharp.Targets" /> +- </Or> + <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendSelection" /> + <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendLine" /> + <CommandItem id = "MonoDevelop.FSharp.FSharpCommands.SendReferences" /> +- </ComplexCondition> + </Extension> + + <!--- F# Android --> diff --git a/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch b/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch new file mode 100644 index 0000000000000..e53482e0c00b4 --- /dev/null +++ b/pkgs/development/dotnet-modules/patches/monodevelop-fsharpbinding.references.patch @@ -0,0 +1,43 @@ +--- fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj.orig.old 2015-06-03 18:48:55.345385084 +0100 ++++ fsharpbinding-a09c818/monodevelop/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj.orig 2015-06-03 19:00:11.453399028 +0100 +@@ -185,19 +185,19 @@ + <Private>False</Private> + <HintPath>INSERT_FSPROJ_MDROOT\AddIns\NUnit\MonoDevelop.NUnit.dll</HintPath> + </Reference> +- <ProjectReference Include="..\..\FSharp.CompilerBinding\FSharp.CompilerBinding.fsproj"> +- <Project>{88F6940F-D300-474C-B2A7-E2ECD5B04B57}</Project> +- <Name>FSharp.CompilerBinding</Name> +- </ProjectReference> ++ <Reference Include="FSharp.CompilerBinding"> ++ <Private>True</Private> ++ </Reference> + <ProjectReference Include="Gui\MonoDevelop.FSharp.Gui.csproj"> + <Project>{FD0D1033-9145-48E5-8ED8-E2365252878C}</Project> + <Name>MonoDevelop.FSharp.Gui</Name> + </ProjectReference> +- <Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> ++ <Reference Include="FSharp.Core"> + <Private>True</Private> + </Reference> + <Reference Include="FSharp.Compiler.Service"> + <HintPath>packages\FSharp.Compiler.Service.0.0.85\lib\net45\FSharp.Compiler.Service.dll</HintPath> ++ <Private>True</Private> + </Reference> + <Reference Include="Mono.Cecil"> + <HintPath>packages\Mono.Cecil.0.9.5.4\lib\net40\Mono.Cecil.dll</HintPath> +@@ -213,12 +213,15 @@ + </Reference> + <Reference Include="FantomasLib"> + <HintPath>packages\Fantomas.1.6.0\lib\FantomasLib.dll</HintPath> ++ <Private>True</Private> + </Reference> + <Reference Include="FSharp.Compiler.CodeDom"> + <HintPath>packages\FSharp.Compiler.CodeDom.0.9.1\lib\net40\FSharp.Compiler.CodeDom.dll</HintPath> ++ <Private>True</Private> + </Reference> + <Reference Include="ExtCore"> + <HintPath>packages\ExtCore.0.8.45\lib\net40\ExtCore.dll</HintPath> ++ <Private>True</Private> + </Reference> + </ItemGroup> + <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> diff --git a/pkgs/development/dotnet-modules/patches/newtonsoft-json.references.patch b/pkgs/development/dotnet-modules/patches/newtonsoft-json.references.patch new file mode 100644 index 0000000000000..ed9b7adbef213 --- /dev/null +++ b/pkgs/development/dotnet-modules/patches/newtonsoft-json.references.patch @@ -0,0 +1,11 @@ +--- Newtonsoft.Json-6.0.8/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj.old 2015-01-11 06:46:39.000000000 +0000 ++++ Newtonsoft.Json-6.0.8/Src/Newtonsoft.Json.Tests/Newtonsoft.Json.Tests.csproj 2015-05-25 21:29:40.546808622 +0100 +@@ -52,6 +52,8 @@ + <Reference Include="System.Data.Linq" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Numerics" /> ++ <Reference Include="System.Collections" /> ++ <Reference Include="System.Runtime" /> + <Reference Include="System.Runtime.Serialization" /> + <Reference Include="System.Web" /> + <Reference Include="System.Web.Extensions" /> |