anchor.diff:  assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
   
   assert openglSupport -> (stdenv.isDarwin || mesa != null && x11Support);
  -assert x11Support -> (xlibsWrapper != null && libXrandr != null);
  +assert x11Support -> (xlibsWrapper != null && xorg != null);
   assert alsaSupport -> alsaLib != null;
   assert pulseaudioSupport -> libpulseaudio != null;
   
  
positive.code:       '';
  in
  stdenv.mkDerivation rec {
    name = "SDL2-2.0.3";
  
    src = fetchurl {
      url = "http://www.libsdl.org/release/${name}.tar.gz";
      sha256 = "0369ngvb46x6c26h8zva4x22ywgy6mvn0wx87xqwxg40pxm9m9m5";
    };
  
    # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
    propagatedBuildInputs = stdenv.lib.optionals x11Support [ xlibsWrapper libXrandr ] ++
      stdenv.lib.optional pulseaudioSupport libpulseaudio;
  
    buildInputs = [ pkgconfig audiofile ] ++
  
negative.code: { stdenv, fetchurl, pkgconfig, audiofile
  , openglSupport ? false, mesa ? null
  , alsaSupport ? true, alsaLib ? null
  , x11Support ? true, xlibsWrapper ? null, xorg ? null
  , pulseaudioSupport ? true, libpulseaudio ? null
  , AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL
  }:
  