From 6a975d24891ec5ade36e2d607775e53b939c6e8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20K=C3=BChling?= Date: Sun, 24 Apr 2011 11:00:16 +0200 Subject: [PATCH] mplayer: use svn versions of mplayer plus mplayer-internal ffmpeg from git Mplayer project seems to have stopped providing release tarballs and recommends use of the SVN version. Package uses revision pinning, so still nice and deterministic. --- mplayer/Makefile | 54 +++++++++++++++++++++++--- mplayer/patches/005-configure.patch | 15 +++++++ mplayer/patches/010-jz47xx-vidix.patch | 24 ++++++------ 3 files changed, 75 insertions(+), 18 deletions(-) create mode 100644 mplayer/patches/005-configure.patch diff --git a/mplayer/Makefile b/mplayer/Makefile index 26b1aaf..2175346 100644 --- a/mplayer/Makefile +++ b/mplayer/Makefile @@ -7,28 +7,61 @@ include $(TOPDIR)/rules.mk PKG_NAME:=MPlayer -PKG_VERSION:=1.0rc3 -PKG_RELEASE:=2 +# newer mplayer revisions lack the --enable-system-ffmpeg configure option +# which totally screws us :( (i.e. they want to checkout and rebuild libffmpeg +# from the mplayer source tree, yuck!) +PKG_REV:=33304 +FFMPEG_REV:=3d462373f8e8fa58b697a9b2d93a5edf70841937 +#32225 -- last revision with enable-system-ffmpeg +PKG_VERSION:=r$(PKG_REV) +PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=http://www.mplayerhq.hu/MPlayer/releases/ -PKG_MD5SUM:=0191ddb9c21620779838e53a4cca5ac1 +PKG_SOURCE=$(PKG_NAME)-$(PKG_VERSION).tar.gz +FFMPEG_SOURCE_URL:=git://git.videolan.org/ffmpeg.git +PKG_SOURCE_URL:=svn://svn.mplayerhq.hu/mplayer/trunk +PKG_SOURCE_PROTO:=svn_plus_ffmpeg_git +PKG_SOURCE_VERSION=$(PKG_REV) +PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk +define DownloadMethod/svn_plus_ffmpeg_git + $(call wrap_mirror, \ + echo "Checking out files from the svn repository..."; \ + mkdir -p $(TMP_DIR)/dl && \ + cd $(TMP_DIR)/dl && \ + rm -rf $(SUBDIR) && \ + [ \! -d $(SUBDIR) ] && \ + ( svn help export | grep -q trust-server-cert && \ + svn export --non-interactive --trust-server-cert -r$(VERSION) $(URL) $(SUBDIR) || \ + svn export --non-interactive -r$(VERSION) $(URL) $(SUBDIR) ) && \ + git clone --depth 1 $(FFMPEG_SOURCE_URL) $(SUBDIR)/ffmpeg && \ + (cd $(SUBDIR)/ffmpeg && git checkout $(FFMPEG_REV)) && \ + echo "Packing checkout..." && \ + rm -rf $(SUBDIR)/ffmpeg/.git && \ + $(call dl_pack,$(TMP_DIR)/dl/$(FILE),$(SUBDIR)) && \ + mv $(TMP_DIR)/dl/$(FILE) $(DL_DIR)/ && \ + rm -rf $(SUBDIR); \ + ) +endef + + define Package/MPlayer SECTION:=multimedia CATEGORY:=Multimedia TITLE:=MPlayer, the movie player URL:=http://www.mplayerhq.hu - DEPENDS:=+libjpeg +libpng +directfb +zlib +libsdl +libfreetype +fontconfig $(ICONV_DEPENDS) +BUILD_PATENTED:libmad +libaa +giflib +fribidi +libtheora + DEPENDS:=+libjpeg +libpng +directfb +zlib +libsdl +libfreetype +fontconfig $(ICONV_DEPENDS) +BUILD_PATENTED:libmad +libaa +giflib +fribidi +libtheora +libggi endef define Package/MPlayer/description MPlayer is a movie player which runs on many systems. endef +# --enable-system-ffmpeg +# --extra-libs="-lavformat -lavcodec -lavutil -lpostproc -lswscale" \ + CONFIGURE_ARGS := --target=mips \ --disable-mencoder \ --disable-pthreads \ @@ -56,9 +89,18 @@ CONFIGURE_ARGS := --target=mips \ --disable-vidix-pcidb \ --with-vidix-drivers="no" +# mplayer makefile is soooo broken. have to specify libs by hand, if +# compileing with --enable-system-ffmpeg +TARGET_CFLAGS+= -std=c99 -DPATH_MAX=512 -D_GNU_SOURCE +# -lavcore + # todo: remove once building correctly MAKE_FLAGS = -j4 +define Build/Configure + $(call Build/Configure/Default,) +endef + define Package/MPlayer/install $(INSTALL_DIR) \ $(1)/usr/bin \ diff --git a/mplayer/patches/005-configure.patch b/mplayer/patches/005-configure.patch new file mode 100644 index 0000000..3df12c5 --- /dev/null +++ b/mplayer/patches/005-configure.patch @@ -0,0 +1,15 @@ +Index: MPlayer-r33304/configure +=================================================================== +--- MPlayer-r33304.orig/configure 2011-04-23 12:22:47.000000000 +0200 ++++ MPlayer-r33304/configure 2011-04-23 12:24:20.000000000 +0200 +@@ -3126,6 +3126,10 @@ + echocheck $func + eval _$func=no + statement_check math.h "${func}(2.0)" -D_ISOC99_SOURCE $_ld_lm && eval _$func=yes ++# override checks for exp2f/log2f(): those exist in the headers but fail linking ++# (maybe only with -Os?) ++_exp2f=no ++_log2f=no + if eval test "x\$_$func" = "xyes"; then + eval def_$func="\"#define HAVE_$(echo $func | tr '[a-z]' '[A-Z]') 1\"" + echores yes diff --git a/mplayer/patches/010-jz47xx-vidix.patch b/mplayer/patches/010-jz47xx-vidix.patch index f7dc369..3fa5a59 100644 --- a/mplayer/patches/010-jz47xx-vidix.patch +++ b/mplayer/patches/010-jz47xx-vidix.patch @@ -1,7 +1,7 @@ -Index: MPlayer-1.0rc3/vidix/drivers.c +Index: MPlayer-r33304/vidix/drivers.c =================================================================== ---- MPlayer-1.0rc3.orig/vidix/drivers.c 2011-03-05 12:13:32.000000000 +0100 -+++ MPlayer-1.0rc3/vidix/drivers.c 2011-03-05 14:50:38.000000000 +0100 +--- MPlayer-r33304.orig/vidix/drivers.c 2011-04-23 12:22:03.000000000 +0200 ++++ MPlayer-r33304/vidix/drivers.c 2011-04-23 12:24:31.000000000 +0200 @@ -23,6 +23,7 @@ #include #include @@ -10,7 +10,7 @@ Index: MPlayer-1.0rc3/vidix/drivers.c #include "config.h" #include "vidix.h" -@@ -102,6 +103,32 @@ +@@ -103,6 +104,32 @@ #ifdef CONFIG_VIDIX_DRV_UNICHROME vidix_register_driver (&unichrome_drv); #endif @@ -43,7 +43,7 @@ Index: MPlayer-1.0rc3/vidix/drivers.c } static int vidix_probe_driver (VDXContext *ctx, VDXDriver *drv, -@@ -190,3 +217,11 @@ +@@ -191,3 +218,11 @@ ctx->drv = NULL; return 0; } @@ -55,11 +55,11 @@ Index: MPlayer-1.0rc3/vidix/drivers.c +compile-command: "cd ~/src/nanonote/MPlayer-1.0rc3 && ~/bin/quilt-export target && make -C ~/h/src/qi/openwrt-xburst package/mplayer/compile -j2 V=99" +End: + */ -Index: MPlayer-1.0rc3/Makefile +Index: MPlayer-r33304/Makefile =================================================================== ---- MPlayer-1.0rc3.orig/Makefile 2011-03-05 13:04:03.000000000 +0100 -+++ MPlayer-1.0rc3/Makefile 2011-03-05 13:04:24.000000000 +0100 -@@ -635,11 +635,11 @@ +--- MPlayer-r33304.orig/Makefile 2011-04-23 12:22:04.000000000 +0200 ++++ MPlayer-r33304/Makefile 2011-04-23 12:24:31.000000000 +0200 +@@ -598,11 +598,11 @@ libvo/vosub_vidix.c \ vidix/vidix.c \ vidix/drivers.c \ @@ -76,10 +76,10 @@ Index: MPlayer-1.0rc3/Makefile SRCS_MPLAYER-$(VIDIX_CYBERBLADE) += vidix/cyberblade_vid.c SRCS_MPLAYER-$(VIDIX_IVTV) += vidix/ivtv_vid.c -Index: MPlayer-1.0rc3/vidix/dha.c +Index: MPlayer-r33304/vidix/dha.c =================================================================== ---- MPlayer-1.0rc3.orig/vidix/dha.c 2011-03-05 13:21:51.000000000 +0100 -+++ MPlayer-1.0rc3/vidix/dha.c 2011-03-05 13:21:59.000000000 +0100 +--- MPlayer-r33304.orig/vidix/dha.c 2011-04-23 12:22:03.000000000 +0200 ++++ MPlayer-r33304/vidix/dha.c 2011-04-23 12:24:31.000000000 +0200 @@ -185,7 +185,7 @@ #endif /* Generic mmap (not win32, nor os2) */