Fix from upstream for invalid memory freeing in cdrom code #169477 by Peter Alfredsen.
authorMike Frysinger <vapier@gentoo.org>
Tue, 20 Mar 2007 03:41:44 +0000 (03:41 +0000)
committerMike Frysinger <vapier@gentoo.org>
Tue, 20 Mar 2007 03:41:44 +0000 (03:41 +0000)
Package-Manager: portage-2.1.2.2

media-libs/libsdl/ChangeLog
media-libs/libsdl/Manifest
media-libs/libsdl/files/digest-libsdl-1.2.11-r2 [new file with mode: 0644]
media-libs/libsdl/files/libsdl-1.2.11-cdrom-correct-free-func.patch [new file with mode: 0644]
media-libs/libsdl/libsdl-1.2.11-r2.ebuild [new file with mode: 0644]

index 33f879e2f7d86da68a8e0e4cafc9a8a77c27e924..19e75d7dfbe7ebd3314772cf0f685ae7bfa39820 100644 (file)
@@ -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,
index c6a23aabced3e1462cd59b60c34c9cf084c50f47..e1cfdda972ffeff6a50255ce60e41d8b0234853c 100644 (file)
@@ -5,6 +5,10 @@ AUX libsdl-1.2.11-audioConv.patch 428 RMD160 0d4092a4c573f95560b9cc10bfdca546d51
 MD5 b4a5108fe1f2fab8203422d8d057e334 files/libsdl-1.2.11-audioConv.patch 428
 RMD160 0d4092a4c573f95560b9cc10bfdca546d5140755 files/libsdl-1.2.11-audioConv.patch 428
 SHA256 c7a9d541334c5d2638b3283fa8a4c9ab91b3c547148a3fb559aaaa48f1074a9f files/libsdl-1.2.11-audioConv.patch 428
+AUX libsdl-1.2.11-cdrom-correct-free-func.patch 896 RMD160 34026361186ff35b0820b9a36212d7b726603635 SHA1 c14111dc3fbe67f4961a7a0bd2f6e05424704f00 SHA256 ac546e3a4693692a44d6156522abfc3b879e105f222701f2501af5a700003916
+MD5 ee94a8a51113c2f4edb4e7936cde8b0d files/libsdl-1.2.11-cdrom-correct-free-func.patch 896
+RMD160 34026361186ff35b0820b9a36212d7b726603635 files/libsdl-1.2.11-cdrom-correct-free-func.patch 896
+SHA256 ac546e3a4693692a44d6156522abfc3b879e105f222701f2501af5a700003916 files/libsdl-1.2.11-cdrom-correct-free-func.patch 896
 AUX libsdl-1.2.11-fbcon-page-header.patch 2387 RMD160 2a6ef67a0b7f3371f8a673495c432b16edcb54e2 SHA1 28a9d15b9db3cb07b97f836e3bcdfc0bd558d711 SHA256 d5cadbd594588e6116d334ebd3e90c2aee85ed52e0afdf4502a1453194356347
 MD5 dca2d4b16dc25669f2155633126b765d files/libsdl-1.2.11-fbcon-page-header.patch 2387
 RMD160 2a6ef67a0b7f3371f8a673495c432b16edcb54e2 files/libsdl-1.2.11-fbcon-page-header.patch 2387
@@ -38,14 +42,18 @@ EBUILD libsdl-1.2.11-r1.ebuild 4898 RMD160 cb224659e8f898ac175ad25a1067302390e79
 MD5 81d59dd483faefb893722adf2aa77b33 libsdl-1.2.11-r1.ebuild 4898
 RMD160 cb224659e8f898ac175ad25a1067302390e79a80 libsdl-1.2.11-r1.ebuild 4898
 SHA256 3d26f99868ce209cb6d95dd18e3eae2aa4c29b4d99174d64068c37e1c0af8546 libsdl-1.2.11-r1.ebuild 4898
+EBUILD libsdl-1.2.11-r2.ebuild 4964 RMD160 e7019d2354b067c20bafa639cf6401d13cd05b4f SHA1 92da2dcb23f3764405889f418bc670268c043b8f SHA256 7c8497941f05abe4c3a5f5e7e0c1deb3ae030d219699bceb9954590cbac94471
+MD5 4ad5a6a777713ad00cbd22be9e266c71 libsdl-1.2.11-r2.ebuild 4964
+RMD160 e7019d2354b067c20bafa639cf6401d13cd05b4f libsdl-1.2.11-r2.ebuild 4964
+SHA256 7c8497941f05abe4c3a5f5e7e0c1deb3ae030d219699bceb9954590cbac94471 libsdl-1.2.11-r2.ebuild 4964
 EBUILD libsdl-1.2.11.ebuild 4777 RMD160 5e694b0b93b016010281dc116bc7786c691cdebf SHA1 788f6c6b377801d0c1596e14727a79d5650967b9 SHA256 f85c78f0e05989ac61a5129ad01cb2562046b83d00b38b00316983b40cfb119b
 MD5 f6e57388c8444f0c7d4a7800445a11bf libsdl-1.2.11.ebuild 4777
 RMD160 5e694b0b93b016010281dc116bc7786c691cdebf libsdl-1.2.11.ebuild 4777
 SHA256 f85c78f0e05989ac61a5129ad01cb2562046b83d00b38b00316983b40cfb119b libsdl-1.2.11.ebuild 4777
-MISC ChangeLog 19847 RMD160 42fa416ec3fa6cf7e92e071313156b3c2274e044 SHA1 925588d22988db7aaae7d74f340d433e173f336e SHA256 d4a73c489b4a36cee261f7cb5d1079920a57a8b5785cab0afc4e225839947fbb
-MD5 02a26189cd6ca81f0678b68cb2d36415 ChangeLog 19847
-RMD160 42fa416ec3fa6cf7e92e071313156b3c2274e044 ChangeLog 19847
-SHA256 d4a73c489b4a36cee261f7cb5d1079920a57a8b5785cab0afc4e225839947fbb ChangeLog 19847
+MISC ChangeLog 20104 RMD160 8f9fe67dec7ee6b4d4128aae90158e7e0afa84d7 SHA1 df8312bf29959a8f6ce58737fd13b91c78715caa SHA256 227ba533be98567786965a4b22491f5e89f7bae0a00519a82e816934b788cdfc
+MD5 942e0084076a9e655e8a5221d06bd20c ChangeLog 20104
+RMD160 8f9fe67dec7ee6b4d4128aae90158e7e0afa84d7 ChangeLog 20104
+SHA256 227ba533be98567786965a4b22491f5e89f7bae0a00519a82e816934b788cdfc ChangeLog 20104
 MISC metadata.xml 974 RMD160 61d8f32b069dc30e7b853b25d1d73020f73cda8f SHA1 8f8471103d29e564169640539c3a2a6a7de5b8c7 SHA256 e575130f8fd4925956581f5d4230469e915b1a8d63269cc0aa3510f3a4743b9b
 MD5 baaaa69f33ef9027dac84ee4ff02773b metadata.xml 974
 RMD160 61d8f32b069dc30e7b853b25d1d73020f73cda8f metadata.xml 974
@@ -56,10 +64,13 @@ SHA256 be7333b21a407831ab4861ba67e56d36c9759b78f3b42400981abf3e34f5fda8 files/di
 MD5 9ed8388b30dd3fb3d16a0ae5bd5ce94e files/digest-libsdl-1.2.11-r1 235
 RMD160 71eb2fb51f72febbc870a867d83d3cac7aefe7df files/digest-libsdl-1.2.11-r1 235
 SHA256 be7333b21a407831ab4861ba67e56d36c9759b78f3b42400981abf3e34f5fda8 files/digest-libsdl-1.2.11-r1 235
+MD5 9ed8388b30dd3fb3d16a0ae5bd5ce94e files/digest-libsdl-1.2.11-r2 235
+RMD160 71eb2fb51f72febbc870a867d83d3cac7aefe7df files/digest-libsdl-1.2.11-r2 235
+SHA256 be7333b21a407831ab4861ba67e56d36c9759b78f3b42400981abf3e34f5fda8 files/digest-libsdl-1.2.11-r2 235
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.3 (GNU/Linux)
 
-iD8DBQFF/0wA8bi6rjpTunYRAnp3AJ4+q4iX0sOqv2wBWLcxGn61G2Dq5QCcCV+X
-DnpUOgeTrBkSqVi6JFpPRd8=
-=ma0t
+iD8DBQFF/1gH8bi6rjpTunYRAtvwAKCAtGpRmRo9FeewynAdmDlZDjrsqACfUuVz
+cYMTOuCkw+2ofEvp1IwHX5A=
+=qoBm
 -----END PGP SIGNATURE-----
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 (file)
index 0000000..7c37b8f
--- /dev/null
@@ -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 (file)
index 0000000..90b35fa
--- /dev/null
@@ -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 (file)
index 0000000..b71c9bc
--- /dev/null
@@ -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 ./
+}