summaryrefslogtreecommitdiff
path: root/extra/monodevelop
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-04-13 04:53:33 +0000
committerroot <root@rshg047.dnsready.net>2011-04-13 04:53:33 +0000
commit6dab5c46b00f624c7900ff6d11b75bcafbe251d0 (patch)
tree3f4cd3c5e20b03bbad9955444c32083ddd92b422 /extra/monodevelop
parent28b5bbf3fee0627993658e096eadab71c2779912 (diff)
Wed Apr 13 04:53:33 UTC 2011
Diffstat (limited to 'extra/monodevelop')
-rw-r--r--extra/monodevelop/PKGBUILD13
-rw-r--r--extra/monodevelop/monodevelop_gnome3.patch101
2 files changed, 109 insertions, 5 deletions
diff --git a/extra/monodevelop/PKGBUILD b/extra/monodevelop/PKGBUILD
index 423792e15..0566a975e 100644
--- a/extra/monodevelop/PKGBUILD
+++ b/extra/monodevelop/PKGBUILD
@@ -4,22 +4,25 @@
pkgname=monodevelop
pkgver=2.4.2
-pkgrel=1
+pkgrel=2
pkgdesc="An IDE primarily designed for C# and other .NET languages"
arch=('i686' 'x86_64')
url="http://www.monodevelop.org"
license=('GPL')
-depends=('mono>=2.8.2' 'mono-addins>=0.5' 'gnome-sharp' 'gecko-sharp-2.0>=0.10' 'gnome-desktop-sharp')
-options=(!makeflags force)
+depends=('mono>=2.10.1' 'mono-addins>=0.5' 'gnome-sharp' 'gecko-sharp-2.0>=0.10')
+options=(!makeflags)
install=monodevelop.install
-source=(http://ftp.novell.com/pub/mono/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('05d20deada26a115418cb1b4526b8d15')
+source=(http://ftp.novell.com/pub/mono/sources/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ monodevelop_gnome3.patch)
+md5sums=('05d20deada26a115418cb1b4526b8d15'
+ 'fd011f41af212fe87fb9997ebf074188')
build() {
export MONO_SHARED_DIR=$srcdir/src/.wabi
mkdir -p $MONO_SHARED_DIR
cd $srcdir/$pkgname-$pkgver
+ patch -p1 < ${srcdir}/monodevelop_gnome3.patch || return 1
./configure --prefix=/usr --disable-update-mimedb --disable-update-desktopdb
make || return 1
}
diff --git a/extra/monodevelop/monodevelop_gnome3.patch b/extra/monodevelop/monodevelop_gnome3.patch
new file mode 100644
index 000000000..4ea101f6a
--- /dev/null
+++ b/extra/monodevelop/monodevelop_gnome3.patch
@@ -0,0 +1,101 @@
+diff --git a/src/addins/MonoDevelop.GtkCore/libstetic/wrapper/Object.cs b/src/addins/MonoDevelop.GtkCore/libstetic/wrapper/Object.cs
+index 4d8954c..e1a1937 100644
+--- a/src/addins/MonoDevelop.GtkCore/libstetic/wrapper/Object.cs
++++ b/src/addins/MonoDevelop.GtkCore/libstetic/wrapper/Object.cs
+@@ -1,5 +1,6 @@
+ using System;
+ using System.Collections;
++using System.Collections.Generic;
+
+ namespace Stetic.Wrapper {
+ public abstract class Object : Stetic.ObjectWrapper {
+@@ -11,17 +12,32 @@ namespace Stetic.Wrapper {
+ ((GLib.Object)Wrapped).RemoveNotification (NotifyHandler);
+ base.Dispose ();
+ }
+-
++
++ IEnumerable<string> GladePropertyNames {
++ get {
++ foreach (ItemGroup group in ClassDescriptor.ItemGroups) {
++ foreach (ItemDescriptor item in group) {
++ TypedPropertyDescriptor prop = item as TypedPropertyDescriptor;
++ if (prop != null && !string.IsNullOrEmpty (prop.GladeName)) {
++ yield return prop.GladeName;
++ }
++ }
++ }
++ }
++ }
++
+ internal protected override void OnDesignerAttach (IDesignArea designer)
+ {
+ base.OnDesignerAttach (designer);
+- ((GLib.Object)Wrapped).AddNotification (NotifyHandler);
++ foreach (string property in GladePropertyNames)
++ ((GLib.Object)Wrapped).AddNotification (property, NotifyHandler);
+ }
+
+ internal protected override void OnDesignerDetach (IDesignArea designer)
+ {
+ base.OnDesignerDetach (designer);
+- ((GLib.Object)Wrapped).RemoveNotification (NotifyHandler);
++ foreach (string property in GladePropertyNames)
++ ((GLib.Object)Wrapped).RemoveNotification (property, NotifyHandler);
+ }
+
+ public static Object Lookup (GLib.Object obj)
+
+diff --git a/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs b/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs
+index 89f04b5..75d7b17 100644
+--- a/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs
++++ b/src/core/MonoDevelop.Ide/MonoDevelop.Components.Commands/CommandManager.cs
+@@ -1540,22 +1540,39 @@ namespace MonoDevelop.Components.Commands
+ internal class ToolbarTracker
+ {
+ Gtk.IconSize lastSize;
+-
++
+ public void Track (Gtk.Toolbar toolbar)
+ {
+ lastSize = toolbar.IconSize;
+- toolbar.AddNotification (OnToolbarPropChanged);
++ toolbar.AddNotification ("icon-size", IconSizeChanged);
++ toolbar.OrientationChanged += HandleToolbarOrientationChanged;
++ toolbar.StyleChanged += HandleToolbarStyleChanged;
++
+ toolbar.Destroyed += delegate {
+- toolbar.RemoveNotification (OnToolbarPropChanged);
++ toolbar.StyleChanged -= HandleToolbarStyleChanged;
++ toolbar.OrientationChanged -= HandleToolbarOrientationChanged;
++ toolbar.RemoveNotification ("icon-size", IconSizeChanged);
+ };
+ }
+-
+- void OnToolbarPropChanged (object ob, GLib.NotifyArgs args)
++
++ void HandleToolbarStyleChanged (object o, Gtk.StyleChangedArgs args)
+ {
+- Gtk.Toolbar t = (Gtk.Toolbar) ob;
+- if (lastSize != t.IconSize || args.Property == "orientation" || args.Property == "toolbar-style")
++ Gtk.Toolbar t = (Gtk.Toolbar) o;
++ if (lastSize != t.IconSize)
+ UpdateCustomItems (t);
+- lastSize = t.IconSize;
++ }
++
++ void HandleToolbarOrientationChanged (object o, Gtk.OrientationChangedArgs args)
++ {
++ Gtk.Toolbar t = (Gtk.Toolbar) o;
++ if (lastSize != t.IconSize)
++ UpdateCustomItems (t);
++ }
++
++ void IconSizeChanged (object o, GLib.NotifyArgs args)
++ {
++ this.lastSize = ((Gtk.Toolbar) o).IconSize;
++ UpdateCustomItems ((Gtk.Toolbar) o);
+ }
+
+ void UpdateCustomItems (Gtk.Toolbar t)
+