anchor.diff:  , withHttpServer ? true
   , withStreams ? true
   }:
  -
  -# One and only one front-end.
  -assert withQt5 -> withQt4 == false;
  -assert withQt4 -> withQt5 == false;
  -assert withQt4 || withQt5;
   
   # Inter-dependencies.
   assert withCddb -> withCdda && withTaglib;
  
positive.code:     sha256 = "1b633chgfs8rya78bzzck5zijna15d1y4nmrz4dcjp862ks5y5q6";
    };
  
    buildInputs = [ vlc ]
      ++ stdenv.lib.optional  withQt4 qt4
      ++ stdenv.lib.optionals withQt5 [ qtbase qtmultimedia qtsvg qttools ]
      ++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ]
      ++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
      ++ stdenv.lib.optional  withCdda cdparanoia
  
negative.code: { stdenv, fetchFromGitHub, cmake, pkgconfig, vlc
  , qtbase, qtmultimedia, qtsvg, qttools
  
  # Cantata doesn't build with cdparanoia enabled so we disable that
  # default for now until I (or someone else) figure it out.
  