From 234f4611393a6818b317f3ad93d2e276515bdc33 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 7 Feb 2016 05:03:16 +0300 Subject: [PATCH] SDL: add patches from Fedora Fixes several bugs (some of which were fixed in the official repository but no release made). --- pkgs/development/libraries/SDL/default.nix | 61 ++++++++++++++-------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index 7006eb10f7ed..3b63e0bbb0a8 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, audiofile, libcap +{ stdenv, fetchurl, fetchpatch, pkgconfig, audiofile, libcap , openglSupport ? false, mesa ? null , alsaSupport ? true, alsaLib ? null , x11Support ? true, xlibsWrapper ? null, libXrandr ? null @@ -59,34 +59,49 @@ stdenv.mkDerivation rec { "--without-x" ] ++ stdenv.lib.optional alsaSupport "--with-alsa-prefix=${alsaLib}/lib"); - # Fix a build failure on OS X Mavericks - # Ticket: https://bugzilla.libsdl.org/show_bug.cgi?id=2085 - patches = stdenv.lib.optional stdenv.isDarwin [ (fetchurl { - url = "http://bugzilla-attachments.libsdl.org/attachment.cgi?id=1320"; - sha1 = "3137feb503a89a8d606405373905b92dcf7e293b"; - }) ]; + patches = [ + # Fix window resizing issues, e.g. for xmonad + # Ticket: http://bugzilla.libsdl.org/show_bug.cgi?id=1430 + (fetchpatch { + name = "fix_window_resizing.diff"; + url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=10;filename=fix_window_resizing.diff;att=2;bug=665779"; + sha256 = "1z35azc73vvi19pzi6byck31132a8w1vzrghp1x3hy4a4f9z4gc6"; + }) + # Fix drops of keyboard events for SDL_EnableUNICODE + (fetchpatch { + url = "http://hg.libsdl.org/SDL/raw-rev/0aade9c0203f"; + sha256 = "1y9izncjlqvk1mkz1pkl9lrk9s452cmg2izjjlqqrhbn8279xy50"; + }) + # Ignore insane joystick axis events + (fetchpatch { + url = "http://hg.libsdl.org/SDL/raw-rev/95abff7adcc2"; + sha256 = "0i8x0kx0pw12ld5bfxhyzs466y3c0n9dscw1ijhq1b96r72xyhqq"; + }) + # Workaround X11 bug to allow changing gamma + # Ticket: https://bugs.freedesktop.org/show_bug.cgi?id=27222 + (fetchpatch { + url = "http://pkgs.fedoraproject.org/cgit/rpms/SDL.git/plain/SDL-1.2.15-x11-Bypass-SetGammaRamp-when-changing-gamma.patch?id=04a3a7b1bd88c2d5502292fad27e0e02d084698d"; + sha256 = "0x52s4328kilyq43i7psqkqg7chsfwh0aawr50j566nzd7j51dlv"; + }) + # Fix a build failure on OS X Mavericks + # Ticket: https://bugzilla.libsdl.org/show_bug.cgi?id=2085 + (fetchpatch { + url = "http://hg.libsdl.org/SDL/raw-rev/e9466ead70e5"; + sha256 = "0mpwdi09h89df2wxqw87m1rdz7pr46k0w6alk691k8kwv970z6pl"; + }) + (fetchpatch { + url = "http://hg.libsdl.org/SDL/raw-rev/bbfb41c13a87"; + sha256 = "1336g7waaf1c8yhkz11xbs500h8bmvabh4h437ax8l1xdwcppfxv"; + }) + ]; - crossAttrs =stdenv.lib.optionalAttrs (stdenv.cross.libc == "libSystem") { - patches = let - f = rev: sha256: fetchurl { - url = "http://hg.libsdl.org/SDL/raw-rev/${rev}"; - inherit sha256; - }; - in [ - (f "e9466ead70e5" "0ygir3k83d0vxp7s3k48jn3j8n2bnv9wm6613wpx3ybnjrxabrip") - (f "bbfb41c13a87" "17v29ybjifvka19m8qf14rjc43nfdwk9v9inaizznarhb17amlnv") - ]; - postPatch = '' - sed -i -e 's/ *-fpascal-strings//' configure - ''; - }; - - passthru = {inherit openglSupport;}; + passthru = { inherit openglSupport; }; meta = with stdenv.lib; { description = "A cross-platform multimedia library"; homepage = http://www.libsdl.org/; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; + license = licenses.lgpl21; }; }