diff options
author | Dan Armak <danarmak@gentoo.org> | 2002-08-08 22:51:25 +0000 |
---|---|---|
committer | Dan Armak <danarmak@gentoo.org> | 2002-08-08 22:51:25 +0000 |
commit | 0688a9deef9e4a73e36f854e2ecfac6e87ffa0b1 (patch) | |
tree | abe9e661062ec22f6ce9c3b1df9c3c8eb976c24a /media-libs | |
parent | mask xine-lib-0.9.13-r1 for testing (diff) | |
download | historical-0688a9deef9e4a73e36f854e2ecfac6e87ffa0b1.tar.gz historical-0688a9deef9e4a73e36f854e2ecfac6e87ffa0b1.tar.bz2 historical-0688a9deef9e4a73e36f854e2ecfac6e87ffa0b1.zip |
make a new masked revision that adds a patch to fix #5412 (kxine)
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/xine-lib/ChangeLog | 8 | ||||
-rw-r--r-- | media-libs/xine-lib/files/digest-xine-lib-0.9.13-r1 | 1 | ||||
-rw-r--r-- | media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch | 322 | ||||
-rw-r--r-- | media-libs/xine-lib/xine-lib-0.9.13-r1.ebuild | 119 |
4 files changed, 449 insertions, 1 deletions
diff --git a/media-libs/xine-lib/ChangeLog b/media-libs/xine-lib/ChangeLog index fb35b2ddf3de..9728b432ad06 100644 --- a/media-libs/xine-lib/ChangeLog +++ b/media-libs/xine-lib/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-libs/xine-lib # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/ChangeLog,v 1.18 2002/08/06 21:16:03 seemant Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/ChangeLog,v 1.19 2002/08/08 22:51:25 danarmak Exp $ + +*xine-lib-0.9.13-r1 (09 Aug 2002) + + 09 Aug 2002; Dan Armak <danarmak@gentoo.org> ChangeLog : + + Add patch to enable kxine to work and hopefully fix #5412. *xine-lib-0.9.10-r1 (06 Aug 2002) diff --git a/media-libs/xine-lib/files/digest-xine-lib-0.9.13-r1 b/media-libs/xine-lib/files/digest-xine-lib-0.9.13-r1 new file mode 100644 index 000000000000..8f38da8ba0ba --- /dev/null +++ b/media-libs/xine-lib/files/digest-xine-lib-0.9.13-r1 @@ -0,0 +1 @@ +MD5 2e37c40bb78732187e3375a220405063 xine-lib-0.9.13.tar.gz 2751090 diff --git a/media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch b/media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch new file mode 100644 index 000000000000..4ce6500732ab --- /dev/null +++ b/media-libs/xine-lib/files/xine-lib-0.9.13-kxine.patch @@ -0,0 +1,322 @@ +diff -ur xine-lib-0.9.13/src/video_out/video_out_x11.h xine-lib-0.9.13-new/src/video_out/video_out_x11.h +--- xine-lib-0.9.13/src/video_out/video_out_x11.h Thu Mar 21 18:29:51 2002 ++++ xine-lib-0.9.13-new/src/video_out/video_out_x11.h Tue Aug 6 23:00:54 2002 +@@ -109,6 +109,12 @@ + /* int *data */ + #define GUI_DATA_EX_VIDEOWIN_VISIBLE 5 + ++/* void (*data[])(Display*) */ ++/* i.e. a pointer to an array of function-pointers ++ * the first is the XLockDisplay replacement ++ * the second is the XUnlockDisplay replacement */ ++#define GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS 6 ++ + /* *data contains chosen visual, select a new one or change it to NULL + * to indicate the visual to use or that no visual will work */ + /* XVisualInfo **data */ +diff -ur xine-lib-0.9.13/src/video_out/video_out_xshm.c xine-lib-0.9.13-new/src/video_out/video_out_xshm.c +--- xine-lib-0.9.13/src/video_out/video_out_xshm.c Thu Aug 1 16:26:53 2002 ++++ xine-lib-0.9.13-new/src/video_out/video_out_xshm.c Tue Aug 6 23:06:54 2002 +@@ -26,6 +26,9 @@ + * + * xine-specific code by Guenter Bartsch <bartscgr@studbox.uni-stuttgart.de> + * ++ * locking function change support for KDE front end by Mark Thomas ++ * <markbt@users.sourceforge.net> - August 2002 ++ * + */ + + #ifdef HAVE_CONFIG_H +@@ -173,6 +176,9 @@ + int video_width, int video_height, + int *dest_width, int *dest_height); + ++ void (*x11_LockDisplay) (Display *); ++ void (*x11_UnlockDisplay) (Display *); ++ + } xshm_driver_t; + + +@@ -404,9 +410,9 @@ + xshm_driver_t *this = (xshm_driver_t *) vo_img->driver; + + if (frame->image) { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + dispose_ximage (this, &frame->shminfo, frame->image); +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + free (frame); +@@ -627,7 +633,7 @@ + frame->output_width, frame->output_height); + #endif + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + /* + * (re-) allocate XImage +@@ -656,7 +662,7 @@ + frame->image = create_ximage (this, &frame->shminfo, + frame->output_width, frame->output_height); + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + if (format == IMGFMT_YV12) { + frame->vo_frame.pitches[0] = 8*((width + 7) / 8); +@@ -768,7 +774,7 @@ + + static void clean_output_area (xshm_driver_t *this) { + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + XSetForeground (this->display, this->gc, this->black.pixel); + +@@ -804,7 +810,7 @@ + + #endif + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + static int xshm_redraw_needed (vo_driver_t *this_gen) { +@@ -913,7 +919,7 @@ + xoffset = (this->gui_width - frame->output_width) / 2 + this->gui_x; + yoffset = (this->gui_height - frame->output_height) / 2 + this->gui_y; + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + #ifdef LOG + printf ("video_out_xshm: display locked...\n"); + #endif +@@ -946,7 +952,7 @@ + XFlush(this->display); + } + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + } + +@@ -1103,7 +1109,7 @@ + + if (xev->count == 0) { + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + xoffset = (this->cur_frame->gui_width - this->cur_frame->output_width) / 2; + yoffset = (this->cur_frame->gui_height - this->cur_frame->output_height) / 2; +@@ -1145,7 +1151,7 @@ + + XFlush (this->display); + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + } +@@ -1181,6 +1187,14 @@ + + break; + ++ case GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS: ++ { ++ void (**func)(void) = data; ++ this -> x11_LockDisplay = func[0]; ++ this -> x11_UnlockDisplay = func[1]; ++ } ++ break; ++ + default: + return -1; + } +@@ -1305,6 +1319,9 @@ + this->gc = XCreateGC (this->display, this->drawable, + 0, NULL); + ++ this->x11_LockDisplay = XLockDisplay; ++ this->x11_UnlockDisplay = XUnlockDisplay; ++ + this->vo_driver.get_capabilities = xshm_get_capabilities; + this->vo_driver.alloc_frame = xshm_alloc_frame; + this->vo_driver.update_frame_format = xshm_update_frame_format; +diff -ur xine-lib-0.9.13/src/video_out/video_out_xv.c xine-lib-0.9.13-new/src/video_out/video_out_xv.c +--- xine-lib-0.9.13/src/video_out/video_out_xv.c Sat Jul 20 22:46:06 2002 ++++ xine-lib-0.9.13-new/src/video_out/video_out_xv.c Tue Aug 6 23:06:17 2002 +@@ -29,6 +29,9 @@ + * xine-specific code by Guenter Bartsch <bartscgr@studbox.uni-stuttgart.de> + * + * overlay support by James Courtier-Dutton <James@superbug.demon.co.uk> - July 2001 ++ * ++ * locking function change support for KDE front-end by Mark Thomas ++ * <markbt@users.sourceforge.net> - August 2002 + */ + + #ifdef HAVE_CONFIG_H +@@ -196,6 +199,9 @@ + + int use_colorkey; + uint32_t colorkey; ++ ++ void (*x11_LockDisplay) (Display *); ++ void (*x11_UnlockDisplay) (Display *); + }; + + int gX11Fail; +@@ -219,18 +225,18 @@ + if (frame->image) { + + if (this->use_shm) { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + XShmDetach (this->display, &frame->shminfo); + XFree (frame->image); +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + shmdt (frame->shminfo.shmaddr); + shmctl (frame->shminfo.shmid, IPC_RMID, NULL); + } + else { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + XFree (frame->image); +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + } + +@@ -450,7 +456,7 @@ + + /* printf ("video_out_xv: updating frame to %d x %d (ratio=%d, format=%08x)\n",width,height,ratio_code,format); */ + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + /* + * (re-) allocate xvimage +@@ -474,7 +480,7 @@ + frame->height = height; + frame->format = format; + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + frame->ratio_code = ratio_code; +@@ -494,7 +500,7 @@ + || (frame->width != this->deinterlace_frame.width) + || (frame->height / xvscaling != this->deinterlace_frame.height ) + || (frame->format != this->deinterlace_frame.format)) { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + if( this->deinterlace_frame.image ) + dispose_ximage (this, &this->deinterlace_frame.shminfo, +@@ -507,7 +513,7 @@ + this->deinterlace_frame.height = frame->height / xvscaling; + this->deinterlace_frame.format = frame->format; + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + +@@ -584,7 +590,7 @@ + + static void xv_clean_output_area (xv_driver_t *this) { + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + XSetForeground (this->display, this->gc, this->black.pixel); + +@@ -598,7 +604,7 @@ + this->output_width, this->output_height); + } + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + + /* +@@ -865,7 +871,7 @@ + */ + xv_redraw_needed (this_gen); + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + if (this->use_shm) { + XvShmPutImage(this->display, this->xv_port, +@@ -887,7 +893,7 @@ + + XFlush(this->display); + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + } + /* +@@ -1034,7 +1040,7 @@ + /* FIXME : take care of completion events */ + + if (this->cur_frame) { +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + + if (this->use_shm) { + XvShmPutImage(this->display, this->xv_port, +@@ -1075,7 +1081,7 @@ + + XFlush(this->display); + +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + } + } + break; +@@ -1101,6 +1107,14 @@ + } + break; + ++ case GUI_DATA_EX_CHANGE_LOCK_FUNCTIONS: ++ { ++ void (**func)(void) = data; ++ this->x11_LockDisplay = func[0]; ++ this->x11_UnlockDisplay = func[1]; ++ } ++ break; ++ + default: + return -1; + } +@@ -1119,11 +1133,11 @@ + this->deinterlace_frame.image = NULL; + } + +- XLockDisplay (this->display); ++ this->x11_LockDisplay (this->display); + if(XvUngrabPort (this->display, this->xv_port, CurrentTime) != Success) { + printf ("video_out_xv: xv_exit: XvUngrabPort() failed.\n"); + } +- XUnlockDisplay (this->display); ++ this->x11_UnlockDisplay (this->display); + + for( i=0; i < VO_NUM_RECENT_FRAMES; i++ ) + { +@@ -1352,6 +1366,8 @@ + this->deinterlace_frame.image = NULL; + this->use_colorkey = 0; + this->colorkey = 0; ++ this->x11_LockDisplay = XLockDisplay; ++ this->x11_UnlockDisplay = XUnlockDisplay; + + XAllocNamedColor(this->display, + DefaultColormap(this->display, this->screen), diff --git a/media-libs/xine-lib/xine-lib-0.9.13-r1.ebuild b/media-libs/xine-lib/xine-lib-0.9.13-r1.ebuild new file mode 100644 index 000000000000..73e833d83e38 --- /dev/null +++ b/media-libs/xine-lib/xine-lib-0.9.13-r1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/xine-lib-0.9.13-r1.ebuild,v 1.1 2002/08/08 22:51:25 danarmak Exp $ + +inherit libtool || die "I lost my inheritance" + +S=${WORKDIR}/${P} +DESCRIPTION="Xine is a free gpl-licensed video player for unix-like systems" +HOMEPAGE="http://xine.sourceforge.net/" +SRC_URI="http://xine.sourceforge.net/files/${P}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="x86" + +DEPEND="oggvorbis? ( media-libs/libvorbis ) + X? ( virtual/x11 ) + avi? ( >=media-libs/win32codecs-0.50 + media-libs/divx4linux ) + esd? ( media-sound/esound ) + dvd? ( >=media-libs/libdvdcss-0.0.3.3 + >=media-libs/libdvdread-0.9.2 ) + arts? ( kde-base/kdelibs ) + alsa? ( media-libs/alsa-lib ) + aalib? ( media-libs/aalib ) + directfb? ( >=dev-libs/DirectFB-0.9.9 + dev-util/pkgconfig )" + +RDEPEND="${DEPEND} + nls? ( sys-devel/gettext )" + +SLOT="0" +LICENSE="GPL" +KEYWORDS="x86" + +src_unpack() { + + unpack ${A} + cd ${S} + + patch -p1 < ${FILESDIR}/xine-lib-configure.patch || die "configure patch failed" + + # allows kxine to work; see bug #5412 + patch -p1 < ${FILESDIR}/${P}-kxine.patch || die "patching for kxine support failed" + + if [ `use directfb` ]; then + patch -p0 < ${FILESDIR}/xineconfig.patch-${PV} || die "dfb patch 1 failed" +# patch -p2 < ${FILESDIR}/${PF}-directfb.patch || die "dfb patch 2 failed" + else + patch -p1 < ${FILESDIR}/${PN}-disable-directfb.patch || die "no dfb patch failed" + fi +} + +src_compile() { + + elibtoolize + + # Most of these are not working currently, but are here for completeness + # don't use the --disable-XXXtest because that defaults to ON not OFF + local myconf + use X \ + || myconf="${myconf} --disable-x11 --disable-xv" + use esd \ + || myconf="${myconf} --disable-esd" + # --disable-esdtest" + use nls \ + || myconf="${myconf} --disable-nls" + use alsa \ + || myconf="${myconf} --disable-alsa" + # --disable-alsatest" + use arts \ + || myconf="${myconf} --disable-arts" + # --disable-artstest" + + # This breaks because with the test disabled, it defaults to "found" check with + # the next release until then let it autodetect. See bug #2377. + use aalib || myconf="${myconf} --disable-aalib" + # --disable-aalibtest" + + # Configure script is broken, even if you pass the flags below it still assumes + # ogg is installed and tries to compile it, giving you bug #5244. But leaving + # ogg for autodetection works. + use oggvorbis \ + || myconf="${myconf} --disable-ogg --disable-vorbis" +# --disable-oggtest \ +# --disable-vorbistest" + + use avi \ + && myconf="${myconf} --with-w32-path=/usr/lib/win32" \ + || myconf="${myconf} --disable-asf" + + einfo "myconf: ${myconf}" + + econf ${myconf} || die + + elibtoolize + + emake || die +} + +src_install() { + + einstall || die + + dodoc AUTHORS COPYING ChangeLog INSTALL README TODO + cd ${S}/doc + dodoc dataflow.dia README* + +} + +pkg_postinst() { + + einfo + einfo "Please note, a new version of xine-lib has been installed," + einfo "for library consistency you need to unmerge old versions" + einfo "of xine-lib before merging xine-ui." + einfo + +} |