summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-03-20 03:41:44 +0000
committerMike Frysinger <vapier@gentoo.org>2007-03-20 03:41:44 +0000
commitb6a5b02ae6ec9aa54400f3925621947b9c24e7af (patch)
tree5b5139ee0882ac6c46e0bc49da00642950af71b1 /media-libs/libsdl
parentold (diff)
downloadgentoo-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/ChangeLog10
-rw-r--r--media-libs/libsdl/files/digest-libsdl-1.2.11-r23
-rw-r--r--media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch26
-rw-r--r--media-libs/libsdl/libsdl-1.2.11-r2.ebuild169
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 ./
+}