Mercurial > hg > portage
changeset 345:208cbe4d2de1
maintain my own libsdl ebulid without --shared-alsa
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Thu, 20 Jun 2013 08:42:33 +0200 |
parents | 560c63f95c62 |
children | 2ed312984209 |
files | media-libs/libsdl/Manifest media-libs/libsdl/files/libsdl-1.2.15-joystick.patch media-libs/libsdl/files/libsdl-1.2.15-resizing.patch media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch media-libs/libsdl/libsdl-1.2.15-r2.ebuild |
diffstat | 5 files changed, 243 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/media-libs/libsdl/Manifest Thu Jun 20 08:42:33 2013 +0200 @@ -0,0 +1,5 @@ +AUX libsdl-1.2.15-joystick.patch 315 SHA256 fa912a36cf6a0926e91a34efa756d3514bb42c1de834f416a52c4fa3ba777dd3 SHA512 653e7d2e2dbc4c945e4e4e43dc53f569164c8bbb1e4e9d9c2421cd7da13849d04439ef9cbcf6736c6e5d2aa695a1b24d314045eb3f817dcb1b6f2e93fbfb2e1a WHIRLPOOL 8bed5ac8999bfa1b7c4391643e24f73c7f81ceb602e6fce5d99ecf8aced67b551ee20db6df367ef3d9b252323417fca4eb6c192db95c535776d6d15d231d3503 +AUX libsdl-1.2.15-resizing.patch 2098 SHA256 0e4c2c4a11dbf611e317be4e866f99bde619eb1ca3942524e96b7ef94d8180f4 SHA512 afa82d81e03fe974b2c1a4f3c9ed48a15472784548c8e88f988bb03ea992e8ce86bbad74f7e5980dd1476139cf82180eda72e77041e065925cb373cda47c268b WHIRLPOOL a298ec48388f2f34dfd3c40a5912fc1ec47ff9a19983054f78544f6794873a42090010b4b606c9c9f2dfa7ea6ee447e87915a733e34431b7db7ae39a23c605ee +AUX libsdl-1.2.15-sdl-config.patch 780 SHA256 1c73cc815ae4f6fdaee3dc899a9f38e9f29f88e3997070c9fba226b36dbed015 SHA512 c79b0b5674a2a70862425150d8b481f1a0ed0bc400bc69835e53932422583bdde061d1f72da8d3ad0aaaa4499126bc2770f11941435e6c848bd4d90d040a0d03 WHIRLPOOL 5762b64726808967cd51215b1fd04c3cd52baa9517b25c30c99e669d450f19666d7179c9c69bf8d6a09ac109d52148fee0bbaa458ab77aacddf793914faf1c80 +DIST SDL-1.2.15.tar.gz 3920622 SHA256 d6d316a793e5e348155f0dd93b979798933fb98aa1edebcc108829d6474aad00 SHA512 ac392d916e6953b0925a7cbb0f232affea33339ef69b47a0a7898492afb9784b93138986df53d6da6d3e2ad79af1e9482df565ecca30f89428be0ae6851b1adc WHIRLPOOL 21b9aadb7b00002a6f3760902cd40aeb1b145228348b887049b40a435c2b9a1a3679a83100421e9634178b9da32d524371d6912c190a75e83ef3170ad45bc159 +EBUILD libsdl-1.2.15-r2.ebuild 4112 SHA256 373b5b3fb7fd97aa0dd278fb0927b3fdb56118f58a7e44f6376b9edc99ce8988 SHA512 dad6ee545f731a7c6bfa41e2167386fe7e21fc12c408c14b0e6e982e04006c6488f7ed0feba509e77730d1c8649c51ac8a37e23d72ee50806123062727593e53 WHIRLPOOL 6d9d71472c5df5c9e1290e0f797621716cf23966a1ce6cd4b1f088f0232413cf1ad7bdecf7aa05f246666f9f1ef8f43a78fcf0112742a056d9e114d08aac61e2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/media-libs/libsdl/files/libsdl-1.2.15-joystick.patch Thu Jun 20 08:42:33 2013 +0200 @@ -0,0 +1,13 @@ +--- src/joystick/linux/SDL_sysjoystick.c.org ++++ src/joystick/linux/SDL_sysjoystick.c +@@ -1106,6 +1106,10 @@ static __inline__ void EV_HandleEvents(S + } + break; + case EV_ABS: ++ if (code >= ABS_MISC) { ++ break; ++ } ++ + switch (code) { + case ABS_HAT0X: + case ABS_HAT0Y:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/media-libs/libsdl/files/libsdl-1.2.15-resizing.patch Thu Jun 20 08:42:33 2013 +0200 @@ -0,0 +1,60 @@ +Description: Revert change that breaks window corner resizing + http://bugzilla.libsdl.org/show_bug.cgi?id=1430 +Author: Andrew Caudwell <acaudwell@gmail.com> +Last-Update: 2012-04-10 +Bug-Debian: http://bugs.debian.org/665779 + +--- a/src/video/x11/SDL_x11events.c ++++ b/src/video/x11/SDL_x11events.c +@@ -57,12 +57,6 @@ + static SDLKey MISC_keymap[256]; + SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); + +-/* +- Pending resize target for ConfigureNotify (so outdated events don't +- cause inappropriate resize events) +-*/ +-int X11_PendingConfigureNotifyWidth = -1; +-int X11_PendingConfigureNotifyHeight = -1; + + #ifdef X_HAVE_UTF8_STRING + Uint32 Utf8ToUcs4(const Uint8 *utf8) +@@ -825,16 +819,6 @@ + #ifdef DEBUG_XEVENTS + printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); + #endif +- if ((X11_PendingConfigureNotifyWidth != -1) && +- (X11_PendingConfigureNotifyHeight != -1)) { +- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && +- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { +- /* Event is from before the resize, so ignore. */ +- break; +- } +- X11_PendingConfigureNotifyWidth = -1; +- X11_PendingConfigureNotifyHeight = -1; +- } + if ( SDL_VideoSurface ) { + if ((xevent.xconfigure.width != SDL_VideoSurface->w) || + (xevent.xconfigure.height != SDL_VideoSurface->h)) { +--- a/src/video/x11/SDL_x11events_c.h ++++ b/src/video/x11/SDL_x11events_c.h +@@ -27,8 +27,3 @@ + extern void X11_InitOSKeymap(_THIS); + extern void X11_PumpEvents(_THIS); + extern void X11_SetKeyboardState(Display *display, const char *key_vec); +- +-/* Variables to be exported */ +-extern int X11_PendingConfigureNotifyWidth; +-extern int X11_PendingConfigureNotifyHeight; +- +--- a/src/video/x11/SDL_x11video.c ++++ b/src/video/x11/SDL_x11video.c +@@ -1182,8 +1182,6 @@ + current = NULL; + goto done; + } +- X11_PendingConfigureNotifyWidth = width; +- X11_PendingConfigureNotifyHeight = height; + } else { + if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { + current = NULL;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch Thu Jun 20 08:42:33 2013 +0200 @@ -0,0 +1,20 @@ +Only output -L -rpath cruft if using a non-standard install location. + +Makes ABI / cross-compiling easier on the soul. + +--- sdl-config.in ++++ sdl-config.in +@@ -44,7 +44,12 @@ + echo -I@includedir@/SDL @SDL_CFLAGS@ + ;; + @ENABLE_SHARED_TRUE@ --libs) +-@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ ++@ENABLE_SHARED_TRUE@ if test x"${prefix}" != x"/usr" ; then ++@ENABLE_SHARED_TRUE@ libdirs="-L@libdir@" ++@ENABLE_SHARED_TRUE@ else ++@ENABLE_SHARED_TRUE@ libdirs="" ++@ENABLE_SHARED_TRUE@ fi ++@ENABLE_SHARED_TRUE@ echo $libdirs @SDL_RLD_FLAGS@ @SDL_LIBS@ + @ENABLE_SHARED_TRUE@ ;; + @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs) + @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/media-libs/libsdl/libsdl-1.2.15-r2.ebuild Thu Jun 20 08:42:33 2013 +0200 @@ -0,0 +1,145 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libsdl/libsdl-1.2.15-r2.ebuild,v 1.9 2012/08/27 17:40:01 armin76 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 ~amd64-fbsd ~x86-fbsd" +# WARNING: +# If you 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 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}"/${P}-sdl-config.patch \ + "${FILESDIR}"/${P}-resizing.patch \ + "${FILESDIR}"/${P}-joystick.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-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 || prune_libtool_files --all + dodoc BUGS CREDITS README README-SDL.txt README.HG TODO WhatsNew + dohtml -r ./ +}