From d5aa8292cc6ff76f16f3878e98cd750b52a33fcb Mon Sep 17 00:00:00 2001 From: Cecil Hugh Watson Date: Thu, 29 Jan 2009 00:26:43 -0800 Subject: Updated mplayer to sync w/ upstream. --- .../mplayer/MPlayer-1.0rc1-gnome-screensaver.patch | 286 +++++++++++++++++++++ abs/core-testing/mplayer/PKGBUILD | 45 ++++ abs/core-testing/mplayer/mplayer_desktop.patch | 11 + 3 files changed, 342 insertions(+) create mode 100644 abs/core-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch create mode 100644 abs/core-testing/mplayer/PKGBUILD create mode 100644 abs/core-testing/mplayer/mplayer_desktop.patch diff --git a/abs/core-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch b/abs/core-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch new file mode 100644 index 0000000..79deb93 --- /dev/null +++ b/abs/core-testing/mplayer/MPlayer-1.0rc1-gnome-screensaver.patch @@ -0,0 +1,286 @@ +diff -Nur MPlayer-1.0rc1.orig/configure MPlayer-1.0rc1/configure +--- MPlayer-1.0rc1.orig/configure 2006-10-23 00:32:31.000000000 +0200 ++++ MPlayer-1.0rc1/configure 2006-11-11 14:02:38.000000000 +0100 +@@ -257,6 +257,7 @@ + --disable-ftp Disable ftp support [enabled] + --disable-vstream Disable tivo vstream client support [autodetect] + --disable-pthreads Disable Posix threads support [autodetect] ++ --disable-dbus-glib Disable D-BUS GLib interface (required for GNOME screensaver support) [autodetect] + --disable-ass Disable internal SSA/ASS subtitles support [autodetect] + --enable-rpath Enable runtime linker path for extra libs [disabled] + +@@ -1721,6 +1722,7 @@ + _musepack=auto + _vstream=auto + _pthreads=auto ++_dbus_glib=auto + _ass=auto + _rpath=no + _asmalign_pot=auto +@@ -2033,6 +2035,8 @@ + --disable-vstream) _vstream=no ;; + --enable-pthreads) _pthreads=yes ;; + --disable-pthreads) _pthreads=no ;; ++ --enable-dbus-glib) _dbus_glib=yes ;; ++ --disable-dbus-glib) _dbus_glib=no ;; + --enable-ass) _ass=yes ;; + --disable-ass) _ass=no ;; + --enable-rpath) _rpath=yes ;; +@@ -7029,6 +7033,19 @@ + fi + echores "$_gethostbyname2" + ++echocheck "D-BUS GLib interface" ++if test "$_dbus_glib" = auto && pkg-config --exists dbus-glib-1; then ++ _dbus_glib=yes ++ _inc_dbus_glib=`pkg-config --cflags dbus-glib-1 2>/dev/null` ++ _ld_dbus_glib=`pkg-config --libs dbus-glib-1 2>/dev/null` ++fi ++ ++if test "$_dbus_glib" = yes; then ++ _def_dbus_glib='#define HAVE_DBUS_GLIB 1' ++else ++ _def_dbus_glib='#undef HAVE_DBUS_GLIB' ++fi ++echores "$_dbus_glib" + + # --------------- GUI specific tests begin ------------------- + echocheck "GUI" +@@ -7521,6 +7538,10 @@ + VESA_LIB = $_ld_vesa + AA_LIB = $_ld_aa + CACA_LIB = $_ld_caca ++DBUS_GLIB_INC = $_inc_dbus_glib ++DBUS_GLIB_LIB = $_ld_dbus_glib ++DBUS_GLIB = $_dbus_glib ++ + + # audio output + OSS = $_ossaudio +@@ -8378,6 +8399,7 @@ + $_def_tga + $_def_toolame + $_def_twolame ++$_def_dbus_glib + + /* used by GUI: */ + $_def_xshape +diff -Nur MPlayer-1.0rc1.orig/help/help_mp-en.h MPlayer-1.0rc1/help/help_mp-en.h +--- MPlayer-1.0rc1.orig/help/help_mp-en.h 2006-10-23 00:32:29.000000000 +0200 ++++ MPlayer-1.0rc1/help/help_mp-en.h 2006-11-11 14:02:38.000000000 +0100 +@@ -679,6 +679,13 @@ + #define MSGTR_InsertingAfVolume "[Mixer] No hardware mixing, inserting volume filter.\n" + #define MSGTR_NoVolume "[Mixer] No volume control available.\n" + ++// gnome_screensaver.c ++#define MSGTR_OpenBusConnectionError "%s: Failed to open connection to bus: %s\n" ++#define MSGTR_RemoteMethodException "%s: Caught remote method exception %s: %s\n" ++#define MSGTR_GError "%s: Error: %s\n" ++#define MSGTR_GNOMEScreensaverEnabled "GNOME screensaver enabled\n" ++#define MSGTR_GNOMEScreensaverDisabled "GNOME screensaver disabled\n" ++ + // ====================== GUI messages/buttons ======================== + + #ifdef HAVE_NEW_GUI +diff -Nur MPlayer-1.0rc1.orig/libvo/gnome_screensaver.c MPlayer-1.0rc1/libvo/gnome_screensaver.c +--- MPlayer-1.0rc1.orig/libvo/gnome_screensaver.c 1970-01-01 01:00:00.000000000 +0100 ++++ MPlayer-1.0rc1/libvo/gnome_screensaver.c 2006-11-11 14:02:38.000000000 +0100 +@@ -0,0 +1,120 @@ ++/* ++ * gnome_screensaver.c v0.0.7 ++ * ++ * Enable/Disable the GNOME screensaver ++ * Supports GNOME screensaver API 2.14 and 2.15 ++ * ++ * Call gnome_screensaver_control(1) to enable and ++ * gnome_screensaver_control(0) to disable ++ * ++ */ ++ ++#include ++#include ++#include ++ ++#include "gnome_screensaver.h" ++#include "mp_msg.h" ++#include "help_mp.h" ++ ++#define GS_SERVICE "org.gnome.ScreenSaver" ++#define GS_PATH "/org/gnome/ScreenSaver" ++#define GS_INTERFACE "org.gnome.ScreenSaver" ++ ++#define GS_APPLICATION_NAME "MPlayer" ++#define GS_REASON_FOR_INHIBIT "Playing a movie" ++ ++static guint32 cookie; ++ ++void gnome_screensaver_control(int enable) ++{ ++ DBusGConnection *connection; ++ GError *error; ++ DBusGProxy *proxy; ++ gboolean ret; ++ char *funcname = "gnome_screensaver_control()"; ++ ++ g_type_init(); ++ ++ /* Get a connection to the session bus */ ++ error = NULL; ++ connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error); ++ if (connection == NULL) { ++ mp_msg(MSGT_VO, MSGL_ERR, ++ funcname, MSGTR_OpenBusConnectionError, error->message); ++ g_error_free(error); ++ return; ++ } ++ ++ /* Create a proxy object */ ++ proxy = dbus_g_proxy_new_for_name(connection, ++ GS_SERVICE, GS_PATH, GS_INTERFACE); ++ ++ /* Enable the screensaver */ ++ if (enable) { ++ /* First call the GNOME screensaver 2.15 API method */ ++ error = NULL; ++ ret = ++ dbus_g_proxy_call(proxy, "UnInhibit", &error, G_TYPE_UINT, ++ cookie, G_TYPE_INVALID); ++ ++ /* If this fails, try the GNOME screensaver 2.14 API */ ++ if (!ret && error->domain == DBUS_GERROR ++ && error->code == DBUS_GERROR_UNKNOWN_METHOD) { ++ mp_msg(MSGT_VO, MSGL_V, ++ "%s: GNOME screensaver 2.15 API failed, trying 2.14 API\n", ++ funcname); ++ g_error_free(error); ++ error = NULL; ++ ret = ++ dbus_g_proxy_call(proxy, "AllowActivation", &error, ++ G_TYPE_INVALID, G_TYPE_INVALID); ++ } ++ } ++ /* Disable the screensaver */ ++ else { ++ /* First call the GNOME screensaver 2.15 API method */ ++ error = NULL; ++ ret = ++ dbus_g_proxy_call(proxy, "Inhibit", &error, G_TYPE_STRING, ++ GS_APPLICATION_NAME, G_TYPE_STRING, ++ GS_REASON_FOR_INHIBIT, G_TYPE_INVALID, ++ G_TYPE_UINT, cookie, G_TYPE_INVALID); ++ ++ /* If this fails, try the GNOME screensaver 2.14 API */ ++ if (!ret && error->domain == DBUS_GERROR ++ && error->code == DBUS_GERROR_UNKNOWN_METHOD) { ++ mp_msg(MSGT_VO, MSGL_V, ++ "%s: GNOME screensaver 2.15 API failed, trying 2.14 API\n", ++ funcname); ++ g_error_free(error); ++ error = NULL; ++ ret = ++ dbus_g_proxy_call(proxy, "InhibitActivation", &error, ++ G_TYPE_STRING, GS_REASON_FOR_INHIBIT, ++ G_TYPE_INVALID, G_TYPE_INVALID); ++ } ++ } ++ ++ if (!ret) { ++ /* Check if it's a remote exception or a regular GError */ ++ if (error->domain == DBUS_GERROR ++ && error->code == DBUS_GERROR_REMOTE_EXCEPTION) { ++ mp_msg(MSGT_VO, MSGL_ERR, ++ funcname, MSGTR_RemoteMethodException, ++ dbus_g_error_get_name(error), error->message); ++ } ++ else { ++ mp_msg(MSGT_VO, MSGL_ERR, ++ funcname, MSGTR_GError, error->message); ++ } ++ g_error_free(error); ++ } ++ else { ++ mp_msg(MSGT_VO, MSGL_INFO, ++ enable ? MSGTR_GNOMEScreensaverEnabled : ++ MSGTR_GNOMEScreensaverDisabled); ++ } ++ ++ g_object_unref(proxy); ++} +diff -Nur MPlayer-1.0rc1.orig/libvo/gnome_screensaver.h MPlayer-1.0rc1/libvo/gnome_screensaver.h +--- MPlayer-1.0rc1.orig/libvo/gnome_screensaver.h 1970-01-01 01:00:00.000000000 +0100 ++++ MPlayer-1.0rc1/libvo/gnome_screensaver.h 2006-11-11 14:02:38.000000000 +0100 +@@ -0,0 +1,6 @@ ++#ifndef _GNOME_SCREENSAVER_H ++#define _GNOME_SCREENSAVER_H ++ ++extern void gnome_screensaver_control(int enable); ++ ++#endif /* !_GNOME_SCREENSAVER_H */ +diff -Nur MPlayer-1.0rc1.orig/libvo/Makefile MPlayer-1.0rc1/libvo/Makefile +--- MPlayer-1.0rc1.orig/libvo/Makefile 2006-10-23 00:32:26.000000000 +0200 ++++ MPlayer-1.0rc1/libvo/Makefile 2006-11-11 14:02:38.000000000 +0100 +@@ -39,6 +39,11 @@ + SRCS += vosub_vidix.c + endif + ++ifeq ($(DBUS_GLIB),yes) ++SRCS += gnome_screensaver.c ++LIBAV_INC += $(DBUS_GLIB_INC) ++endif ++ + INCLUDE = -I. -I.. -I../osdep $(LIBAV_INC) + CFLAGS = $(INCLUDE) $(OPTFLAGS) -DMPG12PLAY + +diff -Nur MPlayer-1.0rc1.orig/libvo/x11_common.c MPlayer-1.0rc1/libvo/x11_common.c +--- MPlayer-1.0rc1.orig/libvo/x11_common.c 2006-10-23 00:32:26.000000000 +0200 ++++ MPlayer-1.0rc1/libvo/x11_common.c 2006-11-11 14:02:38.000000000 +0100 +@@ -58,6 +58,10 @@ + #include "mplayer.h" + #endif + ++#ifdef HAVE_DBUS_GLIB ++#include "gnome_screensaver.h" ++#endif ++ + #define WIN_LAYER_ONBOTTOM 2 + #define WIN_LAYER_NORMAL 4 + #define WIN_LAYER_ONTOP 6 +@@ -1701,8 +1705,12 @@ + timeout_save = 0; + } + +- if (stop_xscreensaver) ++ if (stop_xscreensaver) { + xscreensaver_enable(); ++#ifdef HAVE_DBUS_GLIB ++ gnome_screensaver_control(1); ++#endif ++ } + if (kdescreensaver_was_running && stop_xscreensaver) + { + system +@@ -1747,8 +1755,12 @@ + allow_exp); + } + // turning off screensaver +- if (stop_xscreensaver) ++ if (stop_xscreensaver) { + xscreensaver_disable(mDisplay); ++#ifdef HAVE_DBUS_GLIB ++ gnome_screensaver_control(0); ++#endif ++ } + if (stop_xscreensaver && !kdescreensaver_was_running) + { + kdescreensaver_was_running = +diff -Nur MPlayer-1.0rc1.orig/Makefile MPlayer-1.0rc1/Makefile +--- MPlayer-1.0rc1.orig/Makefile 2006-10-23 00:32:31.000000000 +0200 ++++ MPlayer-1.0rc1/Makefile 2006-11-11 14:02:38.000000000 +0100 +@@ -75,6 +75,7 @@ + $(DIRECTFB_LIB) \ + $(CACA_LIB) \ + $(VESA_LIB) \ ++ $(DBUS_GLIB_LIB) \ + + ifeq ($(VIDIX),yes) + VO_LIBS += vidix/libvidix.a diff --git a/abs/core-testing/mplayer/PKGBUILD b/abs/core-testing/mplayer/PKGBUILD new file mode 100644 index 0000000..612c790 --- /dev/null +++ b/abs/core-testing/mplayer/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 25315 2009-01-26 13:00:04Z giovanni $ +# Maintainer: Hugo Doria + +pkgname=mplayer +pkgver=28347 +pkgrel=2 +pkgdesc="A movie player for linux" +arch=('i686' 'x86_64') +depends=('libxxf86dga' 'libxv' 'libmad' 'giflib' 'cdparanoia' 'gtk2' + 'sdl' 'lame' 'libtheora' 'xvidcore' 'zlib' 'libmng' 'libxss' + 'libgl' 'smbclient' 'aalib' 'jack-audio-connection-kit' + 'x264>=20090108' 'faac' 'lirc-utils' 'ttf-dejavu' 'fribidi') +license=('GPL') +url="http://www.mplayerhq.hu/" +makedepends=('libcaca' 'unzip' 'live-media' 'libdca' 'mesa') +backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf') +source=(ftp://ftp.archlinux.org/other/mplayer/${pkgname}-${pkgver}.tar.bz2 + http://www.mplayerhq.hu/MPlayer/skins/Blue-1.7.tar.bz2) +md5sums=('41fb540025a51930d318e99728a19c66' + 'e4e2020d11b681aac898103b3ba723c4') + +build() { + # Custom CFLAGS break the mplayer build + unset CFLAGS + + cd ${srcdir}/${pkgname} + + ./configure --prefix=/usr --enable-gui --disable-arts --enable-x11 \ + --enable-runtime-cpudetection --confdir=/etc/mplayer --disable-nas \ + --enable-gl --enable-tv-v4l1 --enable-tv-v4l2 --enable-largefiles \ + --disable-liblzo --disable-speex --disable-openal \ + --enable-fribidi --disable-libdv --disable-musepack \ + --language=all --disable-dvdnav --disable-esd --disable-mga \ + --disable-libamr_nb --disable-lirc \ + --with-extraincdir=/usr/lib/live-media --enable-freetype + + [ "$CARCH" = "i686" ] && sed 's|-march=i486|-march=i686|g' -i config.mak + + make || return 1 + make -j1 DESTDIR=${pkgdir} install || return 1 + cp etc/{codecs.conf,input.conf,example.conf} ${pkgdir}/etc/mplayer/ + ln -s /usr/share/fonts/TTF/DejaVuSans.ttf ${pkgdir}/usr/share/mplayer/subfont.ttf + rm -rf ${pkgdir}/usr/share/mplayer/font + mv ${srcdir}/Blue ${pkgdir}/usr/share/mplayer/skins/default +} diff --git a/abs/core-testing/mplayer/mplayer_desktop.patch b/abs/core-testing/mplayer/mplayer_desktop.patch new file mode 100644 index 0000000..d7c6ff3 --- /dev/null +++ b/abs/core-testing/mplayer/mplayer_desktop.patch @@ -0,0 +1,11 @@ +--- mplayer.desktop 2008-04-12 21:29:02.000000000 -0300 ++++ mplayer.desktop-new 2009-01-21 23:02:11.000000000 -0300 +@@ -1,7 +1,7 @@ + [Desktop Entry] + Type=Application + Encoding=UTF-8 +-Name=MPlayer ++Name=GMPlayer + GenericName=Multimedia player + Comment=Multimedia player + Comment[de]=Multimedia-Player -- cgit v0.12