diff options
Diffstat (limited to 'extra/gnome-sharp')
-rw-r--r-- | extra/gnome-sharp/02_fix_pkg-config_paths.patch | 49 | ||||
-rw-r--r-- | extra/gnome-sharp/04_initialize_dbus_glib_threading.patch | 51 | ||||
-rw-r--r-- | extra/gnome-sharp/PKGBUILD | 14 |
3 files changed, 110 insertions, 4 deletions
diff --git a/extra/gnome-sharp/02_fix_pkg-config_paths.patch b/extra/gnome-sharp/02_fix_pkg-config_paths.patch new file mode 100644 index 000000000..d8e239032 --- /dev/null +++ b/extra/gnome-sharp/02_fix_pkg-config_paths.patch @@ -0,0 +1,49 @@ +## 02_fix_pkg-config_paths.dpatch by Mirco Bauer <meebey@debian.org> +## +## Modified by Archlinux: removed libdir change + +diff -urNad gnome-sharp-2.24.1~/art/art-sharp-2.0.pc.in gnome-sharp-2.24.1/art/art-sharp-2.0.pc.in +--- gnome-sharp-2.24.1~/art/art-sharp-2.0.pc.in 2009-03-21 19:02:54.000000000 +0100 ++++ gnome-sharp-2.24.1/art/art-sharp-2.0.pc.in 2009-03-21 19:03:32.000000000 +0100 +@@ -1,4 +1,4 @@ +-prefix=${pcfiledir}/../.. ++prefix=@prefix@ + exec_prefix=${prefix} + libdir=${exec_prefix}/lib + gapidir=${prefix}/share/gapi-2.0 +diff -urNad gnome-sharp-2.24.1~/gconf/GConf/gconf-sharp-2.0.pc.in gnome-sharp-2.24.1/gconf/GConf/gconf-sharp-2.0.pc.in +--- gnome-sharp-2.24.1~/gconf/GConf/gconf-sharp-2.0.pc.in 2009-03-21 19:02:54.000000000 +0100 ++++ gnome-sharp-2.24.1/gconf/GConf/gconf-sharp-2.0.pc.in 2009-03-21 19:03:26.000000000 +0100 +@@ -1,4 +1,4 @@ +-prefix=${pcfiledir}/../.. ++prefix=@prefix@ + exec_prefix=${prefix} + libdir=${exec_prefix}/lib + +diff -urNad gnome-sharp-2.24.1~/gconf/GConf.PropertyEditors/gconf-sharp-peditors-2.0.pc.in gnome-sharp-2.24.1/gconf/GConf.PropertyEditors/gconf-sharp-peditors-2.0.pc.in +--- gnome-sharp-2.24.1~/gconf/GConf.PropertyEditors/gconf-sharp-peditors-2.0.pc.in 2009-03-21 19:02:54.000000000 +0100 ++++ gnome-sharp-2.24.1/gconf/GConf.PropertyEditors/gconf-sharp-peditors-2.0.pc.in 2009-03-21 19:03:20.000000000 +0100 +@@ -1,4 +1,4 @@ +-prefix=${pcfiledir}/../.. ++prefix=@prefix@ + exec_prefix=${prefix} + libdir=${exec_prefix}/lib + +diff -urNad gnome-sharp-2.24.1~/gnome/gnome-sharp-2.0.pc.in gnome-sharp-2.24.1/gnome/gnome-sharp-2.0.pc.in +--- gnome-sharp-2.24.1~/gnome/gnome-sharp-2.0.pc.in 2009-03-21 19:02:54.000000000 +0100 ++++ gnome-sharp-2.24.1/gnome/gnome-sharp-2.0.pc.in 2009-03-21 19:03:07.000000000 +0100 +@@ -1,4 +1,4 @@ +-prefix=${pcfiledir}/../.. ++prefix=@prefix@ + exec_prefix=${prefix} + libdir=${exec_prefix}/lib + gapidir=${prefix}/share/gapi-2.0 +diff -urNad gnome-sharp-2.24.1~/gnomevfs/gnome-vfs-sharp-2.0.pc.in gnome-sharp-2.24.1/gnomevfs/gnome-vfs-sharp-2.0.pc.in +--- gnome-sharp-2.24.1~/gnomevfs/gnome-vfs-sharp-2.0.pc.in 2009-03-21 19:02:54.000000000 +0100 ++++ gnome-sharp-2.24.1/gnomevfs/gnome-vfs-sharp-2.0.pc.in 2009-03-21 19:03:12.000000000 +0100 +@@ -1,4 +1,4 @@ +-prefix=${pcfiledir}/../.. ++prefix=@prefix@ + exec_prefix=${prefix} + libdir=${exec_prefix}/lib + gapidir=${prefix}/share/gapi-2.0 diff --git a/extra/gnome-sharp/04_initialize_dbus_glib_threading.patch b/extra/gnome-sharp/04_initialize_dbus_glib_threading.patch new file mode 100644 index 000000000..a7f841718 --- /dev/null +++ b/extra/gnome-sharp/04_initialize_dbus_glib_threading.patch @@ -0,0 +1,51 @@ +From e9d06b56a54dcd399d1d3eaaf62bdacb7e07084d Mon Sep 17 00:00:00 2001 +From: Mirco Bauer <meebey@meebey.net> +Date: Sat, 2 Mar 2013 13:44:46 +0100 +Subject: [PATCH] Explicitly initialize D-Bus GLib threading + +When gconf was switched from orbit to dbus it was no longer thread-safe by +default. This behavior can only get back by explicitly initializing dbus-glib's +threads. This issue affects multi-threaded GConf# users like Banshee leading +them to SEGVs. + +For more details see: +https://bugzilla.gnome.org/show_bug.cgi?id=683830 +--- + gconf/GConf/Client.cs | 11 +++++++++++ + gconf/GConf/gconf-sharp.dll.config.in | 1 + + 2 files changed, 12 insertions(+) + +diff --git a/gconf/GConf/Client.cs b/gconf/GConf/Client.cs +index b8cc881..64efc9f 100644 +--- a/gconf/GConf/Client.cs ++++ b/gconf/GConf/Client.cs +@@ -31,6 +31,17 @@ namespace GConf + [DllImport("gconf-2")] + static extern IntPtr gconf_client_get_default (); + ++ [DllImport("dbus-glib-1")] ++ static extern void dbus_g_thread_init (); ++ ++ static Client () ++ { ++ // HACK: we have to initialize dbus' threading else GConf with its ++ // dbus backend will not be thread safe and SEGVs in our face, see: ++ // https://bugzilla.gnome.org/show_bug.cgi?id=683830 ++ dbus_g_thread_init(); ++ } ++ + public Client () + { + Initialize (); +diff --git a/gconf/GConf/gconf-sharp.dll.config.in b/gconf/GConf/gconf-sharp.dll.config.in +index 9fb7d15..f20ddae 100644 +--- a/gconf/GConf/gconf-sharp.dll.config.in ++++ b/gconf/GConf/gconf-sharp.dll.config.in +@@ -1,3 +1,4 @@ + <configuration> + <dllmap dll="gconf-2" target="libgconf-2@LIB_PREFIX@.4@LIB_SUFFIX@"/> ++ <dllmap dll="dbus-glib-1" target="libdbus-glib-1@LIB_PREFIX@.2@LIB_SUFFIX@"/> + </configuration> +-- +1.7.10.4 + diff --git a/extra/gnome-sharp/PKGBUILD b/extra/gnome-sharp/PKGBUILD index 33518bbfe..988ecf5da 100644 --- a/extra/gnome-sharp/PKGBUILD +++ b/extra/gnome-sharp/PKGBUILD @@ -1,17 +1,21 @@ -# $Id: PKGBUILD 148756 2012-02-05 11:49:19Z ibiru $ +# $Id: PKGBUILD 179961 2013-03-13 13:55:50Z jgc $ # Maintainer: tobias <tobias@archlinux.org> pkgbase=gnome-sharp pkgname=('gnome-sharp' 'art-sharp' 'gconf-sharp' 'gconf-sharp-peditors' 'libgnome-sharp' 'gnome-vfs-sharp') pkgver=2.24.2 -pkgrel=2 +pkgrel=3 arch=(i686 x86_64) license=(LGPL) url="http://gtk-sharp.sourceforge.net" makedepends=('gtk-sharp-2' 'libgnomeui' 'monodoc') options=('!libtool') -source=(http://ftp.gnome.org/pub/gnome/sources/gnome-sharp/2.24/${pkgbase}-${pkgver}.tar.bz2) -md5sums=('3b38f53960c736d4afb8f04204efe98b') +source=(http://ftp.gnome.org/pub/gnome/sources/gnome-sharp/2.24/${pkgbase}-${pkgver}.tar.bz2 + 02_fix_pkg-config_paths.patch + 04_initialize_dbus_glib_threading.patch) +md5sums=('3b38f53960c736d4afb8f04204efe98b' + 'a8c1bf57a384f5fc20a5890f9f1cef5a' + '90cd7ea88aaa3011522376153433d115') build() { # get rid of that .wapi errors; thanks to brice @@ -19,6 +23,8 @@ build() { mkdir -p "${MONO_SHARED_DIR}" cd "${srcdir}/${pkgbase}-${pkgver}" + patch -Np1 -i ../04_initialize_dbus_glib_threading.patch + patch -Np1 -i ../02_fix_pkg-config_paths.patch ./configure --prefix=/usr --sysconfdir=/etc make } |