SDL: add patches from Fedora

Fixes several bugs (some of which were fixed in the official repository but no
release made).
This commit is contained in:
Nikolay Amiantov 2016-02-07 05:03:16 +03:00
parent 8ea5563011
commit 234f461139

View File

@ -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;
};
}