diff options
author | Mike Frysinger <vapier@gentoo.org> | 2007-03-20 03:41:44 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2007-03-20 03:41:44 +0000 |
commit | b6a5b02ae6ec9aa54400f3925621947b9c24e7af (patch) | |
tree | 5b5139ee0882ac6c46e0bc49da00642950af71b1 /media-libs/libsdl | |
parent | old (diff) | |
download | gentoo-2-b6a5b02ae6ec9aa54400f3925621947b9c24e7af.tar.gz gentoo-2-b6a5b02ae6ec9aa54400f3925621947b9c24e7af.tar.bz2 gentoo-2-b6a5b02ae6ec9aa54400f3925621947b9c24e7af.zip |
Fix from upstream for invalid memory freeing in cdrom code #169477 by Peter Alfredsen.
(Portage version: 2.1.2.2)
Diffstat (limited to 'media-libs/libsdl')
-rw-r--r-- | media-libs/libsdl/ChangeLog | 10 | ||||
-rw-r--r-- | media-libs/libsdl/files/digest-libsdl-1.2.11-r2 | 3 | ||||
-rw-r--r-- | media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch | 26 | ||||
-rw-r--r-- | media-libs/libsdl/libsdl-1.2.11-r2.ebuild | 169 |
4 files changed, 207 insertions, 1 deletions
diff --git a/media-libs/libsdl/ChangeLog b/media-libs/libsdl/ChangeLog index 33f879e2f7d8..19e75d7dfbe7 100644 --- a/media-libs/libsdl/ChangeLog +++ b/media-libs/libsdl/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for media-libs/libsdl # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.125 2007/03/20 02:50:26 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.126 2007/03/20 03:41:44 vapier Exp $ + +*libsdl-1.2.11-r2 (20 Mar 2007) + + 20 Mar 2007; Mike Frysinger <vapier@gentoo.org> + +files/libsdl-1.2.11-cdrom-correct-free-func.patch, + +libsdl-1.2.11-r2.ebuild: + Fix from upstream for invalid memory freeing in cdrom code #169477 by Peter + Alfredsen. 20 Mar 2007; Mike Frysinger <vapier@gentoo.org> +files/libsdl-1.2.11-yasm-checks.patch, libsdl-1.2.11.ebuild, diff --git a/media-libs/libsdl/files/digest-libsdl-1.2.11-r2 b/media-libs/libsdl/files/digest-libsdl-1.2.11-r2 new file mode 100644 index 000000000000..7c37b8fdf059 --- /dev/null +++ b/media-libs/libsdl/files/digest-libsdl-1.2.11-r2 @@ -0,0 +1,3 @@ +MD5 418b42956b7cd103bfab1b9077ccc149 SDL-1.2.11.tar.gz 2796407 +RMD160 91dc8877224415a4ba59e1de57c31861e550d644 SDL-1.2.11.tar.gz 2796407 +SHA256 6985823287b224b57390b1c1b6cbc54cc9a7d7757fbf9934ed20754b4cd23730 SDL-1.2.11.tar.gz 2796407 diff --git a/media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch b/media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch new file mode 100644 index 000000000000..90b35faf19c2 --- /dev/null +++ b/media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch @@ -0,0 +1,26 @@ +http://bugs.gentoo.org/169477 + +Revision 2744 +Modified Tue Sep 5 19:31:48 2006 UTC (6 months, 1 week ago) by pmandin +Use correct function to free allocated mem + +--- branches/SDL-1.2/src/cdrom/linux/SDL_syscdrom.c 2006/07/10 21:03:59 2608 ++++ branches/SDL-1.2/src/cdrom/linux/SDL_syscdrom.c 2006/09/05 19:31:48 2744 +@@ -218,7 +218,7 @@ + if ( SDL_strcmp(mnt_type, MNTTYPE_SUPER) == 0 ) { + tmp = SDL_strstr(mntent->mnt_opts, "fs="); + if ( tmp ) { +- SDL_free(mnt_type); ++ SDL_stack_free(mnt_type); + mnt_type = SDL_strdup(tmp + SDL_strlen("fs=")); + if ( mnt_type ) { + tmp = SDL_strchr(mnt_type, ','); +@@ -229,7 +229,7 @@ + } + tmp = SDL_strstr(mntent->mnt_opts, "dev="); + if ( tmp ) { +- SDL_free(mnt_dev); ++ SDL_stack_free(mnt_dev); + mnt_dev = SDL_strdup(tmp + SDL_strlen("dev=")); + if ( mnt_dev ) { + tmp = SDL_strchr(mnt_dev, ','); diff --git a/media-libs/libsdl/libsdl-1.2.11-r2.ebuild b/media-libs/libsdl/libsdl-1.2.11-r2.ebuild new file mode 100644 index 000000000000..b71c9bcc456d --- /dev/null +++ b/media-libs/libsdl/libsdl-1.2.11-r2.ebuild @@ -0,0 +1,169 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/libsdl-1.2.11-r2.ebuild,v 1.1 2007/03/20 03:41:44 vapier Exp $ + +inherit flag-o-matic toolchain-funcs eutils libtool + +DESCRIPTION="Simple Direct Media Layer" +HOMEPAGE="http://www.libsdl.org/" +SRC_URI="http://www.libsdl.org/release/SDL-${PV}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +# WARNING: +# if you have the noaudio, novideo, nojoystick, or noflagstrip use flags +# in USE and something breaks, you pick up the pieces. Be prepared for +# bug reports to be marked INVALID. +IUSE="oss alsa esd arts nas X dga xv xinerama fbcon directfb ggi svga aalib opengl libcaca noaudio novideo nojoystick noflagstrip" + +RDEPEND="!noaudio? ( >=media-libs/audiofile-0.1.9 ) + alsa? ( media-libs/alsa-lib ) + esd? ( >=media-sound/esound-0.2.19 ) + arts? ( kde-base/arts ) + nas? ( + media-libs/nas + x11-libs/libXt + x11-libs/libXext + x11-libs/libX11 + ) + X? ( + x11-libs/libXt + x11-libs/libXext + x11-libs/libX11 + ) + directfb? ( >=dev-libs/DirectFB-0.9.19 ) + ggi? ( >=media-libs/libggi-2.0_beta3 ) + svga? ( >=media-libs/svgalib-1.4.2 ) + aalib? ( media-libs/aalib ) + libcaca? ( >=media-libs/libcaca-0.9-r1 ) + opengl? ( virtual/opengl virtual/glu )" +DEPEND="${RDEPEND} + nas? ( + x11-proto/xextproto + x11-proto/xproto + ) + X? ( + x11-proto/xextproto + x11-proto/xproto + ) + x86? ( >=dev-lang/nasm-0.98.39-r3 )" + +S=${WORKDIR}/SDL-${PV} + +pkg_setup() { + if use noaudio || use novideo || use nojoystick ; then + ewarn "Since you've chosen to turn off some of libsdl's functionality," + ewarn "don't bother filing libsdl-related bugs until trying to remerge" + ewarn "libsdl without the no* flags in USE. You need to know what" + ewarn "you're doing to selectively turn off parts of libsdl." + epause 30 + fi + if use noflagstrip ; then + ewarn "Since you've chosen to use possibly unsafe CFLAGS," + ewarn "don't bother filing libsdl-related bugs until trying to remerge" + ewarn "libsdl without the noflagstrip use flag in USE." + epause 10 + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}"/${P}-libcaca-new-api.patch #40224 + epatch "${FILESDIR}"/${P}-sdl-config.patch + epatch "${FILESDIR}"/${P}-xinerama-head-0.patch #145917 + epatch "${FILESDIR}"/${P}-no-inline-BlitRGBtoRGBPixelAlphaMMX3DNOW.patch #148186 + epatch "${FILESDIR}"/${P}-audioConv.patch #151991 + epatch "${FILESDIR}"/${P}-fbcon-page-header.patch #159923 #169388 + epatch "${FILESDIR}"/${P}-yasm-checks.patch #163053 + epatch "${FILESDIR}"/${P}-cdrom-correct-free-func.patch #169477 + + # add yasm-compatible defines to nasm code (hopefully we + # can get this killed soonish) + local f + for f in "${S}"/src/hermes/*.asm ; do + cat <<-EOF >> "${f}" + %ifidn __YASM_OBJFMT__,elf + section ".note.GNU-stack" noalloc noexec nowrite progbits + %endif + EOF + done + + # yasm does not understand -i + # bug #147201 + sed -i \ + -e 's:NASMFLAGS -i:NASMFLAGS -I:' \ + configure.in \ + || die "sed failed" + + ./autogen.sh || die "autogen failed" + elibtoolize +} + +src_compile() { + local myconf= + if [[ $(tc-arch) != "x86" ]] ; then + myconf="${myconf} --disable-nasm" + else + myconf="${myconf} --enable-nasm" + fi + use noflagstrip || strip-flags + use noaudio && myconf="${myconf} --disable-audio" + use novideo \ + && myconf="${myconf} --disable-video" \ + || myconf="${myconf} --enable-video-dummy" + use nojoystick && myconf="${myconf} --disable-joystick" + + local directfbconf="--disable-video-directfb" + if use directfb ; then + # since DirectFB can link against SDL and trigger a + # dependency loop, only link against DirectFB if it + # isn't broken #61592 + echo 'int main(){}' > directfb-test.c + $(tc-getCC) directfb-test.c -ldirectfb 2>/dev/null \ + && directfbconf="--enable-video-directfb" \ + || ewarn "Disabling DirectFB since libdirectfb.so is broken" + fi + + myconf="${myconf} ${directfbconf}" + + econf \ + --disable-dependency-tracking \ + --disable-rpath \ + --enable-events \ + --enable-cdrom \ + --enable-threads \ + --enable-timers \ + --enable-endian \ + --enable-file \ + --enable-cpuinfo \ + $(use_enable oss) \ + $(use_enable alsa) \ + $(use_enable esd) \ + $(use_enable arts) \ + $(use_enable nas) \ + $(use_enable X video-x11) \ + $(use_enable dga) \ + $(use_enable xv video-x11-xv) \ + $(use_enable xinerama video-x11-xinerama) \ + $(use_enable X video-x11-xrandr) \ + $(use_enable dga video-dga) \ + $(use_enable fbcon video-fbcon) \ + $(use_enable ggi video-ggi) \ + $(use_enable svga video-svga) \ + $(use_enable aalib video-aalib) \ + $(use_enable libcaca video-caca) \ + $(use_enable opengl video-opengl) \ + $(use_with X x) \ + --disable-video-x11-xme \ + ${myconf} || die + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "make install failed" + dodoc BUGS CREDITS README README-SDL.txt README.CVS TODO WhatsNew + dohtml -r ./ +} |