aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/banshee
diff options
context:
space:
mode:
authorflz <flz@FreeBSD.org>2009-11-17 00:29:41 +0800
committerflz <flz@FreeBSD.org>2009-11-17 00:29:41 +0800
commit82cc6a2966c9e629bf809a8845696592dff076e0 (patch)
treea2ad03658904b78ffb72d33ce1c35d37699fa264 /multimedia/banshee
parenta54f4e425720f49a8ed60153916795f818458ed6 (diff)
downloadfreebsd-ports-gnome-82cc6a2966c9e629bf809a8845696592dff076e0.tar.gz
freebsd-ports-gnome-82cc6a2966c9e629bf809a8845696592dff076e0.tar.zst
freebsd-ports-gnome-82cc6a2966c9e629bf809a8845696592dff076e0.zip
- Various cleannups.
- Re-enable the bpm-detection plugin (via OPTIONs). - Fix MusicBrainz so that Banshee can use Audio CD. - Fix and sort pkg-plist. PR: ports/140570 Submitted by: Romain Tartiere
Diffstat (limited to 'multimedia/banshee')
-rw-r--r--multimedia/banshee/Makefile45
-rw-r--r--multimedia/banshee/files/patch-fix-startup13
-rw-r--r--multimedia/banshee/files/patch-src_Libraries_MusicBrainz_Makefile.in13
-rw-r--r--multimedia/banshee/files/patch-src_Libraries_MusicBrainz_MusicBrainz_DiscFreeBSD.cs140
-rw-r--r--multimedia/banshee/files/patch-src_Libraries_MusicBrainz_MusicBrainz_LocalDisc.cs18
-rw-r--r--multimedia/banshee/pkg-plist24
6 files changed, 187 insertions, 66 deletions
diff --git a/multimedia/banshee/Makefile b/multimedia/banshee/Makefile
index e603474a3f38..09d54be1ffe5 100644
--- a/multimedia/banshee/Makefile
+++ b/multimedia/banshee/Makefile
@@ -7,6 +7,7 @@
PORTNAME= banshee
PORTVERSION= 1.5.1
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= multimedia audio
MASTER_SITES= http://download.banshee-project.org/${PORTNAME}/stable/${PORTVERSION}/
@@ -27,17 +28,17 @@ LIB_PC_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/mono.pc:${PORTSDIR}/lang/mono \
${LOCALBASE}/libdata/pkgconfig/mono-zeroconf.pc:${PORTSDIR}/net/mono-zeroconf \
${LOCALBASE}/libdata/pkgconfig/mono-addins.pc:${PORTSDIR}/devel/mono-addins
-OPTIONS= DOCS "Install documentation" on \
- MTP "Enable MTP support" on
-# BPMDETECT "Enable BPM detection" on
-# IPOD "Enable iPod support" on \
+OPTIONS= DOCS "Install documentation" on \
+ MTP "Enable MTP support" on \
+ BPMDETECT "Enable BPM detection" on \
+# IPOD "Enable iPod support" on
USE_BZIP2= yes
USE_GMAKE= yes
USE_PERL5_BUILD=yes
GNU_CONFIGURE= yes
USE_GNOME= gnomehack gtksharp20 gnomesharp20
-USE_GSTREAMER= yes
+USE_GSTREAMER= cdparanoia
USE_GETTEXT= yes
USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME}-1
USE_XORG= xrandr xxf86vm
@@ -72,36 +73,8 @@ CONFIGURE_ARGS+= --disable-mtp
PLIST_SUB+= OPT_MTP="@comment "
.endif
-#.if !defined(WITHOUT_BPMDETECT)
-#USE_GSTREAMER+= soundtouch
-#.endif
-
-post-patch:
- @${REINPLACE_CMD} "s|!/bin/bash|!${PREFIX}/bin/bash|" \
- ${WRKSRC}/build/icon-theme-installer \
- ${WRKSRC}/build/private-icon-theme-installer \
- ${WRKSRC}/data/desktop-files/update-desktop-file.sh \
- ${WRKSRC}/src/Clients/Booter/banshee-1.in
- @${REINPLACE_CMD} 's|sed -r|sed -E|' \
- ${WRKSRC}/data/icon-theme-hicolor/Makefile.in
-# ${WRKSRC}/configure \
-
-# XXX - This is gross.
-post-configure:
- @${REINPLACE_CMD} -e 's|^\(MSGFMT =\).*|\1 ${LOCALBASE}/bin/msgfmt|' \
- -e 's|^\(GMSGFMT =\).*|\1 ${LOCALBASE}/bin/msgfmt|' \
- ${WRKSRC}/po/Makefile
-
-# XXX - Really ugly too.
-pre-build:
- ${MKDIR} ${WRKSRC}/bin/share/banshee-1/icons/hicolor/scalable/
-
-# XXX - This one is the best.
-pre-install:
-.for i in 16x16 22x22 32x32 48x48 128x128 scalable
-. for j in actions categories devices status
- @${MKDIR} ${PREFIX}/share/banshee-1/icons/hicolor/$i/$j/
-. endfor
-.endfor
+.if !defined(WITHOUT_BPMDETECT)
+USE_GSTREAMER+= soundtouch
+.endif
.include <bsd.port.post.mk>
diff --git a/multimedia/banshee/files/patch-fix-startup b/multimedia/banshee/files/patch-fix-startup
deleted file mode 100644
index 067208416a27..000000000000
--- a/multimedia/banshee/files/patch-fix-startup
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/Core/Banshee.Services/Banshee.MediaEngine/TranscoderService.cs.orig 2008-10-01 17:43:36.000000000 +0000
-+++ src/Core/Banshee.Services/Banshee.MediaEngine/TranscoderService.cs 2009-02-23 09:48:57.000000000 +0000
-@@ -97,7 +97,9 @@
- queue = new Queue <TranscodeContext> ();
-
- try {
-- Banshee.IO.Directory.Delete (cache_dir, true);
-+ if (Banshee.IO.Directory.Exists (cache_dir)) {
-+ Banshee.IO.Directory.Delete (cache_dir, true);
-+ }
- } catch {}
-
- Banshee.IO.Directory.Create (cache_dir);
diff --git a/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_Makefile.in b/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_Makefile.in
new file mode 100644
index 000000000000..e1cabfda35ed
--- /dev/null
+++ b/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_Makefile.in
@@ -0,0 +1,13 @@
+
+$FreeBSD$
+
+--- src/Libraries/MusicBrainz/Makefile.in.orig
++++ src/Libraries/MusicBrainz/Makefile.in
+@@ -347,6 +347,7 @@
+ SOURCES = \
+ MusicBrainz/Artist.cs \
+ MusicBrainz/Disc.cs \
++ MusicBrainz/DiscFreeBSD.cs \
+ MusicBrainz/DiscLinux.cs \
+ MusicBrainz/DiscWin32.cs \
+ MusicBrainz/Event.cs \
diff --git a/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_MusicBrainz_DiscFreeBSD.cs b/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_MusicBrainz_DiscFreeBSD.cs
new file mode 100644
index 000000000000..7c6464c12b28
--- /dev/null
+++ b/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_MusicBrainz_DiscFreeBSD.cs
@@ -0,0 +1,140 @@
+
+$FreeBSD$
+
+--- /dev/null
++++ src/Libraries/MusicBrainz/MusicBrainz/DiscFreeBSD.cs
+@@ -0,0 +1,134 @@
++// DiskFreeBSD.cs
++//
++// Copyright (c) 2009 Romain Tartière <romain@blogreen.org>
++//
++// Permission is hereby granted, free of charge, to any person obtaining a copy
++// of this software and associated documentation files (the "Software"), to deal
++// in the Software without restriction, including without limitation the rights
++// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++// copies of the Software, and to permit persons to whom the Software is
++// furnished to do so, subject to the following conditions:
++//
++// The above copyright notice and this permission notice shall be included in
++// all copies or substantial portions of the Software.
++//
++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++// THE SOFTWARE.
++
++using System;
++using System.Runtime.InteropServices;
++
++namespace MusicBrainz
++{
++ internal sealed class DiscFreeBSD : LocalDisc
++ {
++
++#region <fcntl.h>
++ const int O_RDONLY = 0x0000; // open for reading only
++ const int O_NONBLOCK = 0x0004; // no delay
++
++ [DllImport ("libc.so.7", CharSet = CharSet.Auto, SetLastError = true)]
++ static extern int open (string path, int flags);
++#endregion
++
++#region <unistd.h>
++ [DllImport ("libc.so.7", SetLastError = true)]
++ static extern int close (int d);
++#endregion
++
++#region <sys/cdio.h>
++ struct msf_lba {
++ public int lba; // network byte order
++ };
++
++ [StructLayout (LayoutKind.Explicit)]
++ struct cd_toc_entry {
++ [FieldOffset (2)]
++ public byte track;
++ [FieldOffset (4)]
++ public msf_lba addr;
++ };
++
++ // Ioctls for the CD drive
++
++ const byte CD_LBA_FORMAT = 1;
++
++ struct ioc_toc_header {
++ public short len;
++ public byte starting_track;
++ public byte ending_track;
++ };
++ const ulong CDIOREADTOCHEADER = 1074029316;
++ [DllImport ("libc.so.7", EntryPoint = "ioctl")]
++ static extern int cd_read_toc_header (int fd, ulong request, ref ioc_toc_header data);
++ static int cd_read_toc_header (int fd, ref ioc_toc_header data)
++ {
++ return cd_read_toc_header (fd, CDIOREADTOCHEADER, ref data);
++ }
++
++ struct ioc_read_toc_entry {
++ public byte address_format;
++ public byte starting_track;
++ public ushort data_len;
++ public IntPtr data; // cd_toc_entry*
++ };
++ const ulong CDIOREADTOCENTRYS = 3222299397;
++ [DllImport ("libc.so.7", EntryPoint = "ioctl")]
++ static extern int cd_read_toc_entrys (int fd, ulong request, ref ioc_read_toc_entry data);
++ static int cd_read_toc_entrys (int fd, ref ioc_read_toc_entry data)
++ {
++ return cd_read_toc_entrys (fd, CDIOREADTOCENTRYS, ref data);
++ }
++
++#endregion
++
++ internal DiscFreeBSD (string device)
++ {
++ int fd = open (device, O_RDONLY | O_NONBLOCK);
++
++ if (fd < 0) throw new LocalDiscException (String.Format ("Cannot open device `{0}'", device));
++
++ try {
++ ioc_toc_header h = new ioc_toc_header ();
++ if (cd_read_toc_header (fd, ref h) < 0) throw new LocalDiscException ("Cannot read table of contents header");
++ if (h.ending_track == 0) throw new LocalDiscException ("This disc has no tracks");
++
++ first_track = h.starting_track;
++ last_track = h.ending_track;
++
++ int n = h.ending_track - h.starting_track + 1;
++ int len = (n + 1) * Marshal.SizeOf (typeof (cd_toc_entry));
++
++ ioc_read_toc_entry t = new ioc_read_toc_entry ();
++ t.address_format = CD_LBA_FORMAT;
++ t.starting_track = 0;
++ t.data_len = (ushort) len;
++ t.data = Marshal.AllocHGlobal (len);
++ try {
++
++ if (cd_read_toc_entrys (fd, ref t) < 0) throw new LocalDiscException ("Cannot read table of contents entries");
++
++ for (int i = 0; i <= n; i++) {
++ ulong offset = (ulong) (i * Marshal.SizeOf (typeof (cd_toc_entry)));
++ cd_toc_entry e = (cd_toc_entry) Marshal.PtrToStructure ((IntPtr) ((ulong)t.data + offset), typeof (cd_toc_entry));
++ track_offsets[first_track + i] = System.Net.IPAddress.NetworkToHostOrder (e.addr.lba) + 150;
++ }
++ // Move Leadout to the beginning.
++ track_offsets [0] = track_offsets [last_track + 1];
++ track_offsets [last_track + 1] = 0;
++ } finally {
++ Marshal.FreeHGlobal (t.data);
++ }
++ } finally {
++ close (fd);
++ }
++
++ Init ();
++ }
++ }
++}
diff --git a/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_MusicBrainz_LocalDisc.cs b/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_MusicBrainz_LocalDisc.cs
new file mode 100644
index 000000000000..530035aab0ca
--- /dev/null
+++ b/multimedia/banshee/files/patch-src_Libraries_MusicBrainz_MusicBrainz_LocalDisc.cs
@@ -0,0 +1,18 @@
+
+$FreeBSD$
+
+--- src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs.orig
++++ src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs
+@@ -131,7 +131,11 @@
+ try {
+ switch (Environment.OSVersion.Platform){
+ case PlatformID.Unix:
+- return new DiscLinux (device);
++ try {
++ return new DiscLinux (device);
++ } catch {
++ return new DiscFreeBSD (device);
++ }
+ //case PlatformID.Win32NT:
+ //return new DiscWin32NT (device);
+ default:
diff --git a/multimedia/banshee/pkg-plist b/multimedia/banshee/pkg-plist
index e40cadfb7b77..b500a04b9df4 100644
--- a/multimedia/banshee/pkg-plist
+++ b/multimedia/banshee/pkg-plist
@@ -44,14 +44,14 @@ lib/banshee-1/Extensions/Banshee.CoverArt.dll
lib/banshee-1/Extensions/Banshee.CoverArt.dll.mdb
lib/banshee-1/Extensions/Banshee.Daap.dll
lib/banshee-1/Extensions/Banshee.Daap.dll.mdb
+%%OPT_IPOD%%lib/banshee-1/Extensions/Banshee.Dap.Ipod.dll
+%%OPT_IPOD%%lib/banshee-1/Extensions/Banshee.Dap.Ipod.dll.mdb
lib/banshee-1/Extensions/Banshee.Dap.MassStorage.dll
lib/banshee-1/Extensions/Banshee.Dap.MassStorage.dll.mdb
%%OPT_MTP%%lib/banshee-1/Extensions/Banshee.Dap.Mtp.dll
%%OPT_MTP%%lib/banshee-1/Extensions/Banshee.Dap.Mtp.dll.mdb
lib/banshee-1/Extensions/Banshee.Dap.dll
lib/banshee-1/Extensions/Banshee.Dap.dll.mdb
-%%OPT_IPOD%%lib/banshee-1/Extensions/Banshee.Dap.Ipod.dll
-%%OPT_IPOD%%lib/banshee-1/Extensions/Banshee.Dap.Ipod.dll.mdb
lib/banshee-1/Extensions/Banshee.FileSystemQueue.dll
lib/banshee-1/Extensions/Banshee.FileSystemQueue.dll.mdb
lib/banshee-1/Extensions/Banshee.InternetRadio.dll
@@ -74,10 +74,10 @@ lib/banshee-1/Extensions/Banshee.PlayerMigration.dll
lib/banshee-1/Extensions/Banshee.PlayerMigration.dll.mdb
lib/banshee-1/Extensions/Banshee.Podcasting.dll
lib/banshee-1/Extensions/Banshee.Podcasting.dll.mdb
-%%OPT_IPOD%%lib/banshee-1/Extensions/ipod-sharp.dll
-%%OPT_IPOD%%lib/banshee-1/Extensions/ipod-sharp.dll.mdb
%%OPT_IPOD%%lib/banshee-1/Extensions/ipod-sharp-ui.dll
%%OPT_IPOD%%lib/banshee-1/Extensions/ipod-sharp-ui.dll.mdb
+%%OPT_IPOD%%lib/banshee-1/Extensions/ipod-sharp.dll
+%%OPT_IPOD%%lib/banshee-1/Extensions/ipod-sharp.dll.mdb
lib/banshee-1/Halie.exe
lib/banshee-1/Halie.exe.mdb
lib/banshee-1/Hyena.Gui.dll
@@ -138,6 +138,7 @@ share/banshee-1/audio-profiles/vorbis.xml
share/banshee-1/audio-profiles/wav.xml
share/banshee-1/audio-profiles/wavpack.xml
share/banshee-1/audio-profiles/wma.xml
+share/banshee-1/icons/hicolor/128x128/devices/phone-htc-g1-white.png
share/banshee-1/icons/hicolor/16x16/actions/media-import-audio-cd.png
share/banshee-1/icons/hicolor/16x16/actions/media-repeat-all.png
share/banshee-1/icons/hicolor/16x16/actions/media-repeat-none.png
@@ -202,7 +203,6 @@ share/banshee-1/icons/hicolor/48x48/actions/media-write-cd.png
share/banshee-1/icons/hicolor/48x48/categories/podcast.png
share/banshee-1/icons/hicolor/48x48/categories/radio.png
share/banshee-1/icons/hicolor/48x48/devices/phone-htc-g1-white.png
-share/banshee-1/icons/hicolor/128x128/devices/phone-htc-g1-white.png
share/banshee-1/icons/hicolor/scalable/categories/radio.svg
%%OPT_IPOD%%share/banshee-1/icons/hicolor/scalable/devices/multimedia-player-ipod-U2-color.svg
%%OPT_IPOD%%share/banshee-1/icons/hicolor/scalable/devices/multimedia-player-ipod-U2-monochrome.svg
@@ -270,28 +270,16 @@ share/locale/vi/LC_MESSAGES/banshee-1.mo
share/locale/zh_CN/LC_MESSAGES/banshee-1.mo
share/locale/zh_HK/LC_MESSAGES/banshee-1.mo
share/locale/zh_TW/LC_MESSAGES/banshee-1.mo
-@dirrmtry share/locale/ky/LC_MESSAGES
-@dirrm share/banshee-1/icons/hicolor/scalable/status
@dirrm share/banshee-1/icons/hicolor/scalable/devices
@dirrm share/banshee-1/icons/hicolor/scalable/categories
-@dirrm share/banshee-1/icons/hicolor/scalable/actions
@dirrm share/banshee-1/icons/hicolor/scalable
-@dirrm share/banshee-1/icons/hicolor/128x128/status
-@dirrm share/banshee-1/icons/hicolor/128x128/devices
-@dirrm share/banshee-1/icons/hicolor/128x128/categories
-@dirrm share/banshee-1/icons/hicolor/128x128/actions
-@dirrm share/banshee-1/icons/hicolor/128x128
-@dirrm share/banshee-1/icons/hicolor/48x48/status
@dirrm share/banshee-1/icons/hicolor/48x48/devices
@dirrm share/banshee-1/icons/hicolor/48x48/categories
@dirrm share/banshee-1/icons/hicolor/48x48/actions
@dirrm share/banshee-1/icons/hicolor/48x48
-@dirrm share/banshee-1/icons/hicolor/32x32/status
@dirrm share/banshee-1/icons/hicolor/32x32/devices
-@dirrm share/banshee-1/icons/hicolor/32x32/categories
@dirrm share/banshee-1/icons/hicolor/32x32/actions
@dirrm share/banshee-1/icons/hicolor/32x32
-@dirrm share/banshee-1/icons/hicolor/22x22/status
@dirrm share/banshee-1/icons/hicolor/22x22/devices
@dirrm share/banshee-1/icons/hicolor/22x22/categories
@dirrm share/banshee-1/icons/hicolor/22x22/actions
@@ -302,6 +290,8 @@ share/locale/zh_TW/LC_MESSAGES/banshee-1.mo
@dirrm share/banshee-1/icons/hicolor/16x16/categories
@dirrm share/banshee-1/icons/hicolor/16x16/actions
@dirrm share/banshee-1/icons/hicolor/16x16
+@dirrm share/banshee-1/icons/hicolor/128x128/devices
+@dirrm share/banshee-1/icons/hicolor/128x128
@dirrm share/banshee-1/icons/hicolor
@dirrm share/banshee-1/icons
@dirrm share/banshee-1/audio-profiles