[Pkg-cli-apps-commits] [nant] 01/02: Import upstream diffs to add support for mono-4.5 framework. Thanks to Dimitri John Ledkov <xnox at ubuntu.com>

Jo Shields directhex at moszumanska.debian.org
Tue Dec 15 09:33:28 UTC 2015


This is an automated email from the git hooks/post-receive script.

directhex pushed a commit to annotated tag debian/0.92_rc1+dfsg-5
in repository nant.

commit bdc0a973226e349bf8577dc454f74a0445dc76ca
Author: Jo Shields <jo.shields at xamarin.com>
Date:   Tue Dec 15 09:23:28 2015 +0000

    Import upstream diffs to add support for mono-4.5 framework. Thanks to Dimitri John Ledkov <xnox at ubuntu.com>
---
 ...al-support-for-mono-4.5-on-unix.-Untested.patch | 140 +++++++++++++
 .....721a715ff411fdc385306676f1104eb0608c3dc3.diff | 218 +++++++++++++++++++++
 debian/patches/series                              |   3 +
 debian/patches/set-target-to-4.5.patch             |  14 ++
 4 files changed, 375 insertions(+)

diff --git a/debian/patches/0001-Add-initial-support-for-mono-4.5-on-unix.-Untested.patch b/debian/patches/0001-Add-initial-support-for-mono-4.5-on-unix.-Untested.patch
new file mode 100644
index 0000000..de6df72
--- /dev/null
+++ b/debian/patches/0001-Add-initial-support-for-mono-4.5-on-unix.-Untested.patch
@@ -0,0 +1,140 @@
+From 85a688731627504c0f0e94b8e8b15306a0cf9e7c Mon Sep 17 00:00:00 2001
+From: Ryan Boggs <rmboggs at gmail.com>
+Date: Thu, 22 Oct 2015 17:53:33 -0700
+Subject: [PATCH] Add initial support for mono-4.5 on unix. Untested. Cannot
+ work on mono-4.5 on win until next mono release with corrected installer. 
+ Fix has been committed to mono repo but no eta as to when the next Windows
+ release for mono will occur.
+
+---
+ src/NAnt.Console/App.config | 119 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 119 insertions(+)
+
+--- a/src/NAnt.Console/App.config
++++ b/src/NAnt.Console/App.config
+@@ -2973,6 +2973,125 @@
+                     </tasks>
+                 </framework>
+                 <framework
++                    name="mono-4.5"
++                    family="mono"
++                    version="4.5"
++                    description="Mono 4.5 Profile"
++                    sdkdirectory="${toolDirectory}"
++                    frameworkdirectory="${toolDirectory}"
++                    frameworkassemblydirectory="${path::combine(prefix, 'lib/mono/4.5')}"
++                    clrversion="4.0.30319"
++                    clrtype="Desktop"
++                    vendor="Mono"
++                    >
++                    <runtime>
++                        <probing-paths>
++                            <directory name="lib/mono/2.0" />
++                            <directory name="lib/mono/neutral" />
++                            <directory name="lib/common/2.0" />
++                            <directory name="lib/common/neutral" />
++                        </probing-paths>
++                        <modes>
++                            <auto>
++                                <engine program="${path::combine(prefix, 'bin/mono')}" />
++                            </auto>
++                            <strict>
++                                <engine program="${path::combine(prefix, 'bin/mono')}">
++                                    <arg value="--runtime=v4.0.30319" />
++                                </engine>
++                            </strict>
++                        </modes>
++                    </runtime>
++                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/4.5')}">
++                        <include name="*.dll" />
++                    </reference-assemblies>
++                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/4.0')}">
++                        <include name="*.dll" />
++                    </reference-assemblies>
++                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/3.5')}">
++                        <include name="*.dll" />
++                    </reference-assemblies>
++                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/3.0')}">
++                        <include name="*.dll" />
++                    </reference-assemblies>
++                    <reference-assemblies basedir="${path::combine(prefix, 'lib/mono/2.0')}">
++                        <include name="*.dll" />
++                    </reference-assemblies>
++                    <task-assemblies>
++                        <!-- include Mono version-neutral assemblies -->
++                        <include name="extensions/mono/neutral/**/*.dll" />
++                        <!-- include Mono 2.0 specific assemblies -->
++                        <include name="extensions/mono/2.0/**/*.dll" />
++                        <!-- include .NET 2.0 specific assemblies -->
++                        <include name="extensions/common/2.0/**/*.dll" />
++                    </task-assemblies>
++                    <tool-paths>
++                        <directory name="${toolDirectory}" />
++                        <directory name="${path::combine(prefix, 'lib/mono/4.5')}" />
++                        <directory name="${path::combine(prefix, 'lib/mono/3.5')}" />
++                        <directory name="${path::combine(prefix, 'lib/mono/2.0')}" />
++                        <directory name="${path::combine(prefix, 'lib/mono/1.0')}" />
++                        <!-- unmanaged tools -->
++                        <directory name="${prefix}/bin" />
++                    </tool-paths>
++                    <project>
++                        <if test="${not pkg-config::exists('mono')}">
++                            <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
++                        </if>
++                        <property name="resgen.supportsexternalfilereferences" value="false" />
++                        <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
++                        <property name="toolDirectory" value="${path::combine(prefix, 'lib/mono/4.0')}" />
++                        <if test="${not(pkg-config::is-atleast-version('mono', '3.0'))}">
++                            <property name="csc.tool" value="dmcs"/>
++                            <property name="mcs.sdk" value="0"/>
++                        </if>
++                        <if test="${pkg-config::is-atleast-version('mono', '3.0')}">
++                            <property name="csc.tool" value="mcs"/>
++                            <property name="mcs.sdk" value="4.5"/>
++                        </if>
++                    </project>
++                    <tasks>
++                        <task name="al">
++                            <attribute name="managed">true</attribute>
++                        </task>
++                        <task name="csc">
++                            <attribute name="exename">${csc.tool}</attribute>
++                            <attribute name="mcssdk">${mcs.sdk}</attribute>
++                            <attribute name="managed">true</attribute>
++                            <attribute name="langversion">linq</attribute>
++                            <attribute name="supportspackagereferences">true</attribute>
++                            <attribute name="supportsnowarnlist">true</attribute>
++                            <attribute name="supportsdocgeneration">true</attribute>
++                            <attribute name="supportskeycontainer">true</attribute>
++                            <attribute name="supportskeyfile">true</attribute>
++                            <attribute name="supportsdelaysign">true</attribute>
++                            <attribute name="supportslangversion">true</attribute>
++                        </task>
++                        <task name="jsc">
++                            <attribute name="exename">mjs</attribute>
++                            <attribute name="managed">strict</attribute>
++                        </task>
++                        <task name="vbc">
++                            <attribute name="exename">vbnc</attribute>
++                            <attribute name="managed">true</attribute>
++                        </task>
++                        <task name="resgen">
++                            <attribute name="managed">true</attribute>
++                            <attribute name="supportsexternalfilereferences">true</attribute>
++                        </task>
++                        <task name="delay-sign">
++                            <attribute name="exename">sn</attribute>
++                            <attribute name="managed">true</attribute>
++                        </task>
++                        <task name="license">
++                            <attribute name="hascommandlinecompiler">false</attribute>
++                        </task>
++                        <task name="ilasm">
++                            <attribute name="managed">true</attribute>
++                        </task>
++                    </tasks>
++                </framework>
++                <framework
+                     name="moonlight-2.0" 
+                     family="moonlight" 
+                     version="2.0"
diff --git a/debian/patches/9d7f1937978c17be116292352f124b1de83518e9..721a715ff411fdc385306676f1104eb0608c3dc3.diff b/debian/patches/9d7f1937978c17be116292352f124b1de83518e9..721a715ff411fdc385306676f1104eb0608c3dc3.diff
new file mode 100644
index 0000000..eb35255
--- /dev/null
+++ b/debian/patches/9d7f1937978c17be116292352f124b1de83518e9..721a715ff411fdc385306676f1104eb0608c3dc3.diff
@@ -0,0 +1,218 @@
+--- a/Makefile
++++ b/Makefile
+@@ -5,7 +5,7 @@
+ TARGET=mono-4.0
+ 
+ # Contains a list of acceptable targets used to build NAnt
+-VALID_TARGETS := mono-2.0 mono-3.5 mono-4.0 net-2.0 net-3.5 net-4.0
++VALID_TARGETS := mono-2.0 mono-3.5 mono-4.0 mono-4.5 net-2.0 net-3.5 net-4.0 net-4.5
+ 
+ ifndef DIRSEP
+ ifeq ($(OS),Windows_NT)
+@@ -55,6 +55,11 @@
+ DEFINE := $(DEFINE),NET_1_0,NET_1_1,NET_2_0,NET_3_5,NET_4_0,ONLY_4_0
+ endif
+ 
++# Loads (net,mono)-4.5 DEFINE vars
++ifeq ($(findstring 4.5,$(SELECTED_TARGET)),4.5)
++DEFINE := $(DEFINE),NET_1_0,NET_1_1,NET_2_0,NET_3_5,NET_4_0,NET_4_5,ONLY_4_5
++endif
++
+ # If TARGET var is invalid, throw an error
+ else
+ $(error Specified target "$(TARGET)" is not valid)
+@@ -69,7 +74,7 @@
+ TARGET_FRAMEWORK = -t:$(TARGET)
+ NANT = $(MONO) bootstrap/NAnt.exe $(NANT_DEBUG)
+ 
+-
++# Targets
+ all: bootstrap build-nant
+ 
+ build-nant: 
+--- a/Makefile.nmake
++++ b/Makefile.nmake
+@@ -17,6 +17,8 @@
+ DEFINE = $(DEFINE),NET_1_0,NET_1_1,NET_2_0,NET_3_5,ONLY_3_5
+ !else if "$(TARGET)" == "net-4.0" || "$(TARGET)" == "mono-4.0"
+ DEFINE = $(DEFINE),NET_1_0,NET_1_1,NET_2_0,NET_3_5,NET_4_0,ONLY_4_0
++!else if "$(TARGET)" == "net-4.5" || "$(TARGET)" == "mono-4.5"
++DEFINE = $(DEFINE),NET_1_0,NET_1_1,NET_2_0,NET_3_5,NET_4_0,NET_4_5,ONLY_4_5
+ !else
+ !error Specified target "$(TARGET)" is not valid
+ !endif
+--- a/NAnt.build
++++ b/NAnt.build
+@@ -755,6 +755,12 @@
+         <property name="link.sdkdoc.version" value="SDK_v1_1" />
+         <property name="link.sdkdoc.web" value="true" />
+     </target>
++    <target name="set-net-4.5-framework-configuration">
++        <property name="nant.settings.currentframework" value="net-4.5" />
++        <property name="current.build.defines" value="${build.defines}NET,NET_1_0,NET_1_1,NET_2_0,NET_3_5,NET_4_0,NET_4_5,ONLY_4_5" dynamic="true" />
++        <property name="link.sdkdoc.version" value="SDK_v1_1" />
++        <property name="link.sdkdoc.web" value="true" />
++    </target>
+     <target name="set-mono-2.0-framework-configuration">
+         <property name="nant.settings.currentframework" value="mono-2.0" />
+         <property name="current.build.defines" value="${build.defines}MONO,NET_1_0,NET_1_1,NET_2_0,ONLY_2_0" dynamic="true" />
+@@ -773,6 +779,12 @@
+         <property name="link.sdkdoc.version" value="SDK_v1_1" />
+         <property name="link.sdkdoc.web" value="true" />
+     </target>
++    <target name="set-mono-4.5-framework-configuration">
++        <property name="nant.settings.currentframework" value="mono-4.5" />
++        <property name="current.build.defines" value="${build.defines}MONO,NET_1_0,NET_1_1,NET_2_0,NET_3_5,NET_4_0,NET_4_5,ONLY_4_5" dynamic="true" />
++        <property name="link.sdkdoc.version" value="SDK_v1_1" />
++        <property name="link.sdkdoc.web" value="true" />
++    </target>
+ 
+     <!-- install targets -->
+ 
+--- a/src/NAnt.Console/App.config
++++ b/src/NAnt.Console/App.config
+@@ -886,6 +886,133 @@
+                         </task>
+                     </tasks>
+                 </framework>
++                <framework
++                    name="net-4.5"
++                    family="net"
++                    version="4.5"
++                    description="Microsoft .NET Framework 4.5"
++                    sdkdirectory="${sdkInstallRoot}"
++                    frameworkdirectory="${path::combine(installRoot, 'v4.0.30319')}"
++                    frameworkassemblydirectory="${path::combine(installRoot, 'v4.0.30319')}"
++                    clrversion="4.0.30319"
++                    clrtype="Desktop"
++                    vendor="Microsoft"
++                    >
++                    <runtime>
++                        <probing-paths>
++                            <directory name="lib/common/2.0" />
++                            <directory name="lib/common/neutral" />
++                        </probing-paths>
++                        <modes>
++                            <strict>
++                                <environment>
++                                    <variable name="COMPLUS_VERSION" value="v4.0.30319" />
++                                </environment>
++                            </strict>
++                        </modes>
++                    </runtime>
++                    <reference-assemblies basedir="${path::combine(installRoot, 'v4.0.30319')}">
++                        <include name="Accessibility.dll" />
++                        <include name="Microsoft.Build.Conversion.v4.0.dll" />
++                        <include name="Microsoft.Build.dll" />
++                        <include name="Microsoft.Build.Engine.dll" />
++                        <include name="Microsoft.Build.Framework.dll" />
++                        <include name="Microsoft.Build.Tasks.v4.0.dll" />
++                        <include name="Microsoft.Build.Utilities.v4.0.dll" />
++                        <include name="Microsoft.CSharp.dll" />
++                        <include name="Microsoft.Data.Entity.Build.Tasks.dll" />
++                        <include name="Microsoft.JScript.dll" />
++                        <include name="Microsoft.Transactions.Bridge.dll" />
++                        <include name="Microsoft.Transactions.Bridge.Dtc.dll" />
++                        <include name="Microsoft.VisualBasic.Activities.Compiler.dll" />
++                        <include name="Microsoft.VisualBasic.Compatibility.Data.dll" />
++                        <include name="Microsoft.VisualBasic.Compatibility.dll" />
++                        <include name="Microsoft.VisualBasic.dll" />
++                        <include name="Microsoft.VisualC.dll" />
++                        <include name="Microsoft.VisualC.STLCLR.dll" />
++                        <include name="mscorlib.dll" />
++                        <include name="System*.dll" />
++                    </reference-assemblies>
++                    <!-- WPF Assemblies -->
++                    <reference-assemblies basedir="${path::combine(installRoot, 'v4.0.30319')}/WPF">
++                        <include name="*.dll" />
++                    </reference-assemblies>
++                    <reference-assemblies basedir="${environment::get-folder-path('ProgramFiles')}/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5">
++                        <include name="Microsoft*.dll" />
++                        <include name="mscorlib.dll" />
++                        <include name="PresentationBuildTasks.dll" />
++                        <include name="PresentationCore.dll" />
++                        <include name="WindowsBase.dll" />
++                        <include name="PresentationFramework*.dll" />
++                        <include name="ReachFramework.dll" />
++                        <include name="System*.dll" />
++                    </reference-assemblies>
++                    <task-assemblies>
++                        <!-- include MS.NET version-neutral assemblies -->
++                        <include name="extensions/net/neutral/**/*.dll" />
++                        <!-- include MS.NET 4.0 specific assemblies -->
++                        <include name="extensions/net/4.0/**/*.dll" />
++                        <!-- include MS.NET specific task assembly -->
++                        <include name="NAnt.MSNetTasks.dll" />
++                        <!-- include MS.NET specific test assembly -->
++                        <include name="NAnt.MSNet.Tests.dll" />
++                        <!-- include .NET 4.0 specific assemblies -->
++                        <include name="extensions/common/4.0/**/*.dll" />
++                    </task-assemblies>
++                    <tool-paths>
++                        <directory name="${sdkInstallRoot}"
++                            if="${property::exists('sdkInstallRoot')}" />
++                        <directory name="${path::combine(installRoot, 'v4.0.30319')}" />
++                    </tool-paths>
++                    <project>
++                        <readregistry
++                            property="installRoot"
++                            key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
++                            hive="LocalMachine" />
++                        <locatesdk property="sdkInstallRoot" minwinsdkver="v7.0A" minnetfxver="4.0" maxnetfxver="4.0.99999" failonerror="false" />
++                    </project>
++                    <tasks>
++                        <task name="csc">
++                            <attribute name="supportsnowarnlist">true</attribute>
++                            <attribute name="supportswarnaserrorlist">true</attribute>
++                            <attribute name="supportskeycontainer">true</attribute>
++                            <attribute name="supportskeyfile">true</attribute>
++                            <attribute name="supportsdelaysign">true</attribute>
++                            <attribute name="supportsplatform">true</attribute>
++                            <attribute name="supportslangversion">true</attribute>
++                        </task>
++                        <task name="vbc">
++                            <attribute name="supportsdocgeneration">true</attribute>
++                            <attribute name="supportsnostdlib">true</attribute>
++                            <attribute name="supportsnowarnlist">true</attribute>
++                            <attribute name="supportskeycontainer">true</attribute>
++                            <attribute name="supportskeyfile">true</attribute>
++                            <attribute name="supportsdelaysign">true</attribute>
++                            <attribute name="supportsplatform">true</attribute>
++                            <attribute name="supportswarnaserrorlist">true</attribute>
++                        </task>
++                        <task name="jsc">
++                            <attribute name="supportsplatform">true</attribute>
++                        </task>
++                        <task name="vjc">
++                            <attribute name="supportsnowarnlist">true</attribute>
++                            <attribute name="supportskeycontainer">true</attribute>
++                            <attribute name="supportskeyfile">true</attribute>
++                            <attribute name="supportsdelaysign">true</attribute>
++                        </task>
++                        <task name="resgen">
++                            <attribute name="supportsassemblyreferences">true</attribute>
++                            <attribute name="supportsexternalfilereferences">true</attribute>
++                        </task>
++                        <task name="delay-sign">
++                            <attribute name="exename">sn</attribute>
++                        </task>
++                        <task name="license">
++                            <attribute name="exename">lc</attribute>
++                            <attribute name="supportsassemblyreferences">true</attribute>
++                        </task>
++                    </tasks>
++                </framework>
+                 <framework 
+                     name="netcf-1.0"
+                     family="netcf"
+--- a/src/NAnt.Core/FrameworkInfo.cs
++++ b/src/NAnt.Core/FrameworkInfo.cs
+@@ -315,6 +315,8 @@
+                         return new Version(8, 0);
+                     case "4.0":
+                         return new Version(10, 0);
++                    case "4.5":
++                        return new Version(11, 0);
+                     default:
+                         throw new BuildException(string.Format(CultureInfo.InvariantCulture,
+                             ResourceUtils.GetString("NA1055"),
diff --git a/debian/patches/series b/debian/patches/series
index c9bdece..c44ebe3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -8,3 +8,6 @@ add_support_for_mono_4.0_profile.patch
 remove-netDumbster.patch
 lowercase-docdir.patch
 use_mono_mcs_common_compiler_infrastructure.patch
+9d7f1937978c17be116292352f124b1de83518e9..721a715ff411fdc385306676f1104eb0608c3dc3.diff
+set-target-to-4.5.patch
+0001-Add-initial-support-for-mono-4.5-on-unix.-Untested.patch
diff --git a/debian/patches/set-target-to-4.5.patch b/debian/patches/set-target-to-4.5.patch
new file mode 100644
index 0000000..8a0e95d
--- /dev/null
+++ b/debian/patches/set-target-to-4.5.patch
@@ -0,0 +1,14 @@
+Description: target 4.5 mono 
+Author: Dimitri John Ledkov <xnox at ubuntu.com>
+
+--- nant-0.92~rc1+dfsg.orig/Makefile
++++ nant-0.92~rc1+dfsg/Makefile
+@@ -2,7 +2,7 @@
+ MONO=cli
+ MCS=mono-csc
+ RESGEN=resgen
+-TARGET=mono-4.0
++TARGET=mono-4.5
+ 
+ # Contains a list of acceptable targets used to build NAnt
+ VALID_TARGETS := mono-2.0 mono-3.5 mono-4.0 mono-4.5 net-2.0 net-3.5 net-4.0 net-4.5

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-cli-apps/packages/nant.git



More information about the Pkg-cli-apps-commits mailing list