[nant] - Fix bootstrap makefile

Paul F. Johnson pfj at fedoraproject.org
Fri Oct 29 12:45:34 UTC 2010


commit c09d79ff4c5d091c0e787cfe1090b3fb0191f8f8
Author: Paul F. Johnson <paul at all-the-johnsons.co.uk>
Date:   Fri Oct 29 13:45:15 2010 +0100

    - Fix bootstrap makefile

 nant-0.90-api.patch        |   11 ++++
 nant-0.90-app.patch        |  125 ++++++++++++++++++++++++++++++++++++++++++++
 nant-0.90-build.patch      |   25 +++++++++
 nant-0.90-make.patch       |   11 ++++
 nant-0.90-src.tar.bz2      |  Bin 0 -> 1324943 bytes
 nant-0.90-systemlibs.patch |   88 +++++++++++++++++++++++++++++++
 nant-0.90.pc.patch         |   14 +++++
 nant-090-bootstrap.patch   |   11 ++++
 nant-090-builddir.patch    |   23 ++++++++
 nant.spec                  |   85 ++++++++++++++++++++++++------
 10 files changed, 376 insertions(+), 17 deletions(-)
---
diff --git a/nant-0.90-api.patch b/nant-0.90-api.patch
new file mode 100644
index 0000000..b343e44
--- /dev/null
+++ b/nant-0.90-api.patch
@@ -0,0 +1,11 @@
+--- nant-0.90/src/NAnt.DotNet/Tasks/ScriptTask.cs	2010-04-17 23:08:28.000000000 +0100
++++ nant-0.90/src/NAnt.DotNet/Tasks/ScriptTask-new.cs	2010-10-15 00:12:19.643416652 +0100
+@@ -517,7 +517,7 @@
+         #region Private Static Methods
+ 
+         private static CodeDomProvider CreateCodeDomProvider(string typeName, string assemblyName) {
+-            Assembly providerAssembly = Assembly.LoadWithPartialName(assemblyName);
++            Assembly providerAssembly = Assembly.Load(assemblyName);
+             if (providerAssembly == null) {
+                 throw new ArgumentException(string.Format(CultureInfo.InvariantCulture,
+                     ResourceUtils.GetString("NA2037"), assemblyName));
diff --git a/nant-0.90-app.patch b/nant-0.90-app.patch
new file mode 100644
index 0000000..2c63e5e
--- /dev/null
+++ b/nant-0.90-app.patch
@@ -0,0 +1,125 @@
+--- nant-0.90/src/NAnt.Console/App.config	2010-03-28 16:59:13.000000000 +0100
++++ nant-0.90/src/NAnt.Console/App-new.config	2010-10-15 00:01:02.586208614 +0100
+@@ -838,7 +838,7 @@
+                             </strict>
+                         </modes>
+                     </runtime>
+-                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}">
++                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/1.0')}">
+                         <include name="*.dll" />
+                     </reference-assemblies>
+                     <task-assemblies>
+@@ -879,8 +879,8 @@
+                             <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
+                             <property name="resgen.tool" value="monoresgen" />
+                             <!-- in Mono 1.0.x, only mcs and mbas are located in <install root>\lib\mono\<profile> -->
+-                            <property name="csc.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mcs.exe')}" />
+-                            <property name="mbas.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')}" />
++                            <property name="csc.tool" value="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/1.0/mcs.exe')}" />
++                            <property name="mbas.tool" value="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/1.0/mbas.exe')}" />
+                             <!-- /doc is not supported in Mono 1.0.x -->
+                             <property name="csc.supportsdocgeneration" value="false" />
+ 
+@@ -900,7 +900,7 @@
+                                 are located in the <install root>\lib\mono\<profile>
+                                 directory
+                             -->
+-                            <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
++                            <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/1.0')}" />
+                             <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
+                             <!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory -->
+                             <if test="${not file::exists(runtimeEngine)}">
+@@ -1011,7 +1011,7 @@
+                     description="Mono 2.0 Profile"
+                     sdkdirectory="${toolDirectory}"
+                     frameworkdirectory="${toolDirectory}"
+-                    frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}"
++                    frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/2.0')}"
+                     clrversion="2.0.50727"
+                     clrtype="Desktop"
+                     vendor="Mono"
+@@ -1042,7 +1042,7 @@
+                             </strict>
+                         </modes>
+                     </runtime>
+-                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}">
++                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/2.0')}">
+                         <include name="*.dll" />
+                     </reference-assemblies>
+                     <task-assemblies>
+@@ -1055,7 +1055,7 @@
+                     </task-assemblies>
+                     <tool-paths>
+                         <directory name="${toolDirectory}" />
+-                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
++                        <directory name="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/1.0')}" />
+                         <!-- for compatibility with Mono 1.0.x -->
+                         <directory name="${frameworkAssemblyDirectory}" />
+                         <!-- unmanaged tools -->
+@@ -1101,7 +1101,7 @@
+ 
+                         <!-- determine if we're dealing with a Mono 1.1.x release or higher -->
+                         <if test="${version::parse(mono.version) >= version::parse('1.1')}">
+-                            <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
++                            <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/2.0')}" />
+                             <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
+                             <!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory -->
+                             <if test="${not file::exists(runtimeEngine)}">
+@@ -1192,7 +1192,7 @@
+                     description="Mono 3.5 Profile"
+                     sdkdirectory="${toolDirectory}"
+                     frameworkdirectory="${toolDirectory}"
+-                    frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}"
++                    frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/2.0')}"
+                     clrversion="2.0.50727"
+                     clrtype="Desktop"
+                     vendor="Mono"
+@@ -1223,13 +1223,13 @@
+                             </strict>
+                         </modes>
+                     </runtime>
+-                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/3.5')}">
++                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/3.5')}">
+                         <include name="*.dll" />
+                     </reference-assemblies>
+                     <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/3.0')}">
+                         <include name="*.dll" />
+                     </reference-assemblies>
+-                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}">
++                    <reference-assemblies basedir="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/2.0')}">
+                         <include name="*.dll" />
+                     </reference-assemblies>
+                     <task-assemblies>
+@@ -1241,9 +1241,9 @@
+                         <include name="extensions/common/2.0/**/*.dll" />
+                     </task-assemblies>
+                     <tool-paths>
+-                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/3.5')}" />
+-                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
+-                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
++                        <directory name="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/3.5')}" />
++                        <directory name="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/2.0')}" />
++                        <directory name="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/1.0')}" />
+                         <!-- unmanaged tools -->
+                         <directory name="${sdkInstallRoot}/bin" />
+                     </tool-paths>
+@@ -1262,7 +1262,7 @@
+                             <call target="configure-from-registry" />
+                         </if>
+ 
+-                        <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/3.5')}" />
++                        <property name="toolDirectory" value="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/3.5')}" />
+                         <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
+ 
+                         <target name="configure-from-pkg-config">
+@@ -1385,8 +1385,8 @@
+                     </task-assemblies>
+                     <tool-paths>
+                         <directory name="${toolDirectory}" />
+-                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
+-                        <directory name="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
++                        <directory name="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/2.0')}" />
++                        <directory name="${path::combine(frameworkAssemblyDirectory, '@LIBDIR@/mono/1.0')}" />
+                         <!-- unmanaged tools -->
+                         <directory name="${sdkInstallRoot}/bin" />
+                     </tool-paths>
diff --git a/nant-0.90-build.patch b/nant-0.90-build.patch
new file mode 100644
index 0000000..1096f99
--- /dev/null
+++ b/nant-0.90-build.patch
@@ -0,0 +1,25 @@
+--- nant-0.90/NAnt.build	2010-05-08 22:12:26.000000000 +0100
++++ nant-0.90/NAnt-new.build	2010-10-15 00:06:17.462425585 +0100
+@@ -855,11 +855,11 @@
+     </target>
+ 
+     <target name="install-linux" depends="build" if="${platform::is-unix()}">
+-        <property name="install.prefix" value="/usr/local" />
++        <property name="install.prefix" value="@BUILDROOT@" />
+         <if test="${property::exists('prefix') and string::get-length(prefix) != 0}">
+             <property name="install.prefix" value="${prefix}" />
+         </if>
+-        <property name="install.share" value="${path::combine(install.prefix, 'share')}" />
++        <property name="install.share" value="${path::combine(install.prefix, '@LIB@')}" />
+         <property name="install.nant" value="${path::combine (install.share, 'NAnt')}" />
+ 
+         <!-- support staged installs -->
+@@ -868,7 +868,7 @@
+             <property name="install.destdir" value="${destdir}" />
+         </if>
+         <property name="install.bindir" value="${install.destdir + path::combine(install.prefix, 'bin')}" />
+-        <property name="install.pkgconfigdir" value="${install.destdir + path::combine(install.prefix, 'lib/pkgconfig')}" />
++        <property name="install.pkgconfigdir" value="${install.destdir + path::combine(install.prefix, '@LIB@/pkgconfig')}" />
+         <property name="install.copylocation" value="${install.destdir + install.nant}" />
+ 
+         <!-- perform (staged) install -->
diff --git a/nant-0.90-make.patch b/nant-0.90-make.patch
new file mode 100644
index 0000000..f3be3f0
--- /dev/null
+++ b/nant-0.90-make.patch
@@ -0,0 +1,11 @@
+--- nant-0.90/Makefile	2010-10-15 00:32:49.915587082 +0100
++++ nant-0.90/Makefile-new	2010-10-15 00:34:46.001122633 +0100
+@@ -73,7 +73,7 @@
+ bootstrap/NAnt.DotNetTasks.dll:
+ 	$(RESGEN)  src/NAnt.DotNet/Resources/Strings.resx bootstrap/NAnt.DotNet.Resources.Strings.resources
+ 	$(MCS) -target:library -warn:0 -define:MONO -out:bootstrap/NAnt.DotNetTasks.dll \
+-		-r:./bootstrap/NAnt.Core.dll -r:bootstrap/lib/net/2.0/NDoc.Core.dll \
++		-r:./bootstrap/NAnt.Core.dll -r:bootstrap/lib/${FRAMEWORK_DIR}/2.0/NDoc.Core.dll \
+ 		-recurse:src${DIRSEP}NAnt.DotNet${DIRSEP}*.cs -resource:bootstrap/NAnt.DotNet.Resources.Strings.resources \
+ 		src${DIRSEP}CommonAssemblyInfo.cs
+ 
diff --git a/nant-0.90-src.tar.bz2 b/nant-0.90-src.tar.bz2
new file mode 100644
index 0000000..ce716e7
Binary files /dev/null and b/nant-0.90-src.tar.bz2 differ
diff --git a/nant-0.90-systemlibs.patch b/nant-0.90-systemlibs.patch
new file mode 100644
index 0000000..3abbe94
--- /dev/null
+++ b/nant-0.90-systemlibs.patch
@@ -0,0 +1,88 @@
+--- nant-0.90/src/NAnt.NUnit/NAnt.NUnit.build	2010-02-17 05:08:02.000000000 +0000
++++ nant-0.90/src/NAnt.NUnit/NAnt.NUnit-new.build	2010-10-15 00:16:01.238010218 +0100
+@@ -20,27 +20,6 @@
+                 <include name="${nant::scan-probing-paths('nunit.framework.dll')}" />
+             </references>
+         </csc>
+-        <csc target="library" define="${current.build.defines}" warnaserror="${build.warnaserror}" debug="${build.debug}" output="${build.dir}/bin/NAnt.NUnit1Tasks.dll" doc="${build.dir}/bin/NAnt.NUnit1Tasks.xml">
+-            <nowarn>
+-                <!-- do not report warnings for missing XML comments -->
+-                <warning number="1591" />
+-                 <!-- workaround for Mono bug #61902: do not report deprecation warnings -->
+-                <warning number="0618" if="${framework::get-family(framework::get-target-framework()) == 'mono'}" />
+-            </nowarn>
+-            <sources>
+-                <include name="NUnit1/**/*.cs"/>
+-                <!-- common assembly-level attributes -->
+-                <include name="../CommonAssemblyInfo.cs" />
+-            </sources>
+-            <references>
+-                <include name="${build.dir}/bin/NAnt.Core.dll" />
+-                <include name="${build.dir}/bin/NAnt.NUnit.dll" />
+-                <include name="${nant::scan-probing-paths(build.dir + '/bin','NUnitCore.dll')}" />
+-            </references>
+-            <resources>
+-                <include name="*.resx"/>
+-            </resources>
+-        </csc>
+         <csc target="library" define="${current.build.defines}" warnaserror="${build.warnaserror}" debug="${build.debug}" output="${build.dir}/bin/NAnt.NUnit2Tasks.dll" doc="${build.dir}/bin/NAnt.NUnit2Tasks.xml">
+             <nowarn>
+                 <!-- do not report deprecation warnings -->
+--- nant-0.90/src/NAnt.SourceControl/Tasks/AbstractCvsTask.cs	2007-11-16 10:46:38.000000000 +0000
++++ nant-0.90/src/NAnt.SourceControl/Tasks/AbstractCvsTask-new.cs	2010-10-15 00:20:43.733745701 +0100
+@@ -266,10 +266,12 @@
+             get { 
+                 if (null == base.Root) {
+                     try {
+-                        ICSharpCode.SharpCvsLib.FileSystem.Root root = 
+-                            ICSharpCode.SharpCvsLib.FileSystem.Root.Load(this.DestinationDirectory);
++                        ICSharpCode.SharpCvsLib.FileSystem.Manager manager =
++                            new ICSharpCode.SharpCvsLib.FileSystem.Manager(this.DestinationDirectory.FullName);
++                        ICSharpCode.SharpCvsLib.FileSystem.Root root =
++                            manager.FetchRoot(this.DestinationDirectory.FullName);
+                         this.Root = root.FileContents;
+-                    } catch (ICSharpCode.SharpCvsLib.Exceptions.CvsFileNotFoundException) {
++                    } catch (CvsFileNotFoundException) {
+                         throw new BuildException (string.Format("Cvs/Root file not found in {0}, please perform a checkout.",
+                             this.DestinationDirectory.FullName));
+                     }
+@@ -296,9 +298,10 @@
+             get { 
+                 if (null == _module) {
+                     try {
+-                        Repository repository = Repository.Load(this.DestinationDirectory);
++                        Manager manager = new Manager(this.DestinationDirectory.FullName);
++                        Repository repository = manager.FetchRepository(this.DestinationDirectory.FullName);
+                         this._module = repository.ModuleName;
+-                    } catch (ICSharpCode.SharpCvsLib.Exceptions.CvsFileNotFoundException) {
++                    } catch (CvsFileNotFoundException) {
+                         throw new BuildException (string.Format("Cvs/Repository file not found in {0}, please perform a checkout.",
+                             this.DestinationDirectory.FullName));
+                     }
+@@ -566,4 +569,4 @@
+ 
+         #endregion Private Instance Methods
+     }
+-}
+\ No newline at end of file
++}
+--- nant-0.90/src/NAnt.SourceControl/Tasks/CvsPass.cs	2007-02-18 03:53:24.000000000 +0000
++++ nant-0.90/src/NAnt.SourceControl/Tasks/CvsPass-new.cs	2010-10-15 00:22:47.877917193 +0100
+@@ -123,7 +123,7 @@
+         /// </list>
+         /// </summary>
+         protected override void ExecuteTask () {
+-            ICSharpCode.SharpCvsLib.FileSystem.Manager manager = 
++	  /*ICSharpCode.SharpCvsLib.FileSystem.Manager manager = 
+                 new ICSharpCode.SharpCvsLib.FileSystem.Manager(this.DestinationDirectory);
+ 
+             if (this.PassFile == null) {
+@@ -133,7 +133,7 @@
+                 Log(Level.Verbose, "Updating .cvspass file '{0}'.", this.PassFile.FullName);
+                 manager.UpdatePassFile(this.Password, 
+                     new ICSharpCode.SharpCvsLib.Misc.CvsRoot(this.Root), this.PassFile);
+-            }
++            }*/
+         }
+ 
+         #endregion Override implementation of Task
diff --git a/nant-0.90.pc.patch b/nant-0.90.pc.patch
new file mode 100644
index 0000000..63383a4
--- /dev/null
+++ b/nant-0.90.pc.patch
@@ -0,0 +1,14 @@
+--- nant-0.90/etc/nant.pc.in	2008-11-03 13:56:55.000000000 +0000
++++ nant-0.90/etc/nant.pc-new.in	2010-10-15 00:52:48.236211067 +0100
+@@ -1,8 +1,8 @@
+ prefix=${pcfiledir}/../..
+-extensiondir=${prefix}/share/NAnt/bin/extensions
+-libdir=${prefix}/share/NAnt/bin/lib
++extensiondir=@libdir@/NAnt/bin/extensions
++libdir=@libdir@/NAnt/bin/
+ 
+ Name: NAnt
+ Description: A build tool for .NET and Mono
+ Version: @VERSION@
+-Libs: -r:"${prefix}/share/NAnt/bin/NAnt.Core.dll"
++Libs: -r:"@libdir@/NAnt/bin/NAnt.Core.dll"
diff --git a/nant-090-bootstrap.patch b/nant-090-bootstrap.patch
new file mode 100644
index 0000000..be42033
--- /dev/null
+++ b/nant-090-bootstrap.patch
@@ -0,0 +1,11 @@
+--- nant-0.90/Makefile	2010-10-26 12:13:55.480308871 +0100
++++ nant-0.90/Makefile-new	2010-10-26 12:15:10.587744003 +0100
+@@ -58,7 +58,7 @@
+ 
+ setup:
+ 	mkdir -p bootstrap
+-	cp -R lib/ bootstrap/lib
++	cp -R lib/ bootstrap/
+ 	# Mono loads log4net before privatebinpath is set-up, so we need this in the same directory
+ 	# as NAnt.exe
+ 	cp lib/common/neutral/log4net.dll bootstrap
diff --git a/nant-090-builddir.patch b/nant-090-builddir.patch
new file mode 100644
index 0000000..e1ad396
--- /dev/null
+++ b/nant-090-builddir.patch
@@ -0,0 +1,23 @@
+--- nant-0.90/NAnt.build	2010-10-15 00:58:32.644019818 +0100
++++ nant-0.90/NAnt-new.build	2010-10-25 12:53:24.473156988 +0100
+@@ -893,16 +893,16 @@
+         </copy>
+ 
+         <!-- create wrapper script -->
+-        <echo message="Installing NAnt wrapper script to '${install.bindir}' ..." />
+-        <property name="wrapper" value="${path::combine(install.bindir, 'nant')}" />
++        <echo message="Installing NAnt wrapper script to '@BINDIR@' ..." />
++        <property name="wrapper" value="${path::combine('@BINDIR@', 'nant')}" />
+         <!-- 
+             create wrapper file using separate echo tasks for each line to ensure
+             the line endings of the generated file match the platform on which 
+             the wrapper is created
+         -->
+         <echo file="${wrapper}" append="false">#!/bin/sh${environment::newline()}</echo>
+-        <echo file="${wrapper}" append="true">exec ${path::combine(install.prefix, 'bin')}/mono ${path::combine(install.nant, 'bin')}/NAnt.exe "$@"</echo>
+-        <exec program="chmod" commandline="a+x ${path::combine(install.bindir, 'nant')}" />
++        <echo file="${wrapper}" append="true">exec ${'@BIN@'}/mono ${'@LIB@/NAnt/bin/NAnt.exe'} "$@"</echo>
++        <exec program="chmod" commandline="a+x ${'@BINDIR@/nant'}" />
+     </target>
+     <target name="rpm" depends="init, build">
+         <echo message="Build dir: ${build.dir}" />
diff --git a/nant.spec b/nant.spec
index e66747d..a2cbcf8 100644
--- a/nant.spec
+++ b/nant.spec
@@ -1,19 +1,22 @@
 %global debug_package %{nil}
 %global monodir %{_libdir}
 %global mlib %{_lib}
-%global bootstrap 0
+%global bootstrap 1
 
 Summary: NAnt is a build tool for Mono and .NET
 Name: nant
-Version: 0.85	
-Release: 34%{?dist}
+Version: 0.90	
+Release: 2.1%{?dist}
 Epoch: 1
-Source0: http://download.sourceforge.net/nant/%{name}-%{version}-src.tar.gz
-Patch0: nant-build.patch
-Patch1: nant-0.85-app.patch
-Patch2: nant-core-task.patch
-Patch3: nant-0.85-api.patch
-Patch4: nant-0.85-system-libs-and-no-nunit1.patch
+Source0: http://download.sourceforge.net/nant/%{name}-%{version}-src.tar.bz2
+Patch0: nant-0.90-build.patch
+Patch1: nant-0.90-app.patch
+Patch2: nant-0.90-make.patch
+Patch3: nant-0.90-api.patch
+Patch4: nant-0.90-systemlibs.patch
+Patch5: nant-0.90.pc.patch
+Patch6: nant-090-builddir.patch
+Patch7: nant-090-bootstrap.patch
 License: GPLv2+
 Group: Development/Tools
 Url: http://nant.sourceforge.net/
@@ -23,7 +26,7 @@ BuildRequires: mono-devel
 # Nothing here if we're bootstrapping
 %else
 BuildRequires: log4net, mono-nunit, mono-nunit22-devel
-BuildRequires: mono-ndoc-devel, mono-sharpcvslib-devel
+BuildRequires:mono-sharpcvslib-devel
 %endif
 Requires(post): scrollkeeper
 Requires(postun): scrollkeeper
@@ -41,17 +44,41 @@ Requires:	%{name} = %{epoch}:%{version}-%{release}
 %description docs
 Documentation for nant
 
+%package devel
+Summary:	Development file for nant
+Group:		Development/Libraries
+Requires:	%{name} = %{epoch}:%{version}-%{release}
+
+%description devel
+Development file for %{name}
+
 %prep
 %setup -q -n %{name}-%{version}
 %patch1 -p1 -b .orig
 sed -i -e "s/@LIBDIR@/%{mlib}/" src/NAnt.Console/App.config
 sed -i -e "s|lib/|%{_lib}/|g" src/NAnt.Console/App.config
+sed -i -e "s/1.0/2.0/" Makefile
 %patch0 -p1 -b .orig
 %patch2 -p1 -b .orig
 %patch3 -p1 -b .orig
 %patch4 -p1 -b .system
+sed -i -e "s!@libdir@!%{_libdir}!" %{PATCH5}
+%patch5 -p1 -b .pcpatch
+sed -i -e "s!%{_libdir}!@libdir@!" %{PATCH5}
 sed -i -e "s/@LIB@/%{_lib}/" NAnt.build
 sed -i -e "s!@BUILDROOT@!%{buildroot}/usr!" NAnt.build
+sed -i -e 's!@BINDIR@!%{buildroot}%{_bindir}!' %{PATCH6}
+sed -i -e 's!@LIBDIR@!%{buildroot}%{_libdir}!' %{PATCH6}
+sed -i -e 's!@BIN@!%{_bindir}!' %{PATCH6}
+sed -i -e 's!@LIB@!%{_libdir}!' %{PATCH6}
+%patch6 -p1 -b .build
+sed -i -e 's!%{buildroot}%{_bindir}!@BINDIR@!' %{PATCH6}
+sed -i -e 's!%{buildroot}%{_libdir}!@LIBDIR@!' %{PATCH6}
+sed -i -e 's!%{_bindir}!@BIN@!' %{PATCH6}
+sed -i -e 's!%{_libdir}!@LIB@!' %{PATCH6}
+%if 1%{bootstrap}
+%patch7 -p1 -b .bootstrap
+%endif
 find . -type d|xargs chmod 755
 find . -type f|xargs chmod 644
 sed -i 's/\r//' doc/license.html
@@ -71,18 +98,19 @@ rm -rf lib/ICSharpCode.SharpZipLib.dll lib/NUnitCore.dll lib/log4net.dll lib/mon
 
 # Copy in the system libs, unless we're bootstrapping.
 %if 0%{bootstrap}
+mkdir -p bootstrap/lib/mono/2.0
+cp lib/net/1.0/* bootstrap/lib/mono/2.0
+mkdir -p bootstrap/lib/common
 # do nothing
 %else
+mkdir -p lib/mono/2.0
 cp -p %{_libdir}/mono/sharpcvslib/ICSharpCode.SharpCvsLib.dll lib/
 cp -p %{_libdir}/mono/sharpcvslib/cvs.exe lib/scvs.exe
-cp -p %{_libdir}/mono/1.0/ICSharpCode.SharpZipLib.dll lib/
+cp -p %{_libdir}/mono/2.0/ICSharpCode.SharpZipLib.dll lib/
 cp -p %{_libdir}/mono/log4net/log4net.dll lib/
-cp -p %{_libdir}/mono/ndoc/NDoc.Core.dll lib/mono/1.0/
-cp -p %{_libdir}/mono/ndoc/NDoc.Documenter.Msdn.dll lib/mono/1.0/
-cp -p %{_libdir}/mono/ndoc/NDoc.ExtendedUI.dll lib/mono/1.0/
-cp -p %{_libdir}/mono/1.0/nunit.core.dll lib/mono/1.0/
-cp -p %{_libdir}/mono/1.0/nunit.framework.dll lib/mono/1.0/
-cp -p %{_libdir}/mono/1.0/nunit.util.dll lib/mono/1.0/
+cp -p %{_libdir}/mono/2.0/nunit.core.dll lib/mono/2.0/
+cp -p %{_libdir}/mono/2.0/nunit.framework.dll lib/mono/2.0/
+cp -p %{_libdir}/mono/2.0/nunit.util.dll lib/mono/2.0/
 cp -p %{_libdir}/mono/ndoc/NDoc.Core.dll lib/mono/2.0/
 cp -p %{_libdir}/mono/ndoc/NDoc.Documenter.Msdn.dll lib/mono/2.0/
 cp -p %{_libdir}/mono/ndoc/NDoc.ExtendedUI.dll lib/mono/2.0/
@@ -98,9 +126,13 @@ make
 %install
 rm -rf %{buildroot}
 make DESTDIR=%{buildroot} install
+mv %{buildroot}%{buildroot}/* %{buildroot}/usr
+mkdir -p %{buildroot}%{_libdir}
+mv %{buildroot}/usr/%{_libdir}/* %{buildroot}%{_libdir}
 sed -i -e "s#%{buildroot}##" %{buildroot}%{_bindir}/%{name}
 find examples -name \*.dll -o -name \*.exe|xargs rm -f
 rm -rf %{buildroot}%{_datadir}/NAnt/doc
+rm -rf %{buildroot}%{buildroot}
 
 # Flush out the binary bits that we used to build, unless we're bootstrapping.
 %if 0%{bootstrap}
@@ -130,7 +162,26 @@ scrollkeeper-update -q || :
 %defattr(-,root,root,-)
 %doc examples/* doc/help/*
 
+%files devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/nant.pc
+
 %changelog
+* Tue Oct 26 2010 Paul F. Johnson <paul at all-the-johnsons.co.uk> 1:0.90-2.1
+- Fix bootstrap makefile
+
+* Mon Oct 25 2010 Paul F. Johnson <paul at all-the-johnsons.co.uk> 1:0.90-2
+- More build path fixes
+
+* Mon Oct 25 2010 Paul F. Johnson <paul at all-the-johnsons.co.uk> 1:0.90-1.1
+- Correct build paths
+
+* Thu Oct 14 2010 Paul F. Johnson <paul at all-the-johnsons.co.uk> 1:0.90-1
+- Bump to 0.90
+- Replace patch 2, fix other patches
+- Fix mono-1.0 bits
+- Add devel subpackage
+
 * Thu Feb 11 2010 Karsten Hopp <karsten at redhat.com> 1:0.85-34
 - enable builds on s390(x)
 


More information about the scm-commits mailing list