diff options
-rw-r--r-- | nonprism/banshee/PKGBUILD | 12 | ||||
-rw-r--r-- | nonprism/banshee/Remove-IDBusExportable-inheritance-from-exported-int.patch | 132 | ||||
-rw-r--r-- | nonprism/banshee/Use-dbus-2.patch | 66 |
3 files changed, 207 insertions, 3 deletions
diff --git a/nonprism/banshee/PKGBUILD b/nonprism/banshee/PKGBUILD index 249e4cbcb..0b579dad1 100644 --- a/nonprism/banshee/PKGBUILD +++ b/nonprism/banshee/PKGBUILD @@ -5,7 +5,7 @@ pkgname=banshee pkgver=2.6.2 -pkgrel=6.nonprism1 +pkgrel=7.nonprism1 pkgdesc="Music management and playback for GNOME, without gdata-sharp support" arch=('i686' 'x86_64' 'mips64el') url="http://banshee.fm/" @@ -23,13 +23,17 @@ source=(http://download.gnome.org/sources/$pkgname/2.6/$pkgname-$pkgver.tar.xz Remove-build-time-enable-gapless-playback-option.patch Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch - sqlite_fix.patch) + sqlite_fix.patch + Remove-IDBusExportable-inheritance-from-exported-int.patch + Use-dbus-2.patch) md5sums=('12dbb8a996783f7081d538062a8589b7' '16cbe2ef60e6f9b22015585bb3209648' '0bf7ee4241b12538779c9ecc401d142a' 'f87534f54029794bd7be2a123ab01300' 'd092827720e4a11549587eb3131123ae' - '72ca131b950d58998fd9286fad722ed7') + '72ca131b950d58998fd9286fad722ed7' + '3b28f10e167c0aae27157dcc3b828b67' + '2c4436f7aba58fdd0c5a38d709d73e5c') prepare() { cd $pkgname-$pkgver @@ -38,6 +42,8 @@ prepare() { patch -p1 -i ../Don-t-use-the-new-decoded-pad-signal-of-decodebin.patch patch -p1 -i ../Use-new-style-GStreamer-1.0-raw-audio-caps-in-the-WA.patch patch -p1 -i ../sqlite_fix.patch + patch -p1 -i ../Remove-IDBusExportable-inheritance-from-exported-int.patch + patch -p1 -i ../Use-dbus-2.patch } build() { diff --git a/nonprism/banshee/Remove-IDBusExportable-inheritance-from-exported-int.patch b/nonprism/banshee/Remove-IDBusExportable-inheritance-from-exported-int.patch new file mode 100644 index 000000000..9f3809421 --- /dev/null +++ b/nonprism/banshee/Remove-IDBusExportable-inheritance-from-exported-int.patch @@ -0,0 +1,132 @@ +From: Chow Loong Jin <hyperair@debian.org> +Date: Sat, 1 Mar 2014 15:52:39 +0800 +Subject: Remove IDBusExportable inheritance from exported interfaces + +This fixes the crashes when attempting to control an existing instance of +Banshee using the command-line interface. + +Bug-Debian: #731978 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=725446 +--- + src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs | 2 +- + src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs | 2 +- + .../Banshee.PlaybackController/IPlaybackControllerService.cs | 2 +- + .../Banshee.PlaybackController/PlaybackControllerService.cs | 4 ++-- + src/Core/Banshee.Services/Banshee.Sources/ISourceManager.cs | 2 +- + src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs | 2 +- + src/Core/Banshee.ThickClient/Banshee.Gui/IClientWindow.cs | 2 +- + src/Core/Banshee.ThickClient/Banshee.Gui/IGlobalUIActions.cs | 4 ++-- + 8 files changed, 10 insertions(+), 10 deletions(-) + +diff --git a/src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs b/src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs +index fc935ac..f29cfa5 100644 +--- a/src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs ++++ b/src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs +@@ -35,7 +35,7 @@ using Banshee.ServiceStack; + namespace Banshee.MediaEngine + { + [Interface("org.bansheeproject.Banshee.PlayerEngine")] +- public interface IPlayerEngineService : IDBusExportable ++ public interface IPlayerEngineService + { + event DBusPlayerEventHandler EventChanged; + event DBusPlayerStateHandler StateChanged; +diff --git a/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs b/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs +index 793b9cd..83cbe67 100644 +--- a/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs ++++ b/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs +@@ -51,7 +51,7 @@ namespace Banshee.MediaEngine + public delegate bool TrackInterceptHandler (TrackInfo track); + + public class PlayerEngineService : IInitializeService, IDelayedInitializeService, +- IRequiredService, IPlayerEngineService, IDisposable ++ IRequiredService, IPlayerEngineService, IDBusExportable, IDisposable + { + private List<PlayerEngine> engines = new List<PlayerEngine> (); + private PlayerEngine active_engine; +diff --git a/src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackControllerService.cs b/src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackControllerService.cs +index deb1feb..a764272 100644 +--- a/src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackControllerService.cs ++++ b/src/Core/Banshee.Services/Banshee.PlaybackController/IPlaybackControllerService.cs +@@ -36,7 +36,7 @@ namespace Banshee.PlaybackController + public delegate void PlaybackControllerStoppedHandler (); + + [Interface ("org.bansheeproject.Banshee.PlaybackController")] +- public interface IPlaybackControllerService : IDBusExportable ++ public interface IPlaybackControllerService + { + // FIXME: IPlaybackControllerExportable : IPlaybackController + // but DBus-Sharp has a design flaw where it only exports +diff --git a/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs b/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs +index 1b8020f..af700a6 100644 +--- a/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs ++++ b/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs +@@ -38,8 +38,8 @@ using Banshee.MediaEngine; + + namespace Banshee.PlaybackController + { +- public class PlaybackControllerService : IRequiredService, ICanonicalPlaybackController, +- IPlaybackController, IPlaybackControllerService ++ public class PlaybackControllerService : IDBusExportable, IRequiredService, ++ ICanonicalPlaybackController, IPlaybackController, IPlaybackControllerService + { + private enum Direction + { +diff --git a/src/Core/Banshee.Services/Banshee.Sources/ISourceManager.cs b/src/Core/Banshee.Services/Banshee.Sources/ISourceManager.cs +index 18203c7..4cfc697 100644 +--- a/src/Core/Banshee.Services/Banshee.Sources/ISourceManager.cs ++++ b/src/Core/Banshee.Services/Banshee.Sources/ISourceManager.cs +@@ -36,7 +36,7 @@ using Banshee.ServiceStack; + namespace Banshee.Sources + { + [Interface("org.bansheeproject.Banshee.SourceManager")] +- public interface ISourceManager : IDBusExportable ++ public interface ISourceManager + { + //event SourceEventHandler SourceUpdated; + ISource ActiveSource { get; set; } +diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs +index 48d10bc..1a33a2b 100644 +--- a/src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs ++++ b/src/Core/Banshee.ThickClient/Banshee.Gui/GlobalActions.cs +@@ -40,7 +40,7 @@ using Banshee.Playlist; + + namespace Banshee.Gui + { +- public class GlobalActions : BansheeActionGroup, IGlobalUIActions ++ public class GlobalActions : BansheeActionGroup, IGlobalUIActions, IDBusExportable + { + public GlobalActions () : base ("Global") + { +diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/IClientWindow.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/IClientWindow.cs +index 1d693b1..77604f7 100644 +--- a/src/Core/Banshee.ThickClient/Banshee.Gui/IClientWindow.cs ++++ b/src/Core/Banshee.ThickClient/Banshee.Gui/IClientWindow.cs +@@ -34,7 +34,7 @@ using Banshee.ServiceStack; + namespace Banshee.Gui + { + [Interface ("org.bansheeproject.Banshee.ClientWindow")] +- public interface IClientWindow : IDBusExportable ++ public interface IClientWindow + { + void Present (); + void Hide (); +diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/IGlobalUIActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/IGlobalUIActions.cs +index 34124c5..e9a53d0 100644 +--- a/src/Core/Banshee.ThickClient/Banshee.Gui/IGlobalUIActions.cs ++++ b/src/Core/Banshee.ThickClient/Banshee.Gui/IGlobalUIActions.cs +@@ -32,11 +32,11 @@ using Banshee.ServiceStack; + namespace Banshee.Gui + { + [Interface ("org.bansheeproject.Banshee.GlobalUIActions")] +- public interface IGlobalUIActions : IDBusExportable ++ public interface IGlobalUIActions + { + void ShowImportDialog (); + void ShowAboutDialog (); + void ShowOpenLocationDialog (); + void ShowPreferencesDialog (); + } +-} +\ No newline at end of file ++} diff --git a/nonprism/banshee/Use-dbus-2.patch b/nonprism/banshee/Use-dbus-2.patch new file mode 100644 index 000000000..9ce676446 --- /dev/null +++ b/nonprism/banshee/Use-dbus-2.patch @@ -0,0 +1,66 @@ +From: Chow Loong Jin <hyperair@debian.org> +Date: Mon, 25 Nov 2013 01:18:19 +0800 +Subject: Use dbus# 2 + +--- + build/m4/banshee/dbus.m4 | 4 ++-- + build/pkg-config/banshee-collection-indexer.pc.in | 2 +- + build/pkg-config/banshee-core.pc.in | 2 +- + src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs | 5 +---- + 4 files changed, 5 insertions(+), 8 deletions(-) + +diff --git a/build/m4/banshee/dbus.m4 b/build/m4/banshee/dbus.m4 +index 3b8579e..f76ff8c 100644 +--- a/build/m4/banshee/dbus.m4 ++++ b/build/m4/banshee/dbus.m4 +@@ -1,9 +1,9 @@ + AC_DEFUN([BANSHEE_CHECK_DBUS_SHARP], + [ +- PKG_CHECK_MODULES(DBUS_SHARP_GLIB, dbus-sharp-glib-1.0 >= 0.5) ++ PKG_CHECK_MODULES(DBUS_SHARP_GLIB, dbus-sharp-glib-2.0 >= 0.5) + AC_SUBST(DBUS_SHARP_GLIB_LIBS) + +- PKG_CHECK_MODULES(DBUS_SHARP, dbus-sharp-1.0 >= 0.7) ++ PKG_CHECK_MODULES(DBUS_SHARP, dbus-sharp-2.0 >= 0.7) + AC_SUBST(DBUS_SHARP_LIBS) + ]) + +diff --git a/build/pkg-config/banshee-collection-indexer.pc.in b/build/pkg-config/banshee-collection-indexer.pc.in +index 40636bb..a12b03c 100644 +--- a/build/pkg-config/banshee-collection-indexer.pc.in ++++ b/build/pkg-config/banshee-collection-indexer.pc.in +@@ -7,6 +7,6 @@ Libraries=${bansheedir}/Banshee.CollectionIndexer.dll + Name: Banshee Collection Indexer Helper + Description: A library for applications to bundle to easily consume the Banshee Collection Indexer + Version: @VERSION@ +-Requires: dbus-sharp-1.0 ++Requires: dbus-sharp-2.0 + Libs: -r:${Libraries} + +diff --git a/build/pkg-config/banshee-core.pc.in b/build/pkg-config/banshee-core.pc.in +index 9d4c3b9..c217dd8 100644 +--- a/build/pkg-config/banshee-core.pc.in ++++ b/build/pkg-config/banshee-core.pc.in +@@ -6,5 +6,5 @@ bansheedir=${libdir}/@PACKAGE@ + Name: Banshee Core + Description: Core APIs for the Banshee Media Framework + Version: @VERSION@ +-Requires: taglib-sharp dbus-sharp-1.0 dbus-sharp-glib-1.0 glib-sharp-2.0 mono-addins banshee-hyena banshee-hyena-data-sqlite banshee-musicbrainz ++Requires: taglib-sharp dbus-sharp-2.0 dbus-sharp-glib-2.0 glib-sharp-2.0 mono-addins banshee-hyena banshee-hyena-data-sqlite banshee-musicbrainz + Libs: -r:${bansheedir}/Banshee.Core.dll +diff --git a/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs b/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs +index 698cf02..96e3996 100644 +--- a/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs ++++ b/src/Core/Banshee.Services/Banshee.ServiceStack/DBusServiceManager.cs +@@ -135,10 +135,7 @@ namespace Banshee.ServiceStack + string bus_name = DBusConnection.MakeBusName (serviceName); + + Log.DebugFormat ("Registering remote object {0} ({1}) on {2}", path, o.GetType (), bus_name); +- +- #pragma warning disable 0618 +- Bus.Session.Register (bus_name, path, o); +- #pragma warning restore 0618 ++ Bus.Session.Register (path, o); + } + + return path; |