[monodevelop-boo] API fix. I think.

Tom Callaway spot at fedoraproject.org
Tue May 17 14:41:49 UTC 2011


commit 09b1f9184e35a6c1fc94e20f5afeb25343e0f6b9
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date:   Tue May 17 10:41:33 2011 -0400

    API fix. I think.

 monodevelop-boo-2.4-API-fix.patch |   43 +++++++++++++++++++++++++++++++++++++
 monodevelop-boo.spec              |    8 ++++++-
 2 files changed, 50 insertions(+), 1 deletions(-)
---
diff --git a/monodevelop-boo-2.4-API-fix.patch b/monodevelop-boo-2.4-API-fix.patch
new file mode 100644
index 0000000..38fbc9d
--- /dev/null
+++ b/monodevelop-boo-2.4-API-fix.patch
@@ -0,0 +1,43 @@
+diff -up monodevelop-boo-2.4/BooShell/BooShell.boo.BAD monodevelop-boo-2.4/BooShell/BooShell.boo
+--- monodevelop-boo-2.4/BooShell/BooShell.boo.BAD	2011-05-17 10:10:08.113445030 -0400
++++ monodevelop-boo-2.4/BooShell/BooShell.boo	2011-05-17 10:15:06.593328242 -0400
+@@ -30,7 +30,8 @@ import Gtk
+ import MonoDevelop.Core.Execution;
+ 
+ class BooShell (RemoteProcessObject):
+-	private _interpreter = InteractiveInterpreter(RememberLastValue: true, Print: print)
++	private _interpreter = InteractiveInterpreter(RememberLastValue: true)
++	private _console = InteractiveInterpreterConsole(_interpreter)
+ 
+ 	private _commandQueue = Queue()
+ 	private _outputQueue = Queue()
+@@ -49,6 +50,11 @@ class BooShell (RemoteProcessObject):
+ 	def LoadAssembly (assemblyPath as string) as bool:
+ 		EnqueueCommand (ShellCommand (ShellCommandType.Load, assemblyPath))
+ 		return true
++
++	def ConsoleLoopEval(code as string):
++		using console=ConsoleCapture():
++			_console.Eval(code)
++		return console.ToString()
+ 	
+ 	References as IList:
+ 		get:
+@@ -107,7 +113,7 @@ class BooShell (RemoteProcessObject):
+ 			if com.Type == ShellCommandType.Eval:
+ 				if com.Data is not null:
+ 					try:
+-						_interpreter.LoopEval(com.Data)
++						ConsoleLoopEval(com.Data)
+ 					except e:
+ 						// Sanitize stack trace to not show method calls
+ 						// from the boo interpreter
+@@ -127,7 +133,7 @@ class BooShell (RemoteProcessObject):
+ 				_interpreter.Reset()
+ 			elif com.Type == ShellCommandType.Load:
+ 				if com.Data is not null:
+-					_interpreter.load(com.Data)
++					_console.Load(com.Data)
+ 
+ 			Monitor.Exit(_interpreter)
+ 
diff --git a/monodevelop-boo.spec b/monodevelop-boo.spec
index b8b2aa6..cff8ee5 100644
--- a/monodevelop-boo.spec
+++ b/monodevelop-boo.spec
@@ -4,10 +4,12 @@
 Summary:	      MonoDevelop Boo Add-in
 Name:		      monodevelop-boo
 Version:	      2.4
-Release:	      5%{?dist}
+Release:	      6%{?dist}
 License:	      GPLv2+
 Group:		      Development/Tools
 Source:		      http://ftp.novell.com/pub/mono/sources/%{name}/%{name}-%{version}.tar.bz2
+# I'm not 100% sure this is correct, because of poor documentation, but it compiles.
+Patch0:               monodevelop-boo-2.4-API-fix.patch
 URL:		      http://www.monodevelop.com/
 BuildRoot:	      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)  
 BuildRequires:	      mono-devel >= 2.6 boo-devel monodevelop-devel >= 2.4 mono-addins-devel 
@@ -32,6 +34,7 @@ files for %{name}.
 
 %prep
 %setup -q
+%patch0 -p1
 sed -i -e 's!@prefix@/lib/!%{_libdir}/!g' monodevelop-boo.pc.in
 sed -i -e 's!@prefix@/lib/!%{_libdir}/!g' Makefile.include
 sed -i -e 's!$(prefix)/lib/!%{_libdir}/!g' BooBinding.make
@@ -73,6 +76,9 @@ rm -rf %{buildroot}
 %{_libdir}/pkgconfig/monodevelop-boo.pc
 
 %changelog
+* Tue May 17 2011 Tom Callaway <spot at fedoraproject.org> - 2.4-6
+- fix code against newer boo
+
 * Thu May 05 2011 Christian Krause <chkr at fedoraproject.org> - 2.4-5
 - Rebuilt against mono 2.10.1
 


More information about the scm-commits mailing list