anchor.diff: -{ stdenv, fetchFromGitHub, pkgconfig, python, makeWrapper
  +{ stdenv, fetchFromGitHub, python, makeWrapper
   , bash, libsamplerate, libsndfile, readline, expat
   
   # Optional Dependencies
  -, dbus ? null, pythonDBus ? null, libffado ? null, alsaLib ? null
  -, libopus ? null
  +, dbus, pythonPackages, ffado_lib, alsa-lib
  +, libopus
   
   # Extra options
   , prefix ? ""
   }:
   
  -with stdenv;
  -with stdenv.lib;
   let
     libOnly = prefix == "lib";
  -
  -  optDbus = shouldUsePkg dbus;
  -  optPythonDBus = if libOnly then null else shouldUsePkg pythonDBus;
  -  optLibffado = if libOnly then null else shouldUsePkg libffado;
  -  optAlsaLib = if libOnly then null else shouldUsePkg alsaLib;
  -  optLibopus = shouldUsePkg libopus;
  +  inherit (stdenv.lib)
  +    optionals
  +    optionalString;
   in
   stdenv.mkDerivation rec {
     name = "${prefix}jack2-${version}";
  
positive.code:     sha256 = "1a2213l7x6sgqg2hq3yhnpvvvqyskhsmx8j3z0jgjsqwz9xa3wbr";
    };
  
    nativeBuildInputs = [ pkgconfig python makeWrapper ];
    buildInputs = [
      python
  
      libsamplerate libsndfile readline expat
  
      optDbus optPythonDBus optLibffado optAlsaLib optLibopus
    ];
  
    prePatch = ''
  
negative.code: 
    configurePhase = ''
      python waf configure --prefix=$out \
        --dbus \
        --classic \
        ${optionalString (!libOnly) "--firewire"} \
        ${optionalString (!libOnly) "--alsa"} \
        --autostart=dbus \
    '';
  
    buildPhase = ''
  