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