summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2005-04-25 16:49:43 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2005-04-25 16:49:43 +0000
commitb38bab6d75e80ca4313a5ef30194fd7c1bfe5bfb (patch)
tree686eb84657961deaa41f259e232ee867e3616c85 /media-libs
parentcleaning (diff)
downloadgentoo-2-b38bab6d75e80ca4313a5ef30194fd7c1bfe5bfb.tar.gz
gentoo-2-b38bab6d75e80ca4313a5ef30194fd7c1bfe5bfb.tar.bz2
gentoo-2-b38bab6d75e80ca4313a5ef30194fd7c1bfe5bfb.zip
Backported XSA-2004-8 patch to 1_rc6 as 1.0 doesn't work on sparc.
(Portage version: 2.0.51.20-r4)
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/xine-lib/ChangeLog8
-rw-r--r--media-libs/xine-lib/files/digest-xine-lib-1_rc6-r21
-rw-r--r--media-libs/xine-lib/files/xine-lib-1_rc6-XSA-2004-8.patch40
-rw-r--r--media-libs/xine-lib/xine-lib-1_rc6-r2.ebuild190
4 files changed, 238 insertions, 1 deletions
diff --git a/media-libs/xine-lib/ChangeLog b/media-libs/xine-lib/ChangeLog
index a32cd0e26719..f6bc9e584e17 100644
--- a/media-libs/xine-lib/ChangeLog
+++ b/media-libs/xine-lib/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-libs/xine-lib
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/ChangeLog,v 1.212 2005/04/25 14:45:20 azarah Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/ChangeLog,v 1.213 2005/04/25 16:49:43 flameeyes Exp $
+
+*xine-lib-1_rc6-r2 (25 Apr 2005)
+
+ 25 Apr 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/xine-lib-1_rc6-XSA-2004-8.patch, +xine-lib-1_rc6-r2.ebuild:
+ Backported XSA-2004-8 patch to 1_rc6 as 1.0 doesn't work on sparc.
25 Apr 2005; Martin Schlemmer <azarah@gentoo.org>
files/xine-lib-gcc4.patch:
diff --git a/media-libs/xine-lib/files/digest-xine-lib-1_rc6-r2 b/media-libs/xine-lib/files/digest-xine-lib-1_rc6-r2
new file mode 100644
index 000000000000..3c24e7d6ef98
--- /dev/null
+++ b/media-libs/xine-lib/files/digest-xine-lib-1_rc6-r2
@@ -0,0 +1 @@
+MD5 32b231beb9b2194606a18ed7bcf2bcb3 xine-lib-1-rc6a.tar.gz 7003035
diff --git a/media-libs/xine-lib/files/xine-lib-1_rc6-XSA-2004-8.patch b/media-libs/xine-lib/files/xine-lib-1_rc6-XSA-2004-8.patch
new file mode 100644
index 000000000000..8d6f1e00227f
--- /dev/null
+++ b/media-libs/xine-lib/files/xine-lib-1_rc6-XSA-2004-8.patch
@@ -0,0 +1,40 @@
+diff -ur -x '*~' xine-lib-1-rc6a/src/input/librtsp/rtsp.c xine-lib-1-rc6a-XSA/src/input/librtsp/rtsp.c
+--- xine-lib-1-rc6a/src/input/librtsp/rtsp.c 2004-07-27 04:08:48.000000000 +0200
++++ xine-lib-1-rc6a-XSA/src/input/librtsp/rtsp.c 2005-04-25 17:59:21.392277328 +0200
+@@ -218,6 +218,7 @@
+ unsigned int answer_seq;
+ char **answer_ptr=s->answers;
+ int code;
++ int ans_count = 0;
+
+ answer=rtsp_get(s);
+ if (!answer)
+@@ -268,7 +269,7 @@
+ }
+ *answer_ptr=answer;
+ answer_ptr++;
+- } while (strlen(answer)!=0);
++ } while ((strlen(answer)!=0) && (++ans_count < MAX_FIELDS));
+
+ s->cseq++;
+
+diff -ur -x '*~' xine-lib-1-rc6a/src/input/mms.c xine-lib-1-rc6a-XSA/src/input/mms.c
+--- xine-lib-1-rc6a/src/input/mms.c 2004-07-27 04:08:47.000000000 +0200
++++ xine-lib-1-rc6a-XSA/src/input/mms.c 2005-04-25 18:01:59.677214360 +0200
+@@ -573,9 +573,13 @@
+ stream_id = LE_16(this->asf_header + i + 48);
+
+ lprintf ("stream object, stream id: %d\n", stream_id);
+- this->stream_types[stream_id] = type;
+- this->stream_ids[this->num_stream_ids] = stream_id;
+- this->num_stream_ids++;
++ if (this->num_stream_ids < ASF_MAX_NUM_STREAMS && stream_id < ASF_MAX_NUM_STREAMS) {
++ this->stream_types[stream_id] = type;
++ this->stream_ids[this->num_stream_ids] = stream_id;
++ this->num_stream_ids++;
++ } else {
++ lprintf ("too many streams, skipping\n");
++ }
+
+ }
+ break;
diff --git a/media-libs/xine-lib/xine-lib-1_rc6-r2.ebuild b/media-libs/xine-lib/xine-lib-1_rc6-r2.ebuild
new file mode 100644
index 000000000000..01f9cd69c8eb
--- /dev/null
+++ b/media-libs/xine-lib/xine-lib-1_rc6-r2.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/xine-lib-1_rc6-r2.ebuild,v 1.1 2005/04/25 16:49:43 flameeyes Exp $
+
+inherit eutils flag-o-matic gcc libtool
+
+# This should normally be empty string, unless a release has a suffix.
+MY_PKG_SUFFIX="a"
+
+DESCRIPTION="Core libraries for Xine movie player"
+HOMEPAGE="http://xine.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xine/${PN}-${PV/_/-}${MY_PKG_SUFFIX}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="arts esd avi nls dvd aalib X directfb oggvorbis alsa gnome sdl speex theora ipv6 altivec"
+RESTRICT="nostrip"
+
+RDEPEND="oggvorbis? ( media-libs/libvorbis )
+ !amd64? ( X? ( virtual/x11 ) )
+ amd64? ( X? ( || ( virtual/x11 ) ) )
+ avi? ( x86? ( >=media-libs/win32codecs-0.50 ) )
+ esd? ( media-sound/esound )
+ dvd? ( >=media-libs/libdvdcss-1.2.7 )
+ arts? ( kde-base/arts )
+ alsa? ( media-libs/alsa-lib )
+ aalib? ( media-libs/aalib )
+ directfb? ( >=dev-libs/DirectFB-0.9.9 dev-util/pkgconfig )
+ gnome? ( >=gnome-base/gnome-vfs-2.0
+ dev-util/pkgconfig )
+ >=media-libs/flac-1.0.4
+ sdl? ( >=media-libs/libsdl-1.1.5 )
+ >=media-libs/libfame-0.9.0
+ theora? ( media-libs/libtheora )
+ speex? ( media-libs/speex )"
+DEPEND="${RDEPEND}
+ >=sys-devel/automake-1.7
+ >=sys-devel/autoconf-2.59
+ nls? ( sys-devel/gettext )"
+
+S=${WORKDIR}/${PN}-${PV/_/-}${MY_PKG_SUFFIX}
+
+pkg_setup() {
+ # Make sure that the older libraries are not installed (bug #15081).
+ if [ `has_version =media-libs/xine-lib-0.9.13*` ]
+ then
+ eerror "Please uninstall older xine libraries.";
+ eerror "The compilation cannot proceed.";
+ die
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # preserve CFLAGS added by drobbins, -O3 isn't as good as -O2 most of the time
+ epatch ${FILESDIR}/protect-CFLAGS.patch-${PV}
+ # plasmaroo: Kernel 2.6 headers patch
+ epatch ${FILESDIR}/${P}-2.6.patch
+ # force 32 bit userland
+ [ ${ARCH} = "sparc" ] && epatch ${FILESDIR}/${P}-configure-sparc.patch
+
+ # Fix building on amd64, #49569
+ #use amd64 && epatch ${FILESDIR}/configure-64bit-define.patch
+
+ epatch ${FILESDIR}/${P}-pic.patch
+ epatch ${FILESDIR}/${P}-mmx.patch
+ epatch ${FILESDIR}/${P}-XSA-2004-8.patch
+
+ # Fix detection of hppa2.0 and hppa1.1 CHOST
+ use hppa && sed -e 's/hppa-/hppa*-linux-/' -i ${S}/configure.ac
+
+ # Fix security bug #74475
+ epatch ${FILESDIR}/djb_demux_aiff.patch
+
+ # Makefile.ams and configure.ac get patched, so we need to rerun
+ # autotools
+ export WANT_AUTOCONF=2.5
+ export WANT_AUTOMAKE=1.7
+ aclocal -I m4
+ libtoolize --copy --force
+ autoheader
+ automake -a -f -c
+ autoconf
+}
+
+src_compile() {
+ filter-flags -maltivec -mabi=altivec
+ filter-flags -fforce-addr
+ filter-flags -momit-leaf-frame-pointer #46339
+ filter-flags -funroll-all-loops #55420
+
+ if [ "`gcc-major-version`" -ge "3" -a "`gcc-minor-version`" -ge "4" ]; then
+ append-flags -fno-web #49509
+ filter-flags -fno-unit-at-a-time #55202
+ append-flags -funit-at-a-time #55202
+ fi
+
+ is-flag -O? || append-flags -O1 #31243
+
+ # fix build errors with sse2 #49482
+ if use x86 ; then
+ if [ `gcc-major-version` -eq 3 ] ; then
+ append-flags -mno-sse2 `test_flag -mno-sse3`
+ filter-mfpmath sse
+ fi
+ fi
+
+ # Use the built-in dvdnav plugin.
+ local myconf="--with-included-dvdnav"
+
+ # the win32 codec path should ignore $(get_libdir) and always use lib
+ use avi && use x86 \
+ && myconf="${myconf} --with-w32-path=/usr/$(get_libdir)/win32" \
+ || myconf="${myconf} --disable-asf"
+
+ use sparc \
+ && myconf="${myconf} --build=${CHOST}"
+
+ # enable/disable appropiate optimizations on sparc
+ [ "${PROFILE_ARCH}" == "sparc64" ] \
+ && myconf="${myconf} --enable-vis"
+ [ "${PROFILE_ARCH}" == "sparc" ] \
+ && myconf="${myconf} --disable-vis"
+
+ use amd64 \
+ && myconf="${myconf} --with-xv-path=/usr/X11R6/$(get_libdir)"
+
+ # Fix compilation-errors on PowerPC #45393 & #55460 & #68251
+ if use ppc || use ppc64 ; then
+ append-flags -U__ALTIVEC__
+ myconf="${myconf} `use_enable altivec`"
+ fi
+
+ # The default CFLAGS (-O) is the only thing working on hppa.
+ if use hppa && [ "`gcc-version`" != "3.4" ] ; then
+ unset CFLAGS
+ else
+ append-flags -ffunction-sections
+ fi
+
+ # if lib64 is a directory, sometimes the configure will set libdir itself
+ # and the installation fails. see bug #62339
+ myconf="${myconf} --libdir=/usr/$(get_libdir)"
+
+ econf \
+ `use_enable X x11` `use_with X x` `use_enable X shm` `use_enable X xft` \
+ `use_enable esd` \
+ `use_enable nls` \
+ `use_enable alsa` \
+ `use_enable arts` \
+ `use_enable aalib` \
+ `use_enable oggvorbis ogg` `use_enable oggvorbis vorbis` \
+ `use_enable sdl sdltest` \
+ `use_enable ipv6` \
+ `use_enable directfb` \
+ ${myconf} || die "Configure failed"
+
+ emake -j1 || die "Parallel make failed"
+}
+
+src_install() {
+ # portage 2.0.50's einstall is broken for handling libdir
+ make DESTDIR=${D} install || die "Install failed"
+
+ # Xine's makefiles install some file incorrectly. (Gentoo bug #8583, #16112).
+ dodir /usr/share/xine/libxine1/fonts
+ mv ${D}/usr/share/*.xinefont.gz ${D}/usr/share/xine/libxine1/fonts/
+
+ dodoc AUTHORS 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
+ einfo "This library version 1 is incompatible with the plugins"
+ einfo "designed for the prior library versions such as xine-d4d,"
+ einfo "xine-d5d, xine-dmd, and xine-dvdnav."
+ einfo
+ einfo "Also, make sure to remove your ~/.xine if upgrading from"
+ einfo "a previous version."
+ einfo
+}