Fix FLAC playback after security fix.
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Mon, 25 Feb 2008 23:08:43 +0000 (23:08 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Mon, 25 Feb 2008 23:08:43 +0000 (23:08 +0000)
Package-Manager: portage-2.1.4.4

media-libs/xine-lib/ChangeLog
media-libs/xine-lib/Manifest
media-libs/xine-lib/files/xine-lib-1.1.10.1-off-by-one.patch [new file with mode: 0644]
media-libs/xine-lib/xine-lib-1.1.10.1-r1.ebuild [new file with mode: 0644]

index 87a8f2aa00ef29a3936d8a9eb2adedee9dbc0982..a01736ebfbd6f7784fef72088f1545cd33169385 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-libs/xine-lib
 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/ChangeLog,v 1.513 2008/02/19 16:48:41 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/ChangeLog,v 1.514 2008/02/25 23:08:42 flameeyes Exp $
+
+*xine-lib-1.1.10.1-r1 (25 Feb 2008)
+
+  25 Feb 2008; Diego Pettenò <flameeyes@gentoo.org>
+  +files/xine-lib-1.1.10.1-off-by-one.patch, +xine-lib-1.1.10.1-r1.ebuild:
+  Fix FLAC playback after security fix.
 
   19 Feb 2008; Raúl Porcel <armin76@gentoo.org> xine-lib-1.1.10.1.ebuild:
   alpha/ia64 stable wrt security #209106
index abde22fcb48ca1842074af4a70021f48dc7fe34f..2ceba1f6aa4453c932c7eedf52bd9cf43348591f 100644 (file)
@@ -1,9 +1,21 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX xine-lib-1.1.10.1-off-by-one.patch 737 RMD160 89e7a728821120c8df9aadf822ef069513ab0d8b SHA1 4bbda61d80d3d2ce092b4ee14372218dffcab551 SHA256 588766356fcbb5185bbc34c36d7af481bc180153c6aa2a67ab24a2ade34f2a3b
 AUX xine-lib-1.1.8-dxr3.patch 543 RMD160 4fc1c9ae238c416f097e85b47a8ba4e04fb1c14f SHA1 d5d1ad4ad4a88dda30207d67f3e5e2b6b174fabd SHA256 d6cd3a848de564ccaa82f92e32983ce3a444db357c56b9312be226eac7a81aff
 DIST xine-lib-1.1.10.1.tar.bz2 7437511 RMD160 4b2b67c85dad8e35dfa9352c39d2bb6cd1ecb4b1 SHA1 d77747206d19b48fd11a1dc36f3ac5ad3526c415 SHA256 61a74bc6cd931d4ac5e4b5a07e0a05130025bbb380baf45b8a6a76a6689e83f4
 DIST xine-lib-1.1.10.tar.bz2 7392937 RMD160 4ea58dbdd103364614afd45d8215e53772fe6251 SHA1 a1b3c9d1aa707f4354403401902a6967cbbde8d1 SHA256 faa337800436a29c1cf2be826a30113d71da2c6aaac1b3fa54a221f77fa33bba
 DIST xine-lib-1.1.8.tar.bz2 7284933 RMD160 b926caa13d5b3f3c74eee681aa6c47c6083c1349 SHA1 48c7402ee2ada28e4b271d9dfb2bcb4d812e7daf SHA256 6c9f11bdec714f8df36b5140a7c8cc6ec81dd8a7673f4756e940cee4f4833c0e
+EBUILD xine-lib-1.1.10.1-r1.ebuild 5681 RMD160 cf79eb8e161b2f4927fe3f83c995b9396833db6b SHA1 dc564a03a9061d69706aef174443363d5ba2f8c7 SHA256 6e7faca9c72674fc67ba8915d06da236196fd2ff961d989ab1a5cef24632c859
 EBUILD xine-lib-1.1.10.1.ebuild 5563 RMD160 9bffb45fc86d51edf3b49969a661c6e3374dd335 SHA1 9ae01d7a14c327058e3581a7a2e5a10c02451571 SHA256 e89038c15a9ccb8120239df1b400f41f2150c77e2e01ed014cb00db8abf08075
 EBUILD xine-lib-1.1.10.ebuild 5558 RMD160 3f76518aefe138b9f0e4b21cf2e0a91753f0a87f SHA1 cc58d9d3971f5bf0a3390415a09880549f57d584 SHA256 08393d1ba0357121a3b077e1b0f3f1d727a5e133c344775183eada27298b94a1
 EBUILD xine-lib-1.1.8.ebuild 5632 RMD160 81524b906917dda749ffdfdf9c0247169671a4d0 SHA1 7887cca7aaca9bb011a218e824082c26f00e9c0e SHA256 383ddc76254be422550559fe8b5495ba9768e188e1bddcba55806edf0756989e
-MISC ChangeLog 57274 RMD160 54eb29210fc04c1a8e3686bb31608bbc432f53d4 SHA1 0bf6fd035a2f96a88bd2e114b92d05501e3aa6e5 SHA256 2cc6436c0da0905a01b198923b79c1f8ff0064d0fdc59113aae5a1a8862b2865
+MISC ChangeLog 57482 RMD160 4c6ccd80a5aee83e67b70ba828c1034fb44a13ba SHA1 fa723d1f442b8b051836b6cbbd170d6e323b5cfd SHA256 2cd0680daf7829f1d58145a832e01e74df1f86645f9e59da3b939fd5b070b609
 MISC metadata.xml 2559 RMD160 f8ae3331071ee8b4e99ed4b81fa2352a0d7d79b3 SHA1 9c93a986bebdf908f8bab1fbafc111c0cffb5da9 SHA256 53585093644ab317ca0b11074e4fa86e67af3889e480b0ed9f5b467a85372fcd
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.7 (GNU/Linux)
+
+iD8DBQFHw0qBAiZjviIA2XgRAgkUAJ9zNWYFRyFW37Jbq0Q5j7Mn/voYLQCePKHm
+px8xGlx0dUR96DX6jag0vcQ=
+=KgrV
+-----END PGP SIGNATURE-----
diff --git a/media-libs/xine-lib/files/xine-lib-1.1.10.1-off-by-one.patch b/media-libs/xine-lib/files/xine-lib-1.1.10.1-off-by-one.patch
new file mode 100644 (file)
index 0000000..8de57a9
--- /dev/null
@@ -0,0 +1,20 @@
+
+# HG changeset patch
+# User Darren Salt <linux@youmustbejoking.demon.co.uk>
+# Date 1203549555 0
+# Node ID 0a9d58e399a14cfadc622f562020ba5123254592
+# Parent 6f70d1625834502a735349a6597ad7a85fb68aa5
+Off-by-one in the FLAC security fix, breaking playback of some files.
+
+--- a/src/demuxers/demux_flac.c        Wed Feb 20 21:45:48 2008 +0000
++++ b/src/demuxers/demux_flac.c        Wed Feb 20 23:19:15 2008 +0000
+@@ -202,7 +202,7 @@ static int open_flac_file(demux_flac_t *
+ 
+           length = _X_LE_32(ptr);
+           ptr += 4 + length;
+-          if (length >= block_length - 8)
++          if (length > block_length - 8)
+             return 0; /* bad length or too little left in the buffer */
+ 
+           user_comment_list_length = _X_LE_32(ptr);
+
diff --git a/media-libs/xine-lib/xine-lib-1.1.10.1-r1.ebuild b/media-libs/xine-lib/xine-lib-1.1.10.1-r1.ebuild
new file mode 100644 (file)
index 0000000..20c0dc4
--- /dev/null
@@ -0,0 +1,193 @@
+# Copyright 1999-2008 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.1.10.1-r1.ebuild,v 1.1 2008/02/25 23:08:42 flameeyes Exp $
+
+EAPI=1
+
+inherit eutils flag-o-matic toolchain-funcs libtool
+
+# This should normally be empty string, unless a release has a suffix.
+if [[ "${P/_pre/}" != "${P}" ]]; then
+       SRC_URI="mirror://gentoo/${P}.tar.bz2"
+else
+       MY_PKG_SUFFIX=""
+       MY_P="${PN}-${PV/_/-}${MY_PKG_SUFFIX}"
+       S="${WORKDIR}/${MY_P}"
+
+       SRC_URI="mirror://sourceforge/xine/${MY_P}.tar.bz2"
+fi
+
+DESCRIPTION="Core libraries for Xine movie player"
+HOMEPAGE="http://xine.sourceforge.net"
+
+LICENSE="GPL-2"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+IUSE="-aalib -libcaca -arts esd win32codecs nls +dvd +X directfb +vorbis +alsa
+gnome sdl speex +theora ipv6 altivec opengl aac -fbcon +xv xvmc
+-samba dxr3 vidix mng -flac -oss +v4l xinerama vcd +a52 +mad -imagemagick +dts
+-debug +modplug -gtk pulseaudio -mmap -truetype wavpack +musepack +xcb -jack
+-real"
+
+RDEPEND="X? ( x11-libs/libXext
+       x11-libs/libX11 )
+       xv? ( x11-libs/libXv )
+       xvmc? ( x11-libs/libXvMC )
+       xinerama? ( x11-libs/libXinerama )
+       win32codecs? ( >=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 )
+       gnome? ( >=gnome-base/gnome-vfs-2.0 )
+       flac? ( >=media-libs/flac-1.1.2 )
+       sdl? ( >=media-libs/libsdl-1.1.5 )
+       dxr3? ( >=media-libs/libfame-0.9.0 )
+       vorbis? ( media-libs/libogg media-libs/libvorbis )
+       theora? ( media-libs/libogg media-libs/libvorbis >=media-libs/libtheora-1.0_alpha6 )
+       speex? ( media-libs/libogg media-libs/libvorbis media-libs/speex )
+       libcaca? ( >=media-libs/libcaca-0.99_beta1 )
+       samba? ( net-fs/samba )
+       mng? ( media-libs/libmng )
+       vcd? ( media-video/vcdimager )
+       a52? ( >=media-libs/a52dec-0.7.4-r5 )
+       mad? ( media-libs/libmad )
+       imagemagick? ( media-gfx/imagemagick )
+       dts? ( media-libs/libdca )
+       >=media-video/ffmpeg-0.4.9_p20070129
+       modplug? ( media-libs/libmodplug )
+       nls? ( virtual/libintl )
+       gtk? ( =x11-libs/gtk+-2* )
+       pulseaudio? ( media-sound/pulseaudio )
+       truetype? ( =media-libs/freetype-2* media-libs/fontconfig )
+       virtual/libiconv
+       wavpack? ( >=media-sound/wavpack-4.31 )
+       musepack? ( media-libs/libmpcdec )
+       xcb? ( >=x11-libs/libxcb-1.0 )
+       jack? ( >=media-sound/jack-audio-connection-kit-0.100 )
+       real? (
+               x86? ( media-libs/win32codecs )
+               x86-fbsd? ( media-libs/win32codecs )
+               amd64? ( media-libs/amd64codecs ) )"
+
+DEPEND="${RDEPEND}
+       X? ( x11-libs/libXt
+                x11-proto/xproto
+                x11-proto/videoproto
+                x11-proto/xf86vidmodeproto
+                xinerama? ( x11-proto/xineramaproto ) )
+       v4l? ( virtual/os-headers )
+       dev-util/pkgconfig
+       sys-devel/libtool
+       nls? ( sys-devel/gettext )"
+
+src_unpack() {
+       unpack ${A}
+
+       cd "${S}"
+       epatch "${FILESDIR}"/${P}-off-by-one.patch
+}
+
+src_compile() {
+       #prevent quicktime crashing
+       append-flags -frename-registers -ffunction-sections
+
+       # Specific workarounds for too-few-registers arch...
+       if [[ $(tc-arch) == "x86" ]]; then
+               filter-flags -fforce-addr
+               filter-flags -momit-leaf-frame-pointer # break on gcc 3.4/4.x
+               filter-flags -fno-omit-frame-pointer #breaks per bug #149704
+               is-flag -O? || append-flags -O2
+       fi
+
+       local myconf
+
+       # enable/disable appropiate optimizations on sparc
+       [[ "${PROFILE_ARCH}" == "sparc64" ]] && myconf="${myconf} --enable-vis"
+       [[ "${PROFILE_ARCH}" == "sparc" ]] && myconf="${myconf} --disable-vis"
+
+       # The default CFLAGS (-O) is the only thing working on hppa.
+       use hppa && unset CFLAGS
+
+       # Too many file names are the same (xine_decoder.c), change the builddir
+       # So that the relative path is used to identify them.
+       mkdir "${WORKDIR}/build"
+
+       elibtoolize
+       ECONF_SOURCE="${S}" econf \
+               $(use_enable gnome gnomevfs) \
+               $(use_enable nls) \
+               $(use_enable ipv6) \
+               $(use_enable samba) \
+               $(use_enable altivec) \
+               $(use_enable v4l) \
+               \
+               $(use_enable mng) \
+               $(use_with imagemagick) \
+               $(use_enable gtk gdkpixbuf) \
+               \
+               $(use_enable aac faad) \
+               $(use_with flac libflac) \
+               $(use_with vorbis) \
+               $(use_with speex) \
+               $(use_with theora) \
+               $(use_with wavpack) \
+               $(use_enable modplug) \
+               $(use_enable a52 a52dec) --with-external-a52dec \
+               $(use_enable mad) --with-external-libmad \
+               $(use_enable dts) --with-external-libdts \
+               $(use_enable musepack) --with-external-libmpcdec \
+               \
+               $(use_with X x) \
+               $(use_enable xinerama) \
+               $(use_enable vidix) \
+               $(use_enable dxr3) \
+               $(use_enable directfb) \
+               $(use_enable fbcon fb) \
+               $(use_enable opengl) \
+               $(use_enable aalib) \
+               $(use_with libcaca caca) \
+               $(use_with sdl) \
+               $(use_enable xvmc) \
+               $(use_with xcb) \
+               \
+               $(use_enable oss) \
+               $(use_with alsa) \
+               $(use_with arts) \
+               $(use_with esd esound) \
+               $(use_with pulseaudio) \
+               $(use_with jack) \
+               \
+               $(use_enable vcd) --without-internal-vcdlibs \
+               \
+               $(use_enable win32codecs w32dll) \
+               $(use_enable real real-codecs) \
+               \
+               $(use_enable mmap) \
+               $(use_with truetype freetype) $(use_with truetype fontconfig) \
+               \
+               $(use_enable debug) \
+               --enable-asf \
+               --with-external-ffmpeg \
+               --disable-optimizations \
+               --disable-syncfb \
+               ${myconf} \
+               --with-xv-path=/usr/$(get_libdir) \
+               --with-w32-path=/usr/$(ABI=x86 get_libdir)/win32 \
+               --with-real-codecs-path=/usr/$(get_libdir)/codecs \
+               --enable-fast-install \
+               --disable-dependency-tracking || die "econf failed."
+
+       emake || die "emake failed."
+}
+
+src_install() {
+       emake DESTDIR="${D}" \
+               docdir="/usr/share/doc/${PF}" htmldir="/usr/share/doc/${PF}/html" \
+               install || die "emake install failed."
+
+       dodoc ChangeLog
+}