From c4ea43e9a568f33c32dc4b2c11b7c32aad30291c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Diego=20Elio=20Petten=C3=B2?= Date: Mon, 25 Feb 2008 23:08:43 +0000 Subject: [PATCH] Fix FLAC playback after security fix. Package-Manager: portage-2.1.4.4 --- media-libs/xine-lib/ChangeLog | 8 +- media-libs/xine-lib/Manifest | 14 +- .../files/xine-lib-1.1.10.1-off-by-one.patch | 20 ++ .../xine-lib/xine-lib-1.1.10.1-r1.ebuild | 193 ++++++++++++++++++ 4 files changed, 233 insertions(+), 2 deletions(-) create mode 100644 media-libs/xine-lib/files/xine-lib-1.1.10.1-off-by-one.patch create mode 100644 media-libs/xine-lib/xine-lib-1.1.10.1-r1.ebuild diff --git a/media-libs/xine-lib/ChangeLog b/media-libs/xine-lib/ChangeLog index 87a8f2aa00ef..a01736ebfbd6 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-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ò + +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 xine-lib-1.1.10.1.ebuild: alpha/ia64 stable wrt security #209106 diff --git a/media-libs/xine-lib/Manifest b/media-libs/xine-lib/Manifest index abde22fcb48c..2ceba1f6aa44 100644 --- a/media-libs/xine-lib/Manifest +++ b/media-libs/xine-lib/Manifest @@ -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 index 000000000000..8de57a93f3bf --- /dev/null +++ b/media-libs/xine-lib/files/xine-lib-1.1.10.1-off-by-one.patch @@ -0,0 +1,20 @@ + +# HG changeset patch +# User Darren Salt +# 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 index 000000000000..20c0dc4a46b1 --- /dev/null +++ b/media-libs/xine-lib/xine-lib-1.1.10.1-r1.ebuild @@ -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 +} -- 2.26.2