anchor.diff:  
   assert gtk2Support || gtk3Support;
   
  -stdenv.mkDerivation rec {
  +let
  +  inherit (lib) optionals;
  +
  +  version = "1.9.1";
  +in clangStdenv.mkDerivation {
     pname = "deadbeef";
  -  version = "1.8.4";
  +  inherit version;
   
     src = fetchFromGitHub {
       owner = "DeaDBeeF-Player";
       repo = "deadbeef";
  +    fetchSubmodules = true;
       rev = version;
  -    sha256 = "161b0ll8v4cjgwwmk137hzvh0jidlkx56vjkpnr70f0x4jzv2nll";
  +    sha256 = "sha256-e3bAGpkRPIqVWl0nvSZ61JpIQZw24mqE9218SWHBCFo=";
     };
   
  -  buildInputs = with lib; [ jansson ]
  -    ++ optional gtk2Support gtk2
  -    ++ optionals gtk3Support [ gtk3 gsettings-desktop-schemas ]
  -    ++ optional vorbisSupport libvorbis
  -    ++ optional mp123Support libmad
  -    ++ optional flacSupport flac
  -    ++ optional wavSupport libsndfile
  -    ++ optionals cdaSupport [ libcdio libcddb ]
  -    ++ optional aacSupport faad2
  -    ++ optional opusSupport opusfile
  -    ++ optional zipSupport libzip
  -    ++ optional ffmpegSupport ffmpeg
  -    ++ optional apeSupport yasm
  -    ++ optional artworkSupport imlib2
  -    ++ optional hotkeysSupport libX11
  -    ++ optional osdSupport dbus
  -    ++ optional alsaSupport alsa-lib
  -    ++ optional pulseSupport libpulseaudio
  -    ++ optional resamplerSupport libsamplerate
  -    ++ optional overloadSupport zlib
  -    ++ optional wavpackSupport wavpack
  -    ++ optional remoteSupport curl
  -    ;
  +  buildInputs = [
  +    jansson
  +    swift-corelibs-libdispatch
  +  ] ++ optionals gtk2Support [
  +    gtk2
  +  ] ++ optionals gtk3Support [
  +    gtk3
  +    gsettings-desktop-schemas
  +  ] ++ optionals vorbisSupport [
  +    libvorbis
  +  ] ++ optionals mp123Support [
  +    libmad
  +  ] ++ optionals flacSupport [
  +    flac
  +  ] ++ optionals wavSupport [
  +    libsndfile
  +  ] ++ optionals cdaSupport [
  +    libcdio
  +    libcddb
  +  ] ++ optionals aacSupport [
  +    faad2
  +  ] ++ optionals opusSupport [
  +    opusfile
  +  ] ++ optionals zipSupport [
  +    libzip
  +  ] ++ optionals ffmpegSupport [
  +    ffmpeg
  +  ] ++ optionals apeSupport [
  +    yasm
  +  ] ++ optionals artworkSupport [
  +    imlib2
  +  ] ++ optionals hotkeysSupport [
  +    libX11
  +  ] ++ optionals osdSupport [
  +    dbus
  +  ] ++ optionals alsaSupport [
  +    alsa-lib
  +  ] ++ optionals pulseSupport [
  +    libpulseaudio
  +  ] ++ optionals resamplerSupport [
  +    libsamplerate
  +  ] ++ optionals overloadSupport [
  +    zlib
  +  ] ++ optionals wavpackSupport [
  +    wavpack
  +  ] ++ optionals remoteSupport [
  +    curl
  +  ];
   
     nativeBuildInputs = [
       autoconf
  
positive.code: , osdSupport ? true, dbus
  # output plugins
  , alsaSupport ? true, alsa-lib
  , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio
  # effect plugins
  , resamplerSupport ? true, libsamplerate
  , overloadSupport ? true, zlib
  
negative.code: { lib, config, clangStdenv, fetchFromGitHub
  , autoconf
  , automake
  , libtool
  , intltool
  , pkg-config
  , jansson
  , swift-corelibs-libdispatch
  # deadbeef can use either gtk2 or gtk3
  , gtk2Support ? false, gtk2
  , gtk3Support ? true, gtk3, gsettings-desktop-schemas, wrapGAppsHook
  