anchor.diff:      ++ stdenv.lib.optional  withMusicbrainz libmusicbrainz5
       ++ stdenv.lib.optional  withUdisks udisks2;
   
  -  nativeBuildInputs = [ cmake pkgconfig ];
  +  nativeBuildInputs = [ cmake pkgconfig qttools ];
   
     enableParallelBuilding = true;
   
     cmakeFlags = stdenv.lib.flatten [
  -    (fstat withQt5            "QT5")
       (fstats withTaglib        [ "TAGLIB" "TAGLIB_EXTRAS" ])
       (fstats withReplaygain    [ "FFMPEG" "MPG123" "SPEEXDSP" ])
       (fstat withCdda           "CDPARANOIA")
  
positive.code: , 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;
  
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.
  