anchor.diff:      sha256 = "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m";
     };
   
  -  nativeBuildInputs = [ pkgconfig autoconf ];
  +  nativeBuildInputs = [ pkgconfig autoconf vala gobject-introspection ];
   
     propagatedBuildInputs =
       if gtkVersion == "2"
  
positive.code: # TODO: Resolve the issues with the Mono bindings.
  
  { stdenv, fetchurl, lib, file
  , pkgconfig, autoconf
  , glib, dbus-glib, gtkVersion ? "3"
  , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
  , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
  , python2Packages, gobject-introspection, vala
  , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
   }:
  
  with lib;
  
  let
    inherit (python2Packages) python pygobject2 pygtk;
  in stdenv.mkDerivation rec {
    name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
            in "libappindicator-${postfix}-${version}";
    version = "${versionMajor}.${versionMinor}";
  
negative.code: 
    buildInputs = [
      glib dbus-glib
    ] ++ (if gtkVersion == "2"
      then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
      else [ libindicator-gtk3 ]);
  
    patches = [
      # Remove python2 from libappindicator.
      (fetchpatch {
        name = "no-python.patch";
        url = "https://src.fedoraproject.org/rpms/libappindicator/raw/8508f7a52437679fd95a79b4630373f08315f189/f/nopython.patch";
        sha256 = "18b1xzvwsbhhfpbzf5zragij4g79pa04y1dk6v5ci1wsjvii725s";
      })
    ];
  
    postPatch = ''
      autoconf
      for f in {configure,ltmain.sh,m4/libtool.m4}; do
        substituteInPlace $f \
  