diff options
-rw-r--r-- | media-libs/libsdl/ChangeLog | 9 | ||||
-rw-r--r-- | media-libs/libsdl/files/libsdl-1.2.14-glibc213.patch | 12 | ||||
-rw-r--r-- | media-libs/libsdl/libsdl-1.2.14-r6.ebuild | 155 |
3 files changed, 175 insertions, 1 deletions
diff --git a/media-libs/libsdl/ChangeLog b/media-libs/libsdl/ChangeLog index e4af28c9e225..029f7e407084 100644 --- a/media-libs/libsdl/ChangeLog +++ b/media-libs/libsdl/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-libs/libsdl # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.171 2011/01/26 02:03:00 mr_bones_ Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/ChangeLog,v 1.172 2011/03/08 22:09:48 mr_bones_ Exp $ + +*libsdl-1.2.14-r6 (08 Mar 2011) + + 08 Mar 2011; Michael Sterrett <mr_bones_@gentoo.org> + +libsdl-1.2.14-r6.ebuild, +files/libsdl-1.2.14-glibc213.patch: + add upstream patch to fix a memcpy that should have been a memmove (bugs + #357687 and #354175) *libsdl-1.2.14-r5 (26 Jan 2011) diff --git a/media-libs/libsdl/files/libsdl-1.2.14-glibc213.patch b/media-libs/libsdl/files/libsdl-1.2.14-glibc213.patch new file mode 100644 index 000000000000..ab695f9b4616 --- /dev/null +++ b/media-libs/libsdl/files/libsdl-1.2.14-glibc213.patch @@ -0,0 +1,12 @@ +diff -r 6bb01861c4c0 src/video/SDL_blit.c +--- a/src/video/SDL_blit.c Wed Feb 16 04:49:07 2011 -0800 ++++ b/src/video/SDL_blit.c Wed Feb 16 22:51:23 2011 +0100 +@@ -214,7 +214,7 @@ + dstskip = w+info->d_skip; + if ( dst < src ) { + while ( h-- ) { +- SDL_memcpy(dst, src, w); ++ SDL_memmove(dst, src, w); + src += srcskip; + dst += dstskip; + } diff --git a/media-libs/libsdl/libsdl-1.2.14-r6.ebuild b/media-libs/libsdl/libsdl-1.2.14-r6.ebuild new file mode 100644 index 000000000000..83b567ee1a00 --- /dev/null +++ b/media-libs/libsdl/libsdl-1.2.14-r6.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/libsdl-1.2.14-r6.ebuild,v 1.1 2011/03/08 22:09:48 mr_bones_ Exp $ + +EAPI=2 +inherit flag-o-matic multilib 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 disable the audio, video, joystick use flags or turn on the custom-cflags use flag +# in USE and something breaks, you pick up the pieces. Be prepared for +# bug reports to be marked INVALID. +IUSE="oss alsa nas X dga xv xinerama fbcon directfb ggi svga tslib aalib opengl libcaca +audio +video +joystick custom-cflags pulseaudio ps3 static-libs" + +RDEPEND="audio? ( >=media-libs/audiofile-0.1.9 ) + alsa? ( media-libs/alsa-lib ) + nas? ( + media-libs/nas + x11-libs/libXt + x11-libs/libXext + x11-libs/libX11 + ) + X? ( + x11-libs/libXt + x11-libs/libXext + x11-libs/libX11 + x11-libs/libXrandr + ) + 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 ) + ppc64? ( ps3? ( sys-libs/libspe2 ) ) + tslib? ( x11-libs/tslib ) + pulseaudio? ( media-sound/pulseaudio )" +DEPEND="${RDEPEND} + nas? ( + x11-proto/xextproto + x11-proto/xproto + ) + X? ( + x11-proto/xextproto + x11-proto/xproto + ) + x86? ( || ( >=dev-lang/yasm-0.6.0 >=dev-lang/nasm-0.98.39-r3 ) )" + +S=${WORKDIR}/SDL-${PV} + +pkg_setup() { + if use !audio || use !video || use !joystick ; 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 with the audio, video, and joystick flags in USE." + ewarn "You need to know what you're doing to selectively turn off parts of libsdl." + epause 30 + fi + if use custom-cflags ; 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 custom-cflags use flag in USE." + epause 10 + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-1.2.13-sdl-config.patch \ + "${FILESDIR}"/${P}-click.patch \ + "${FILESDIR}"/${P}-joystick.patch \ + "${FILESDIR}"/${P}-glibc213.patch + + elibtoolize +} + +src_configure() { + local myconf= + if [[ $(tc-arch) != "x86" ]] ; then + myconf="${myconf} --disable-nasm" + else + myconf="${myconf} --enable-nasm" + fi + use custom-cflags || strip-flags + use audio || myconf="${myconf} --disable-audio" + use video \ + && myconf="${myconf} --enable-video-dummy" \ + || myconf="${myconf} --disable-video" + use joystick || 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-rpath \ + --disable-arts \ + --disable-esd \ + --enable-events \ + --enable-cdrom \ + --enable-threads \ + --enable-timers \ + --enable-file \ + --enable-cpuinfo \ + --disable-alsa-shared \ + --disable-esd-shared \ + --disable-pulseaudio-shared \ + --disable-arts-shared \ + --disable-nas-shared \ + --disable-osmesa-shared \ + $(use_enable oss) \ + $(use_enable alsa) \ + $(use_enable pulseaudio) \ + $(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_enable ps3 video-ps3) \ + $(use_enable tslib input-tslib) \ + $(use_with X x) \ + $(use_enable static-libs static) \ + --disable-video-x11-xme \ + ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + use static-libs || rm -f "${D}"/usr/$(get_libdir)/lib*.la + dodoc BUGS CREDITS README README-SDL.txt README.CVS TODO WhatsNew + dohtml -r ./ +} |