diff options
author | sobomax <sobomax@FreeBSD.org> | 2001-01-05 04:43:27 +0800 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2001-01-05 04:43:27 +0800 |
commit | bb1f2baa2eb5982ee642747d5e994225c163a5be (patch) | |
tree | b8e5bd097386c8bc2947d94e0c62855484cb46bd /multimedia/xmms | |
parent | fc0dd3fd1dc04edebe2a70cc8228717d9028817e (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | multimedia/xmms/files/patch-ba | 81 |
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 |