Package: mplayer
Severity: important
Version: 1.0~rc1-7
Tags: patch

Hi,

the current version fails to build on GNU/kFreeBSD.

Please find attached patch to fix that.

It would also be nice if you can ask upstream
to include source changes.

Thanks in advance

                        Petr
diff -u mplayer-1.0~rc1/debian/rules mplayer-1.0~rc1/debian/rules
--- mplayer-1.0~rc1/debian/rules
+++ mplayer-1.0~rc1/debian/rules
@@ -63,10 +63,12 @@
 
 destdir := $(shell pwd)/debian/$(package)
 
-arch   := $(shell dpkg --print-architecture)
+arch   := $(shell dpkg-architecture -qDEB_HOST_ARCH)
 #FIXME: How shall this be used? MPlayer has a non-autoconf configure script.
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_ARCH_OS    ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+DEB_HOST_ARCH_CPU   ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
 
 # Choose whether we want binary codec support (default on unknown archs: no).
 with_real_and_xanim = false
@@ -84,6 +86,12 @@
   with_real_and_xanim = true
   #this does not compile, though : with_win32 = true
 endif
+ifeq ($(arch),kfreebsd-i386)
+  with_real_and_xanim = true
+endif
+ifeq ($(arch),kfreebsd-amd64)
+  with_real_and_xanim = true
+endif
 ifeq ($(arch),powerpc)
   with_real_and_xanim = true
 endif
@@ -114,6 +122,13 @@
     DEB_BUILD_CONFIGURE += --enable-debug=3
 endif
 
+ifeq (linux,$(DEB_HOST_ARCH_OS))
+    DEB_BUILD_CONFIGURE += --enable-tv-v4l2 --enable-xmga --enable-mga 
--enable-3dfx --enable-tdfxfb --enable-fbdev
+endif
+ifeq (kfreebsd,$(DEB_HOST_ARCH_OS))
+    DEB_BUILD_CONFIGURE += --enable-tv-bsdbt848 --disable-directfb
+endif
+
 
 USE_EXT_FFMPEG = no
 #DEB_BUILD_CONFIGURE += --enable-libavutil_so --enable-libavformat_so 
--enable-libavcodec_so --enable-libpostproc_so 
@@ -133,9 +148,7 @@
        # Add commands to configure the package here.
        ./configure --prefix=/usr --confdir=/etc/mplayer  \
         --datadir=/usr/share/mplayer --with-codecsdir=/usr/lib/codecs \
-       --enable-xmga --enable-mga --enable-3dfx --enable-tdfxfb \
-       --enable-fbdev --enable-xvmc \
-        --enable-tv-v4l2 --enable-sdl --enable-ossaudio \
+        --enable-xvmc --enable-sdl --enable-ossaudio \
        --enable-lirc --enable-gui --enable-freetype --enable-menu \
        --enable-largefiles     $(DEB_BUILD_CONFIGURE)
        #
diff -u mplayer-1.0~rc1/debian/control.in mplayer-1.0~rc1/debian/control.in
--- mplayer-1.0~rc1/debian/control.in
+++ mplayer-1.0~rc1/debian/control.in
@@ -7,8 +7,9 @@
 Build-Depends-Indep: @DOCDEP@
 Build-Depends: debhelper (>= 4), make (>= 3.80), pkg-config, po-debconf,
  libsdl1.2-dev | libsdl1.1-dev, svgalibg1-dev [i386],
- libmad0-dev, libpng-dev, libncurses5-dev, zlib1g-dev, libtheora-dev
- (>= 0.0.0.alpha3-1), libesd0-dev, libasound2-dev (>= 1.0.6-3),
+ libmad0-dev, libpng-dev, libncurses5-dev, zlib1g-dev,
+ libtheora-dev (>= 0.0.0.alpha3-1), libesd0-dev,
+ libasound2-dev (>= 1.0.6-3) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386],
  libvorbis-dev, liblircclient-dev, libfreetype6-dev, libdvdread3-dev,
  libcdparanoia0-dev, libfontconfig1-dev, libjpeg62-dev, libungif4-dev,
  libgtk2.0-dev, libdirectfb-dev, libcaca-dev, @XLIBS@, @EXTRA_BUILDDEP@
diff -u mplayer-1.0~rc1/debian/control mplayer-1.0~rc1/debian/control
--- mplayer-1.0~rc1/debian/control
+++ mplayer-1.0~rc1/debian/control
@@ -7,8 +7,9 @@
 Build-Depends-Indep: 
 Build-Depends: debhelper (>= 4), make (>= 3.80), pkg-config, po-debconf,
  libsdl1.2-dev | libsdl1.1-dev, svgalibg1-dev [i386],
- libmad0-dev, libpng-dev, libncurses5-dev, zlib1g-dev, libtheora-dev
- (>= 0.0.0.alpha3-1), libesd0-dev, libasound2-dev (>= 1.0.6-3),
+ libmad0-dev, libpng-dev, libncurses5-dev, zlib1g-dev,
+ libtheora-dev (>= 0.0.0.alpha3-1), libesd0-dev,
+ libasound2-dev (>= 1.0.6-3) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386],
  libvorbis-dev, liblircclient-dev, libfreetype6-dev, libdvdread3-dev,
  libcdparanoia0-dev, libfontconfig1-dev, libjpeg62-dev, libungif4-dev,
  libgtk2.0-dev, libdirectfb-dev, libcaca-dev, libx11-dev, libxext-dev, 
libxinerama-dev, libxv-dev, libxvmc-dev, libxxf86dga-dev, libxxf86vm-dev, 
x-dev, 
diff -u mplayer-1.0~rc1/configure mplayer-1.0~rc1/configure
--- mplayer-1.0~rc1/configure
+++ mplayer-1.0~rc1/configure
@@ -102,7 +102,7 @@
 irix()    { issystem "IRIX"    ; return "$?" ; }
 aix()     { issystem "AIX"     ; return "$?" ; }
 cygwin()  { issystem "CYGWIN"  ; return "$?" ; }
-freebsd() { issystem "FreeBSD" ; return "$?" ; }
+freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; return "$?" ; }
 netbsd()  { issystem "NetBSD"  ; return "$?" ; }
 bsdos()   { issystem "BSD/OS"  ; return "$?" ; }
 openbsd() { issystem "OpenBSD" ; return "$?" ; }
@@ -567,6 +567,9 @@
   IRIX*)
     system_name=IRIX
     ;;
+  GNU/kFreeBSD)
+    system_name=FreeBSD
+    ;;  
   HP-UX*)
     system_name=HP-UX
     ;;
@@ -627,6 +630,7 @@
   case "`echo $system_name | tr A-Z a-z`" in
     linux) system_name=Linux ;;
     freebsd) system_name=FreeBSD ;;
+    gnu/kfreebsd) system_name=FreeBSD ;;
     netbsd) system_name=NetBSD ;;
     bsd/os) system_name=BSD/OS ;;
     openbsd) system_name=OpenBSD ;;
@@ -8177,7 +8181,7 @@
 #elif defined(__OpenBSD__)
 #define DEFAULT_CDROM_DEVICE   "/dev/rcd0a"
 #define DEFAULT_DVD_DEVICE     DEFAULT_CDROM_DEVICE
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 #define DEFAULT_CDROM_DEVICE   "/dev/acd0"
 #define DEFAULT_DVD_DEVICE     DEFAULT_CDROM_DEVICE
 #else
only in patch2:
unchanged:
--- mplayer-1.0~rc1.orig/libdha/pci.c
+++ mplayer-1.0~rc1/libdha/pci.c
@@ -62,7 +62,7 @@
 /* OS depended stuff */
 #if defined (linux)
 #include "sysdep/pci_linux.c"
-#elif defined (__FreeBSD__) || defined(__DragonFly__)
+#elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__) || 
defined(__DragonFly__) 
 #include "sysdep/pci_freebsd.c"
 #elif defined (__386BSD__)
 #include "sysdep/pci_386bsd.c"
only in patch2:
unchanged:
--- mplayer-1.0~rc1.orig/cpudetect.c
+++ mplayer-1.0~rc1/cpudetect.c
@@ -20,7 +20,7 @@
 #include <machine/cpu.h>
 #endif
 
-#if defined(__FreeBSD__) || defined(__DragonFly__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || 
defined(__DragonFly__)
 #include <sys/types.h>
 #include <sys/sysctl.h>
 #endif
@@ -182,7 +182,7 @@
 #endif
 
                /* FIXME: Does SSE2 need more OS support, too? */
-#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || 
defined(__CYGWIN__) || defined(__OpenBSD__) || defined(__DragonFly__) || 
defined(__APPLE__)
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) 
|| defined(__NetBSD__) || defined(__CYGWIN__) || defined(__OpenBSD__) || 
defined(__DragonFly__) || defined(__APPLE__)
                if (caps->hasSSE)
                        check_os_katmai_support();
                if (!caps->hasSSE)
@@ -346,7 +346,7 @@
  * support for user space apps that do SSE.
  */
  
-#if defined(__FreeBSD__) || defined(__DragonFly__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || 
defined(__DragonFly__)
 #define SSE_SYSCTL_NAME "hw.instruction_sse"
 #elif defined(__APPLE__)
 #define SSE_SYSCTL_NAME "hw.optional.sse"
@@ -357,7 +357,7 @@
 #ifdef ARCH_X86_64
    gCpuCaps.hasSSE=1;
    gCpuCaps.hasSSE2=1;
-#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || 
defined(__DragonFly__) || defined(__APPLE__)
    int has_sse=0, ret;
    size_t len=sizeof(has_sse);
 
only in patch2:
unchanged:
--- mplayer-1.0~rc1.orig/stream/stream_vcd.c
+++ mplayer-1.0~rc1/stream/stream_vcd.c
@@ -13,7 +13,7 @@
 #include <sys/ioctl.h>
 #include <errno.h>
 
-#if defined(__FreeBSD__) || defined(__DragonFly__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || 
defined(__DragonFly__) 
 #include <sys/cdrio.h>
 #include "vcd_read_fbsd.h" 
 #elif defined(__NetBSD__) || defined (__OpenBSD__)
@@ -71,7 +71,7 @@
   struct stream_priv_s* p = (struct stream_priv_s*)opts;
   int ret,ret2,f;
   mp_vcd_priv_t* vcd;
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
   int bsize = VCD_SECTOR_SIZE;
 #endif
 
@@ -119,7 +119,7 @@
   }
   mp_msg(MSGT_OPEN,MSGL_V,"VCD start byte position: 0x%X  end: 
0x%X\n",ret,ret2);
 
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
   if (ioctl (f, CDRIOCSETBLOCKSIZE, &bsize) == -1) {
     mp_msg(MSGT_OPEN,MSGL_WARN,"Error in CDRIOCSETBLOCKSIZE");
   }
only in patch2:
unchanged:
--- mplayer-1.0~rc1.orig/stream/stream_cddb.c
+++ mplayer-1.0~rc1/stream/stream_cddb.c
@@ -41,7 +41,7 @@
 
 #if defined(__linux__)
        #include <linux/cdrom.h>
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || 
defined(__DragonFly__)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || 
defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
        #include <sys/cdio.h>
 #elif defined(WIN32)
         #include <ddk/ntddcdrm.h>
@@ -133,7 +133,7 @@
         return toc.LastTrack;
 }
 
-#elif defined(__FreeBSD__) || defined(__DragonFly__)
+#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || 
defined(__DragonFly__)
 int 
 read_toc(const char *dev) {
        int drive;
only in patch2:
unchanged:
--- mplayer-1.0~rc1.orig/stream/tvi_bsdbt848.c
+++ mplayer-1.0~rc1/stream/tvi_bsdbt848.c
@@ -44,7 +44,7 @@
 #elif defined(__DragonFly__)
 #include <dev/video/meteor/ioctl_meteor.h>
 #include <dev/video/bktr/ioctl_bt848.h>
-#elif __FreeBSD_version >= 502100
+#elif (__FreeBSD_version >= 502100) || defined(__FreeBSD_kernel__)
 #include <dev/bktr/ioctl_meteor.h>
 #include <dev/bktr/ioctl_bt848.h>
 #else

Reply via email to