about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-02-07 05:03:16 +0300
committerNikolay Amiantov <ab@fmap.me>2016-02-07 05:05:19 +0300
commit234f4611393a6818b317f3ad93d2e276515bdc33 (patch)
tree0b98977b5b98706964aa973151c639b859ef5ba5
parent8ea5563011ee202eda146e2cc8f8754f239303cf (diff)
downloadnixlib-234f4611393a6818b317f3ad93d2e276515bdc33.tar
nixlib-234f4611393a6818b317f3ad93d2e276515bdc33.tar.gz
nixlib-234f4611393a6818b317f3ad93d2e276515bdc33.tar.bz2
nixlib-234f4611393a6818b317f3ad93d2e276515bdc33.tar.lz
nixlib-234f4611393a6818b317f3ad93d2e276515bdc33.tar.xz
nixlib-234f4611393a6818b317f3ad93d2e276515bdc33.tar.zst
nixlib-234f4611393a6818b317f3ad93d2e276515bdc33.zip
SDL: add patches from Fedora
Fixes several bugs (some of which were fixed in the official repository but no
release made).
-rw-r--r--pkgs/development/libraries/SDL/default.nix61
1 files 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;
   };
 }