Bug#401733: gnome-media: FTBFS on GNU/kFreeBSD
Petr Salinger
Petr.Salinger at seznam.cz
Tue Dec 5 17:23:26 CET 2006
Package: gnome-media
Severity: important
Version: 2.14.2-3
Tags: patch
Hi,
the current version fails to build on GNU/kFreeBSD.
It needs to add in a few places "|| defined(__FreeBSD_kernel__)".
Please find attached patch with that.
It would also be nice if you can ask upstream
to include this changes.
Thanks in advance
Petr
-------------- next part --------------
only in patch2:
unchanged:
--- gnome-media-2.14.2.orig/gnome-cd/gst-cdrom.c
+++ gnome-media-2.14.2/gnome-cd/gst-cdrom.c
@@ -16,6 +16,9 @@
#endif
#define _ISOC99_SOURCE
+#if defined(__FreeBSD_kernel__) && defined(__GLIBC__)
+#define _BSD_SOURCE 1
+#endif
#include <math.h>
#include <string.h>
#include <glib/gi18n.h>
@@ -33,14 +36,14 @@
#ifdef __linux__
#include <linux/cdrom.h>
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
#include <sys/cdio.h>
#endif
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#include <sys/cdrio.h>
#endif
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
# define GST_CDROM_IOCTL_CDCAPABILITY_REQUEST CDIOCCAPABILITY
# define GST_CDROM_IOCTL_EJECT_REQUEST CDIOCEJECT
#elif defined(__NetBSD__) || defined(__OpenBSD__)
@@ -844,7 +847,7 @@
/*
GstCdparanoiaCDRom *lcd = GST_CDPARANOIA_CDROM (cdrom);
GstCdparanoiaCDRomPrivate *priv;
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
struct ioc_read_toc_single_entry tocentry;
#elif defined(__NetBSD__) || defined(__OpenBSD__)
struct ioc_read_toc_entry tocentries;
@@ -862,7 +865,7 @@
return;
}
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
if (ioctl (cdrom->fd, CDIOREADTOCHEADER, priv->tochdr) < 0) {
#else
if (ioctl (cdrom->fd, CDROMREADTOCHDR, priv->tochdr) < 0) {
@@ -873,7 +876,7 @@
return;
}
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
priv->track0 = priv->tochdr->starting_track;
priv->track1 = priv->tochdr->ending_track;
#else
@@ -886,8 +889,8 @@
priv->track_info =
g_malloc ((priv->number_tracks +
1) * sizeof (GstCdparanoiaCDRomTrackInfo));
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
for (i = 0, j = priv->track0; i < priv->number_tracks; i++, j++) {
tocentry.track = j;
tocentry.address_format = CD_MSF_FORMAT;
@@ -899,7 +902,7 @@
tocentries.address_format = CD_MSF_FORMAT;
#endif
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
if (ioctl (cdrom->fd, CDIOREADTOCENTRY, &tocentry) < 0) {
#else
if (ioctl (cdrom->fd, CDIOREADTOCENTRYS, &tocentries) < 0) {
@@ -909,7 +912,7 @@
}
priv->track_info[i].track = j;
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
priv->track_info[i].audio_track =
tocentry.entry.control != CDROM_DATA_TRACK ? 1 : 0;
ASSIGN_MSF (priv->track_info[i].address,
@@ -936,8 +939,8 @@
tocentry.cdte_addr.msf);
#endif
}
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
tocentry.track = CDROM_LEADOUT;
tocentry.address_format = CD_MSF_FORMAT;
if (ioctl (cdrom->fd, CDIOREADTOCENTRY, &tocentry) < 0) {
@@ -950,7 +953,7 @@
gst_cdparanoia_cdrom_invalidate (lcd);
return;
}
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
ASSIGN_MSF (priv->track_info[priv->number_tracks].address,
tocentry.entry.addr.msf);
#else
only in patch2:
unchanged:
--- gnome-media-2.14.2.orig/gnome-cd/bsd-cdrom.c
+++ gnome-media-2.14.2/gnome-cd/bsd-cdrom.c
@@ -166,7 +166,7 @@
{
BSDCDRom *lcd = BSD_CDROM (cdrom);
BSDCDRomPrivate *priv;
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
struct ioc_read_toc_single_entry tocentry;
#else
struct ioc_read_toc_entry tocentries;
@@ -195,7 +195,7 @@
bsd_cdrom_invalidate (lcd);
priv->track_info = g_malloc ((priv->number_tracks + 1) * sizeof (BSDCDRomTrackInfo));
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
for (i = 0, j = priv->track0; i < priv->number_tracks; i++, j++) {
tocentry.track = j;
tocentry.address_format = CD_MSF_FORMAT;
@@ -207,7 +207,7 @@
tocentries.address_format = CD_MSF_FORMAT;
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
if (ioctl (cdrom->fd, CDIOREADTOCENTRY, &tocentry) < 0) {
#else
if (ioctl (cdrom->fd, CDIOREADTOCENTRYS, &tocentries) < 0) {
@@ -217,7 +217,7 @@
}
priv->track_info[i].track = j;
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
priv->track_info[i].audio_track = tocentry.entry.control == 0 ? 1 : 0;
ASSIGN_MSF (priv->track_info[i].address, tocentry.entry.addr.msf);
#else
@@ -226,7 +226,7 @@
#endif
}
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
/* On BSD, the leadout track is the track LAST_TRACK + 1. */
tocentry.track = priv->number_tracks + 1;
tocentry.address_format = CD_MSF_FORMAT;
@@ -241,7 +241,7 @@
bsd_cdrom_invalidate (lcd);
return;
}
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
ASSIGN_MSF (priv->track_info[priv->number_tracks].address, tocentry.entry.addr.msf);
#else
ASSIGN_MSF (priv->track_info[priv->number_tracks].address, tocentry.addr.msf);
@@ -265,7 +265,7 @@
return FALSE;
}
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
if (gnome_cdrom_get_status (cdrom, &status, error) == FALSE) {
bsd_cdrom_close (lcd);
g_free (status);
@@ -902,7 +902,7 @@
return FALSE;
}
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
/* FIXME: Figure out how to do this on BSD */
#else
if (ioctl (cdrom->fd, CDIOREADTOCHEADER, priv->tochdr) < 0) {
More information about the Pkg-gnome-maintainers
mailing list