summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2012-03-26 09:09:54 +0000
committerPacho Ramos <pacho@gentoo.org>2012-03-26 09:09:54 +0000
commitadd34b540dd64df7eee05a62b126c8ef1d17408e (patch)
tree374988c57a94537a166d29afd4561873afaabd9d /media-sound/banshee
parentVersion bump. Compatible with ghc-7.4 (noticed by xvilka). (diff)
downloadgentoo-2-add34b540dd64df7eee05a62b126c8ef1d17408e.tar.gz
gentoo-2-add34b540dd64df7eee05a62b126c8ef1d17408e.tar.bz2
gentoo-2-add34b540dd64df7eee05a62b126c8ef1d17408e.zip
Fix UPnP crash and build with libgpod-sharp-0.8.2 (#409597 by Bjoern Ottervik).
(Portage version: 2.1.10.51/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/banshee')
-rw-r--r--media-sound/banshee/ChangeLog10
-rw-r--r--media-sound/banshee/banshee-2.4.0-r1.ebuild (renamed from media-sound/banshee/banshee-2.4.0.ebuild)10
-rw-r--r--media-sound/banshee/files/banshee-2.4.0-libgpod-082.patch32
-rw-r--r--media-sound/banshee/files/banshee-2.4.0-upnp-crash.patch27
4 files changed, 76 insertions, 3 deletions
diff --git a/media-sound/banshee/ChangeLog b/media-sound/banshee/ChangeLog
index 7786b45f1c1c..a1ac8b6adaca 100644
--- a/media-sound/banshee/ChangeLog
+++ b/media-sound/banshee/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for media-sound/banshee
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/banshee/ChangeLog,v 1.146 2012/03/24 10:11:30 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/banshee/ChangeLog,v 1.147 2012/03/26 09:09:54 pacho Exp $
+
+*banshee-2.4.0-r1 (26 Mar 2012)
+
+ 26 Mar 2012; Pacho Ramos <pacho@gentoo.org> +banshee-2.4.0-r1.ebuild,
+ +files/banshee-2.4.0-libgpod-082.patch, +files/banshee-2.4.0-upnp-crash.patch,
+ -banshee-2.4.0.ebuild:
+ Fix UPnP crash and build with libgpod-sharp-0.8.2 (#409597 by Bjoern
+ Ottervik).
*banshee-2.4.0 (24 Mar 2012)
diff --git a/media-sound/banshee/banshee-2.4.0.ebuild b/media-sound/banshee/banshee-2.4.0-r1.ebuild
index 29e343d7cb73..98d4dee493c5 100644
--- a/media-sound/banshee/banshee-2.4.0.ebuild
+++ b/media-sound/banshee/banshee-2.4.0-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/banshee/banshee-2.4.0.ebuild,v 1.1 2012/03/24 10:11:30 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/banshee/banshee-2.4.0-r1.ebuild,v 1.1 2012/03/26 09:09:54 pacho Exp $
EAPI="4"
@@ -55,7 +55,7 @@ RDEPEND=">=dev-lang/mono-2.4.3
media-plugins/gst-plugins-taglib:0.10
)
ios? (
- >=media-libs/libgpod-0.7.95[mono]
+ >=media-libs/libgpod-0.8.2[mono]
gnome-base/gvfs[ios]
)
mtp? (
@@ -83,6 +83,12 @@ DEPEND="${RDEPEND}
DOCS="AUTHORS ChangeLog HACKING NEWS README"
src_prepare () {
+ # UPnPServerSource: Fix crash when getting the root object (bgo#672744)
+ epatch "${FILESDIR}/${P}-upnp-crash.patch"
+
+ # Fix build against libgpod-sharp 0.8.2
+ epatch "${FILESDIR}/${PN}-2.4.0-libgpod-082.patch"
+
# Don't build BPM extension when not wanted
if ! use bpm; then
sed -i -e 's:Banshee.Bpm:$(NULL):g' src/Extensions/Makefile.am || die
diff --git a/media-sound/banshee/files/banshee-2.4.0-libgpod-082.patch b/media-sound/banshee/files/banshee-2.4.0-libgpod-082.patch
new file mode 100644
index 000000000000..1eed55ba13e4
--- /dev/null
+++ b/media-sound/banshee/files/banshee-2.4.0-libgpod-082.patch
@@ -0,0 +1,32 @@
+From 623695e51ffd7faf3ff5b12754f4e3547d066f34 Mon Sep 17 00:00:00 2001
+From: Bertrand Lorentz <bertrand.lorentz@gmail.com>
+Date: Sat, 24 Mar 2012 15:38:18 +0000
+Subject: AppleDeviceTrackInfo: Fix build against libgpod-sharp 0.8.2
+
+In libgpod 0.8.2, released in July 2011, the type of the Track.Size
+field was changed, so it is reflected in the C# bindings and breaks the
+API.
+
+We have currently no way of checking which version of the libgpod-sharp
+bindings are available, so this breaks compilation against older version
+of libgpod-sharp. But people shipping Banshee 2.5.x and later should
+really ship libgpod-sharp 0.8.2.
+
+See this bug for details and attempts to fix this correctly:
+https://bugzilla.gnome.org/show_bug.cgi?id=655660
+---
+diff --git a/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs b/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs
+index 178266d..b8549f7 100644
+--- a/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs
++++ b/src/Dap/Banshee.Dap.AppleDevice/Banshee.Dap.AppleDevice/AppleDeviceTrackInfo.cs
+@@ -215,7 +215,7 @@ namespace Banshee.Dap.AppleDevice
+ track.CDs = DiscCount;
+ track.CDNumber = DiscNumber;
+ track.TrackLength = (int) Duration.TotalMilliseconds;
+- track.Size = (int)FileSize;
++ track.Size = (uint)FileSize;
+ track.Grouping = Grouping;
+ try {
+ track.TimePlayed = LastPlayed;
+--
+cgit v0.9.0.2
diff --git a/media-sound/banshee/files/banshee-2.4.0-upnp-crash.patch b/media-sound/banshee/files/banshee-2.4.0-upnp-crash.patch
new file mode 100644
index 000000000000..fa48a878ce97
--- /dev/null
+++ b/media-sound/banshee/files/banshee-2.4.0-upnp-crash.patch
@@ -0,0 +1,27 @@
+From b627217e3841ca7d0b8af1ed8f916436e5088cee Mon Sep 17 00:00:00 2001
+From: Bertrand Lorentz <bertrand.lorentz@gmail.com>
+Date: Sat, 24 Mar 2012 11:27:06 +0000
+Subject: UPnPServerSource: Fix crash when getting the root object (bgo#672744)
+
+Move the GetRootObject () call inside the try/catch block, so that
+exceptions from Mono.Upnp don't cause a crash.
+---
+diff --git a/src/Extensions/Banshee.UPnPClient/Banshee.UPnPClient/UPnPServerSource.cs b/src/Extensions/Banshee.UPnPClient/Banshee.UPnPClient/UPnPServerSource.cs
+index 04a743a..5412663 100644
+--- a/src/Extensions/Banshee.UPnPClient/Banshee.UPnPClient/UPnPServerSource.cs
++++ b/src/Extensions/Banshee.UPnPClient/Banshee.UPnPClient/UPnPServerSource.cs
+@@ -124,10 +124,11 @@ namespace Banshee.UPnPClient
+ {
+ RemoteContentDirectory remote_dir = new RemoteContentDirectory (content_directory);
+ DateTime begin = DateTime.Now;
+- Container root = remote_dir.GetRootObject ();
+ bool recursive_browse = !content_directory.CanSearch;
+
+ try {
++ Container root = remote_dir.GetRootObject ();
++
+ if (!recursive_browse) {
+ try {
+ Log.Debug ("Content directory is searchable, let's search");
+--
+cgit v0.9.0.2