anchor.diff:      # so that it can be used to regenerate documentation.
       patches        = lib.optionals disableGraphviz [ graphvizPatch ./gvc-compat.patch ];
       configureFlags = lib.optional  disableGraphviz "--disable-graphviz";
  -    preBuild       = lib.optionalString disableGraphviz "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")";
  +    # when cross-compiling ./compiler/valac is valac for host
  +    # so add the build vala in nativeBuildInputs
  +    preBuild       = lib.optionalString (disableGraphviz && (stdenv.buildPlatform == stdenv.hostPlatform)) "buildFlagsArray+=(\"VALAC=$(pwd)/compiler/valac\")";
   
       outputs = [ "out" "devdoc" ];
   
  
positive.code:       pkg-config flex bison libxslt
      ] ++ lib.optional (stdenv.isDarwin && (lib.versionAtLeast version "0.38")) expat
        ++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure
        ++ extraNativeBuildInputs;
  
      buildInputs = [
  
negative.code: { stdenv, lib, fetchurl, fetchpatch, pkg-config, flex, bison, libxslt, autoconf, autoreconfHook
  , gnome, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll, vala
  }:
  
  let
  