Package: libxine1
Version: 1.1.7-3
Severity: normal
Tags: patch
User: [EMAIL PROTECTED]
Usertags: kfreebsd

Hi,

here's a patch which fixes the xine build on Debian GNU/kFreeBSD.

(However, apart from this patch, the pulseaudio package must also be
fixed in order to actually be able to build xine, see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=430366)


HTH, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
diff -Naur xine-lib-1.1.7.orig/debian/rules xine-lib-1.1.7/debian/rules
--- xine-lib-1.1.7.orig/debian/rules	2007-08-20 10:16:56.000000000 +0200
+++ xine-lib-1.1.7/debian/rules	2007-08-20 09:21:50.000000000 +0200
@@ -145,9 +145,19 @@
 debian/%.install.$(DEB_HOST_ARCH): debian/%.install debian/%.install.$(DEB_HOST_ARCH).specific
 	cat $^ > $@
 
+# Create install files for Debian GNU/kFreeBSD i386/amd64 by dropping
+# everything which is not available on those architectures.
+generate-kfreebsd-files:
+	grep -v -e alsa -e pvr -e v4l -e dxr3 -e out_fb -e syncfb debian/libxine1.install > debian/libxine1.install.kfreebsd-i386
+	grep -v -e alsa -e pvr -e v4l -e dxr3 -e out_fb -e syncfb debian/libxine1.install > debian/libxine1.install.kfreebsd-amd64
+
 # i386 is special cased! Other archs may follow
 ifeq ($(DEB_HOST_ARCH),i386)
 binary-libxine1: debian/libxine1.install debian/libxine1.install.$(DEB_HOST_ARCH)
+else ($(DEB_HOST_ARCH),kfreebsd-i386)
+binary-libxine1: generate-kfreebsd-files debian/libxine1.install.$(DEB_HOST_ARCH)
+else ($(DEB_HOST_ARCH),kfreebsd-amd64)
+binary-libxine1: generate-kfreebsd-files debian/libxine1.install.$(DEB_HOST_ARCH)
 else
 binary-libxine1: debian/libxine1.install
 endif
diff -Naur xine-lib-1.1.7.orig/src/input/input_vcd.c xine-lib-1.1.7/src/input/input_vcd.c
--- xine-lib-1.1.7.orig/src/input/input_vcd.c	2007-04-29 18:55:34.000000000 +0200
+++ xine-lib-1.1.7/src/input/input_vcd.c	2007-08-20 06:23:00.000000000 +0200
@@ -40,7 +40,7 @@
 #ifdef HAVE_SYS_CDIO_H
 # include <sys/cdio.h>
 /* TODO: not clean yet */
-# if defined (__FreeBSD__)
+# if defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
 #  include <sys/cdrio.h>
 # endif
 #endif
@@ -95,7 +95,7 @@
 #if defined (__linux__) || defined(__sun)
   struct cdrom_tochdr    tochdr;
   struct cdrom_tocentry  tocent[100];
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
   struct ioc_toc_header  tochdr;
   struct cd_toc_entry    *tocent;
   off_t                  cur_sec;
@@ -120,7 +120,7 @@
 
   int                    cur_track;
 
-#if defined (__linux__) || defined(__sun) || defined(__FreeBSD__)
+#if defined (__linux__) || defined(__sun) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
   uint8_t                cur_min, cur_sec, cur_frame;
 #endif
 
@@ -180,7 +180,7 @@
 
   return 0;
 }
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
 static int input_vcd_read_toc (vcd_input_class_t *this, int fd) {
 
   struct ioc_read_toc_entry te;
@@ -396,7 +396,7 @@
   memcpy (buf, data.data, VCDSECTORSIZE); /* FIXME */
   return VCDSECTORSIZE;
 }
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
 static off_t vcd_plugin_read (input_plugin_t *this_gen, 
 				char *buf, off_t nlen) {
   vcd_input_plugin_t *this = (vcd_input_plugin_t *) this_gen;
@@ -534,7 +534,7 @@
   memcpy (buf->mem, data.data, VCDSECTORSIZE); /* FIXME */
   return buf;
 }
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
 static buf_element_t *vcd_plugin_read_block (input_plugin_t *this_gen, 
 					     fifo_buffer_t *fifo, off_t nlen) {
   
@@ -693,7 +693,7 @@
 
   return offset ; /* FIXME */
 }
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
 static off_t vcd_plugin_seek (input_plugin_t *this_gen, 
 				off_t offset, int origin) {
 
@@ -767,7 +767,7 @@
 
   return (off_t) 0;
 }
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
 static off_t vcd_plugin_get_length (input_plugin_t *this_gen) {
   vcd_input_plugin_t *this = (vcd_input_plugin_t *) this_gen;
   off_t len ;
@@ -862,7 +862,7 @@
   this->cur_min   = this->cls->tocent[this->cur_track].cdte_addr.msf.minute;
   this->cur_sec   = this->cls->tocent[this->cur_track].cdte_addr.msf.second;
   this->cur_frame = this->cls->tocent[this->cur_track].cdte_addr.msf.frame;
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
   {
     int bsize = 2352;
     if (ioctl (this->fd, CDRIOCSETBLOCKSIZE, &bsize) == -1) {

Attachment: signature.asc
Description: Digital signature

Reply via email to