anchor.diff:  , monoDLLFixer
   }:
   
  -stdenv.mkDerivation {
  -  name = "gtk-sharp-2.99.3";
  +stdenv.mkDerivation rec {
  +  pname = "gtk-sharp";
  +  version = "2.99.3";
   
     builder = ./builder.sh;
     src = fetchurl {
  -    #"mirror://gnome/sources/gtk-sharp/2.99/gtk-sharp-2.99.3.tar.xz";
  -    url = "http://ftp.gnome.org/pub/GNOME/sources/gtk-sharp/2.99/gtk-sharp-2.99.3.tar.xz";
  +    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
       sha256 = "18n3l9zcldyvn4lwi8izd62307mkhz873039nl6awrv285qzah34";
     };
  -
  -  # patch bad usage of glib, which wasn't tolerated anymore
  -  # prePatch = ''
  -  #   for f in glib/glue/{thread,list,slist}.c; do
  -  #     sed -i 's,#include <glib/.*\.h>,#include <glib.h>,g' "$f"
  -  #   done
  -  # '';
   
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [
       mono glib pango gtk3 GConf libglade libgnomecanvas
       libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
  +  ];
  +
  +  patches = [
  +    # Fixes MONO_PROFILE_ENTER_LEAVE undeclared when compiling against newer versions of mono.
  +    # @see https://github.com/mono/gtk-sharp/pull/266
  +    (fetchpatch {
  +      name = "MONO_PROFILE_ENTER_LEAVE.patch";
  +      url = "https://github.com/mono/gtk-sharp/commit/401df51bc461de93c1a78b6a7a0d5adc63cf186c.patch";
  +      sha256 = "0hrkcr5a7wkixnyp60v4d6j3arsb63h54rd30lc5ajfjb3p92kcf";
  +    })
     ];
   
     dontStrip = true;
  
positive.code: { stdenv, fetchurl, pkgconfig, mono
  , glib
  , pango
  , gtk3
  
negative.code: 
    meta = {
      platforms = stdenv.lib.platforms.linux;
    };
  }
  