anchor.diff:  
     vala_0_36 = generic {
       major   = "0.36";
  -    minor   = "12";
  -    sha256  = "1nvw721piwdh15bipg0sdll9kvgpz0y9i5fpszlc7y9w64yis25l";
  +    minor   = "13";
  +    sha256  = "0gxz7yisd9vh5d2889p60knaifz5zndgj98zkdfkkaykdfdq4m9k";
     };
   
     vala_0_38 = generic {
       major   = "0.38";
  -    minor   = "4";
  -    sha256  = "1sg5gaq3jhgr9vzh2ypiw475167k150wmyglymr7wwqppmikmcrc";
  -    extraNativeBuildInputs = [ autoconf ] ++ stdenv.lib.optionals stdenv.isDarwin [ libtool expat ];
  -    extraBuildInputs = [ graphviz ];
  +    minor   = "9";
  +    sha256  = "1dh1qacfsc1nr6hxwhn9lqmhnq39rv8gxbapdmj1v65zs96j3fn3";
  +    extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool;
     };
   
     vala_0_40 = generic {
       major   = "0.40";
  -    minor   = "0";
  -    sha256  = "0wcfljl55a9qvslfcc4sf76wdpwgn83n96b7fgb7r49ib35qz20m";
  -    extraNativeBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ expat ];
  -    extraBuildInputs = [ graphviz ];
  +    minor   = "6";
  +    sha256  = "1qjbwhifwwqbdg5zilvnwm4n76g8p7jwqs3fa0biw3rylzqm193d";
     };
   
     vala = vala_0_38;
  
positive.code: { stdenv, fetchurl, pkgconfig, flex, bison, libxslt, autoconf, graphviz
  , glib, libiconv, libintl, libtool, expat
  }:
  
  let
    generic = { major, minor, sha256, extraNativeBuildInputs ? [], extraBuildInputs ? [] }:
    stdenv.mkDerivation rec {
      name = "vala-${major}.${minor}";
  
      src = fetchurl {
  
negative.code: 
      outputs = [ "out" "devdoc" ];
  
      nativeBuildInputs = [
        pkgconfig flex bison libxslt
      ] ++ lib.optional (stdenv.isDarwin && (atLeast "0.38")) expat
        ++ extraNativeBuildInputs;
  
      buildInputs = [
        glib libiconv libintl
      ] ++ lib.optional (atLeast "0.38") graphviz
        ++ extraBuildInputs;
  
      meta = with stdenv.lib; {
        description = "Compiler for GObject type system";
  