aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia/xmms
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2001-01-05 04:43:27 +0800
committersobomax <sobomax@FreeBSD.org>2001-01-05 04:43:27 +0800
commitbb1f2baa2eb5982ee642747d5e994225c163a5be (patch)
treeb8e5bd097386c8bc2947d94e0c62855484cb46bd /multimedia/xmms
parentfc0dd3fd1dc04edebe2a70cc8228717d9028817e (diff)
downloadfreebsd-ports-gnome-bb1f2baa2eb5982ee642747d5e994225c163a5be.tar.gz
freebsd-ports-gnome-bb1f2baa2eb5982ee642747d5e994225c163a5be.tar.zst
freebsd-ports-gnome-bb1f2baa2eb5982ee642747d5e994225c163a5be.zip
Fix the following problem:
"XMMS does not distinguish on FreeBSD between audio CD and data CD containing sound files. As a result it cannot play these files." PR: 23925 Submitted by: Vladimir Kushnir <vkushnir@Alfacom.net> Reviewed by: maintainer
Diffstat (limited to 'multimedia/xmms')
-rw-r--r--multimedia/xmms/Makefile1
-rw-r--r--multimedia/xmms/files/patch-ba81
2 files changed, 82 insertions, 0 deletions
diff --git a/multimedia/xmms/Makefile b/multimedia/xmms/Makefile
index f32f0e13a5bd..2b7c7041d29c 100644
--- a/multimedia/xmms/Makefile
+++ b/multimedia/xmms/Makefile
@@ -7,6 +7,7 @@
PORTNAME= xmms
PORTVERSION= 1.2.4
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= ftp://ftp.xmms.org/xmms/1.2.x/ \
ftp://ftp.uk.xmms.org/xmms/1.2.x/ \
diff --git a/multimedia/xmms/files/patch-ba b/multimedia/xmms/files/patch-ba
new file mode 100644
index 000000000000..0a38064365f6
--- /dev/null
+++ b/multimedia/xmms/files/patch-ba
@@ -0,0 +1,81 @@
+*** /usr/local/src/CVS/MM/xmms/xmms/Input/cdaudio/cdaudio.c Wed Aug 2 02:15:13 2000
+--- Input/cdaudio/cdaudio.c Tue Sep 5 12:46:29 2000
+***************
+*** 183,194 ****
+
+ static gboolean is_mounted(gchar * device_name)
+ {
+! #ifdef HAVE_MNTENT_H
+! FILE *mounts;
+! struct mntent *mnt;
+ char devname[256];
+ struct stat st;
+!
+ if (lstat(device_name, &st) < 0)
+ return -1;
+
+--- 183,199 ----
+
+ static gboolean is_mounted(gchar * device_name)
+ {
+! #if defined (HAVE_MNTENT_H) || defined (__FreeBSD__)
+ char devname[256];
+ struct stat st;
+! #if defined (HAVE_MNTENT_H)
+! FILE *mounts;
+! struct mntent *mnt;
+! #elif defined (__FreeBSD__)
+! struct statfs *fsp;
+! int entries;
+! #endif
+!
+ if (lstat(device_name, &st) < 0)
+ return -1;
+
+***************
+*** 197,202 ****
+--- 202,208 ----
+ else
+ strncpy(devname, device_name, 256);
+
++ #if defined (HAVE_MNTENT_H)
+ if ((mounts = setmntent(MOUNTED, "r")) == NULL)
+ return TRUE;
+
+***************
+*** 209,214 ****
+--- 215,231 ----
+ }
+ }
+ endmntent(mounts);
++ #elif defined (__FreeBSD__)
++ entries = getmntinfo (&fsp, MNT_NOWAIT);
++ if (entries < 0)
++ return NULL;
++
++ while (entries-- > 0) {
++ if (!strcmp(fsp->f_mntfromname, devname))
++ return TRUE;
++ fsp++;
++ }
++ #endif
+ #endif
+ return FALSE;
+ }
+*** /usr/local/src/CVS/MM/xmms/xmms/Input/cdaudio/cdaudio.h Thu Jun 15 00:51:44 2000
+--- Input/cdaudio/cdaudio.h Tue Sep 5 13:49:37 2000
+***************
+*** 46,51 ****
+--- 46,57 ----
+ #include <mntent.h>
+ #endif
+
++ #ifdef __FreeBSD__
++ #include <sys/param.h>
++ #include <sys/ucred.h>
++ #include <sys/mount.h>
++ #endif
++
+ #ifndef CD_FRAMES
+ #define CD_FRAMES 75
+ #endif