[Pkg-cli-apps-commits] [SCM] monodevelop branch, master-experimental, updated. debian/2.6+dfsg-1-10-gdfdeb30

Jo Shields directhex at apebox.org
Tue Nov 8 01:30:39 UTC 2011


The following commit has been merged in the master-experimental branch:
commit 0c50f481ba76f637de6305e9994a8147d8b13577
Author: Gleb Golubitsky <sectoid at gnolltech.org>
Date:   Mon Oct 31 02:26:25 2011 +0200

    Removing dependency to non-present lib libobjc.dylib
    
    Signed-off-by: Gleb Golubitsky <sectoid at gnolltech.org>

diff --git a/debian/patches/remove-libobjc-dylib-dep.patch b/debian/patches/remove-libobjc-dylib-dep.patch
new file mode 100644
index 0000000..66d3913
--- /dev/null
+++ b/debian/patches/remove-libobjc-dylib-dep.patch
@@ -0,0 +1,139 @@
+index 0b8ceb6..1fdcd9e 100644
+--- a/src/core/Mono.Texteditor/Mono.TextEditor/GtkWorkarounds.cs
++++ b/src/core/Mono.Texteditor/Mono.TextEditor/GtkWorkarounds.cs
+@@ -32,29 +32,6 @@ namespace Mono.TextEditor
+ {
+ 	public static class GtkWorkarounds
+ 	{
+-		const string LIBOBJC ="/usr/lib/libobjc.dylib";
+-		
+-		[DllImport (LIBOBJC, EntryPoint = "sel_registerName")]
+-		static extern IntPtr sel_registerName (string selector);
+-		
+-		[DllImport (LIBOBJC, EntryPoint = "objc_getClass")]
+-		static extern IntPtr objc_getClass (string klass);
+-		
+-		[DllImport (LIBOBJC, EntryPoint = "objc_msgSend")]
+-		static extern IntPtr objc_msgSend_IntPtr (IntPtr klass, IntPtr selector);
+-		
+-		[DllImport (LIBOBJC, EntryPoint = "objc_msgSend")]
+-		static extern void objc_msgSend_void_bool (IntPtr klass, IntPtr selector, bool arg);
+-		
+-		[DllImport (LIBOBJC, EntryPoint = "objc_msgSend")]
+-		static extern bool objc_msgSend_bool (IntPtr klass, IntPtr selector);
+-		
+-		[DllImport (LIBOBJC, EntryPoint = "objc_msgSend")]
+-		static extern bool objc_msgSend_int_int (IntPtr klass, IntPtr selector, int arg);
+-		
+-		[DllImport (LIBOBJC, EntryPoint = "objc_msgSend_stret")]
+-		static extern void objc_msgSend_RectangleF (out RectangleF rect, IntPtr klass, IntPtr selector);
+-		
+ 		static IntPtr cls_NSScreen;
+ 		static IntPtr sel_screens, sel_objectEnumerator, sel_nextObject, sel_frame, sel_visibleFrame,
+ 			sel_activateIgnoringOtherApps, sel_isActive, sel_requestUserAttention;
+@@ -69,10 +46,6 @@ namespace Mono.TextEditor
+ 		
+ 		static GtkWorkarounds ()
+ 		{
+-			if (Platform.IsMac) {
+-				InitMac ();
+-			}
+-			
+ 			var flags = System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic;
+ 			glibObjectSetProp = typeof (GLib.Object).GetMethod ("SetProperty", flags);
+ 			glibObjectGetProp = typeof (GLib.Object).GetMethod ("GetProperty", flags);
+@@ -84,94 +57,19 @@ namespace Mono.TextEditor
+ 				}
+ 			}
+ 		}
+-
+-		static void InitMac ()
+-		{
+-			cls_NSScreen = objc_getClass ("NSScreen");
+-			sel_screens = sel_registerName ("screens");
+-			sel_objectEnumerator = sel_registerName ("objectEnumerator");
+-			sel_nextObject = sel_registerName ("nextObject");
+-			sel_visibleFrame = sel_registerName ("visibleFrame");
+-			sel_frame = sel_registerName ("frame");
+-			sel_activateIgnoringOtherApps = sel_registerName ("activateIgnoringOtherApps:");
+-			sel_isActive = sel_registerName ("isActive");
+-			sel_requestUserAttention = sel_registerName ("requestUserAttention:");
+-			sharedApp = objc_msgSend_IntPtr (objc_getClass ("NSApplication"), sel_registerName ("sharedApplication"));
+-		}
+-		
+-		static Gdk.Rectangle MacGetUsableMonitorGeometry (Gdk.Screen screen, int monitor)
+-		{
+-			IntPtr array = objc_msgSend_IntPtr (cls_NSScreen, sel_screens);
+-			IntPtr iter = objc_msgSend_IntPtr (array, sel_objectEnumerator);
+-			RectangleF visible, frame;
+-			IntPtr scrn;
+-			int i = 0;
+-			
+-			while ((scrn = objc_msgSend_IntPtr (iter, sel_nextObject)) != IntPtr.Zero && i < monitor)
+-				i++;
+-			
+-			if (scrn == IntPtr.Zero)
+-				return screen.GetMonitorGeometry (monitor);
+-			
+-			objc_msgSend_RectangleF (out visible, scrn, sel_visibleFrame);
+-			objc_msgSend_RectangleF (out frame, scrn, sel_frame);
+-			
+-			// VisibleFrame.Y is the height of the Dock if it is at the bottom of the screen, so in order
+-			// to get the menu height, we just figure out the difference between the visibleFrame height
+-			// and the actual frame height, then subtract the Dock height.
+-			//
+-			// We need to swap the Y offset with the menu height because our callers expect the Y offset
+-			// to be from the top of the screen, not from the bottom of the screen.
+-			float x, y, width, height;
+-			
+-			if (visible.Height < frame.Height) {
+-				float dockHeight = visible.Y;
+-				float menubarHeight = (frame.Height - visible.Height) - dockHeight;
+-				
+-				height = frame.Height - menubarHeight - dockHeight;
+-				y = menubarHeight;
+-			} else {
+-				height = frame.Height;
+-				y = frame.Y;
+-			}
+-			
+-			// Takes care of the possibility of the Dock being positioned on the left or right edge of the screen.
+-			width = System.Math.Min (visible.Width, frame.Width);
+-			x = System.Math.Max (visible.X, frame.X);
+-			
+-			return new Gdk.Rectangle ((int) x, (int) y, (int) width, (int) height);
+-		}
+-		
+-		static void MacRequestAttention (bool critical)
+-		{
+-			int kind = critical?  NSCriticalRequest : NSInformationalRequest;
+-			objc_msgSend_int_int (sharedApp, sel_requestUserAttention, kind);
+-		}
+-		
+ 		public static Gdk.Rectangle GetUsableMonitorGeometry (this Gdk.Screen screen, int monitor)
+ 		{
+-			if (Platform.IsMac)
+-				return MacGetUsableMonitorGeometry (screen, monitor);
+-			
+ 			return screen.GetMonitorGeometry (monitor);
+ 		}
+ 		
+ 		public static int RunDialogWithNotification (Gtk.Dialog dialog)
+ 		{
+-			if (Platform.IsMac)
+-				MacRequestAttention (dialog.Modal);
+-			
+ 			return dialog.Run ();
+ 		}
+ 		
+ 		public static void PresentWindowWithNotification (this Gtk.Window window)
+ 		{
+ 			window.Present ();
+-			
+-			if (Platform.IsMac) {
+-				var dialog = window as Gtk.Dialog;
+-				MacRequestAttention (dialog == null? false : dialog.Modal);
+-			}
+ 		}
+ 		
+ 		public static GLib.Value GetProperty (this GLib.Object obj, string name)
diff --git a/debian/patches/series b/debian/patches/series
index e73c65f..330707b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -16,3 +16,4 @@ use_csc.patch
 #remove_support_for_soft_debugger.patch
 remove_support_for_moonlight.patch
 no_appmenu
+remove-libobjc-dylib-dep.patch
\ No newline at end of file

-- 
monodevelop



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