anchor.diff:  , ffmpeg, libGLU_combined, freetype, libxml2, python3
   , libobjc, AppKit, Foundation
   , alsaLib ? null
  +, libdrm ? null
   , libpulseaudio ? null
   , libv4l ? null
   , libX11 ? null
   , libXdmcp ? null
   , libXext ? null
   , libXxf86vm ? null
  +, mesa ? null
   , SDL2 ? null
   , udev ? null
   , enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null
  
positive.code:                 ++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
                  ++ optional withVulkan [ vulkan-loader ]
                  ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ]
                  ++ optionals stdenv.isLinux [ alsaLib libpulseaudio libv4l libX11
                                                libXdmcp libXext libXxf86vm udev ];
  
    enableParallelBuilding = true;
  
    postInstall = optionalString withVulkan ''
      wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
  
negative.code: 
  in stdenv.mkDerivation rec {
    pname = "retroarch-bare";
    version = "1.8.1";
  
    src = fetchFromGitHub {
      owner = "libretro";
      repo = "RetroArch";
      sha256 = "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7";
      rev = "v${version}";
    };
  
  