anchor.diff:      qmake \
         CONFIG+=${stdenv.lib.optionalString alsaSupport "acs_alsa"} \
         CONFIG+=${stdenv.lib.optionalString jackSupport "acs_jack"} \
  +      CONFIG+=${stdenv.lib.optionalString portaudioSupport "acs_portaudio"} \
         PREFIX="$out" PREFIXSHORTCUT="$out" \
         ../fmit.pro
     '';
  
positive.code: 
    buildInputs = [ fftw freeglut qt5.base qt5.multimedia ]
      ++ stdenv.lib.optional alsaSupport [ alsaLib ]
      ++ stdenv.lib.optional jackSupport [ libjack2 ];
  
    configurePhase = ''
      mkdir build
  
negative.code: { stdenv, fetchFromGitHub, fftw, freeglut, qt5
  , alsaSupport ? true, alsaLib ? null
  , jackSupport ? false, libjack2 ? null
  , portaudioSupport ? false, portaudio ? null }:
  
  assert alsaSupport -> alsaLib != null;
  assert jackSupport -> libjack2 != null;
  assert portaudioSupport -> portaudio != null;
  
  let version = "1.0.8"; in
  stdenv.mkDerivation {
  