[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