anchor.diff: -{ stdenv
  -, lib
  +{ lib
  +, stdenv
  +, cairo
  +, curl
  +, fetchurl
  +, freealut
  +, gdk-pixbuf
   , git
  -, curl
  -, makeWrapper
  -, runtimeShell
  -, fetchurl
  -, unzip
  -, runCommand
  -, writeScriptBin
  +, glib
  +, gnome2
  +, graphviz
  +, gtk2-x11
   , interpreter
  -, glib
  -, pango
  -, cairo
  -, gtk2-x11
  -, gdk-pixbuf
  -, gnome2
  -, pcre
   , libGL
   , libGLU
  -, freealut
  +, libogg
  +, librsvg
  +, libvorbis
  +, makeWrapper
  +, ncurses
  +, openal
   , openssl
  +, pango
  +, pcre
  +, runCommand
  +, runtimeShell
  +, tzdata
   , udis86
  -, openal
  -, libogg
  -, libvorbis
  -, graphviz
  -, librsvg
  +, unzip
  +, writeScriptBin
   , zlib
  -, tzdata
  -, ncurses
   }:
   let
     runtimeLibs = [
  +    cairo
  +    freealut
  +    gdk-pixbuf
       glib
  -    pango
  -    cairo
  +    gnome2.gtkglext
  +    graphviz
       gtk2-x11
  -    gdk-pixbuf
  -    gnome2.gtkglext
  -    pcre
       libGL
       libGLU
  -    freealut
  -    openssl
  -    udis86
  -    openal
       libogg
       libvorbis
  -    graphviz
  +    openal
  +    openssl
  +    pango
  +    pcre
  +    udis86
       zlib
     ];
   
  
positive.code: 
    meta = with lib; {
      homepage = "https://factorcode.org/";
      license = licenses.bsd2;
      description = "A concatenative, stack-based programming language";
      maintainers = with maintainers; [ vrthra spacefrogg ];
      platforms = lib.intersectLists platforms.x86_64 platforms.linux;
    };
  
negative.code:     runHook postBuild
    '';
  
    # For now, the check phase runs, but should always return 0. This way the logs
    # contain the test failures until all unit tests are fixed. Then, it should
    # return 1 if any test failures have occured.
    doCheck = false;
    checkPhase = ''
      runHook preCheck
  