anchor.diff:  , portaudioSupport ? false, portaudio ? null
   , pulseSupport ? true, pulseaudio ? null
   , cddaSupport ? false, libcdda ? null
  +, youtubeSupport ? true, youtube-dl ? null
   }:
  +
  +with stdenv.lib;
   
   assert jackSupport -> jack != null;
   assert portaudioSupport -> portaudio != null;
   assert pulseSupport -> pulseaudio != null;
   assert cddaSupport -> libcdda != null;
  +assert youtubeSupport -> youtube-dl != null;
   
   let
     waf = fetchurl {
  
positive.code: 
    preConfigure = ''
      patchShebangs configure
      # src/mpv/waf build-mpv; do
    '';
  
    preBuild = ''
      patchShebangs build-mpv
      install -m755 ${waf} src/mpv/waf
      sed -i '1 s,.*,#!${python3.interpreter},' src/mpv/waf
    '';
  
    configureFlags = with stdenv.lib;
  
negative.code: 
  stdenv.mkDerivation rec {
    name = "bomi-${version}";
    version = "0.9.10";
  
    src = fetchFromGitHub {
      owner = "xylosper";
      repo = "bomi";
      rev = "v${version}";
      sha256 = "1c7497gks7yxzfy6jx77vn9zs2pdq7y6l9w61miwnkdm91093n17";
    };
  
    buildInputs = with stdenv.lib;
                  [ libX11 libxcb mesa
                    qt5.base qt5.x11extras qt5.declarative qt5.quickcontrols
                    ffmpeg
                    libchardet
                    mpg123
  