anchor.diff:  { stdenv, fetchurl, fetchpatch, pkgconfig, gettext, perl, makeWrapper, shared-mime-info, isocodes
  -, expat, glib, cairo, pango, gdk_pixbuf, atk, at-spi2-atk, gobject-introspection
  -, xorg, epoxy, json-glib, libxkbcommon, gmp, gnome3
  +, expat, glib, cairo, pango, gdk_pixbuf, atk, at-spi2-atk, gobject-introspection, fribidi
  +, xorg, epoxy, json-glib, libxkbcommon, gmp, gnome3, autoreconfHook
   , x11Support ? stdenv.isLinux
   , waylandSupport ? stdenv.isLinux, mesa_noglu, wayland, wayland-protocols
   , xineramaSupport ? stdenv.isLinux
  
positive.code:       url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123";
        sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p";
      })
      # 3.24.3: https://gitlab.gnome.org/GNOME/gtk/merge_requests/505
      (fetchpatch {
        url = https://gitlab.gnome.org/GNOME/gtk/commit/95c0f07295fd300ab7f3416a39290ae33585ea6c.patch;
        sha256 = "0z9w7f39xcn1cbcd8jhx731vq64nvi5q6kyc86bq8r00daysjwnl";
      })
    ] ++ optionals stdenv.isDarwin [
      # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin
  
negative.code:   buildInputs = [ libxkbcommon epoxy json-glib isocodes ]
      ++ optional stdenv.isDarwin AppKit;
    propagatedBuildInputs = with xorg; with stdenv.lib;
      [ expat glib cairo pango gdk_pixbuf atk at-spi2-atk gnome3.gsettings-desktop-schemas fribidi
        libXrandr libXrender libXcomposite libXi libXcursor libSM libICE ]
      ++ optional stdenv.isDarwin Cocoa  # explicitly propagated, always needed
      ++ optionals waylandSupport [ mesa_noglu wayland wayland-protocols ]
  