anchor.diff:  { stdenv, fetchFromGitHub, cmake, makeWrapper
  -, boost, python3
  +, boost, python3, eigen
   , icestorm, trellis
   
   # TODO(thoughtpolice) Currently the GUI build seems broken at runtime on my
  
positive.code:   postInstall = stdenv.lib.optionalString enableGui ''
      for x in generic ice40 ecp5; do
        wrapProgram $out/bin/nextpnr-$x \
          --prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-${qtbase.qtCompatVersion}/plugins
      done
    '';
  
  
negative.code: in
  stdenv.mkDerivation rec {
    name = "nextpnr-${version}";
    version = "2019.04.02";
  
    src = fetchFromGitHub {
      owner  = "yosyshq";
      repo   = "nextpnr";
      rev    = "6adf37e3c1d4301e087d89c9e9c37563fe8d78df";
      sha256 = "0qqb2yd2s39hahh5qigvllgyzj7rp3r1k9jp2n9z2jrfpiaz68c6";
    };
  
    nativeBuildInputs = [ cmake makeWrapper ];
    buildInputs
       = [ boostPython python3 eigen ]
      ++ (stdenv.lib.optional enableGui qtbase);
  
    enableParallelBuilding = true;
  