anchor.diff:  
     meta = with stdenv.lib; {
       description = "An OpenType text shaping engine";
  -    homepage = "http://www.freedesktop.org/wiki/Software/HarfBuzz";
  -    downloadPage = "https://www.freedesktop.org/software/harfbuzz/release/";
  +    homepage = "https://harfbuzz.github.io/";
       maintainers = [ maintainers.eelco ];
       license = licenses.mit;
       platforms = with platforms; linux ++ darwin;
  -    inherit version;
  -    updateWalker = true;
     };
   }
  
positive.code:     ++ optional withGraphite2 graphite2
      ++ optionals withIcu [ icu harfbuzz ];
  
    checkInputs = [ python ];
    doInstallCheck = false; # fails, probably a bug
  
    # Slightly hacky; some pkgs expect them in a single directory.
    postInstall = optionalString withIcu ''
      rm "$out"/lib/libharfbuzz.* "$dev/lib/pkgconfig/harfbuzz.pc"
      ln -s {'${harfbuzz.out}',"$out"}/lib/libharfbuzz.la
      ln -s {'${harfbuzz.dev}',"$dev"}/lib/pkgconfig/harfbuzz.pc
  
negative.code: { stdenv, fetchFromGitHub, pkgconfig, glib, freetype, cairo, libintl
  , meson, ninja
  , gobject-introspection
  , icu, graphite2, harfbuzz # The icu variant uses and propagates the non-icu one.
  , ApplicationServices, CoreText
  , withCoreText ? false
  , withIcu ? false # recommended by upstream as default, but most don't needed and it's big
  , withGraphite2 ? true # it is small and major distros do include it
  , python3
  , gtk-doc, docbook-xsl-nons, docbook_xml_dtd_43
  }:
  
  let
    version = "2.7.1";
    inherit (stdenv.lib) optional optionals optionalString;
    mesonFeatureFlag = opt: b:
      "-D${opt}=${if b then "enabled" else "disabled"}";
  in
  
  stdenv.mkDerivation {
    name = "harfbuzz${optionalString withIcu "-icu"}-${version}";
  
    src = fetchFromGitHub {
      owner  = "harfbuzz";
      repo   = "harfbuzz";
      rev    = version;
      sha256 = "172jmwp666xbs6yy1pc2495gnkz8xw11b8zkz3j19jxlvvp4mxcs";
    };
  
    postPatch = ''
      patchShebangs src/*.py
      patchShebangs test
    '' + stdenv.lib.optionalString stdenv.isDarwin ''
      # ApplicationServices.framework headers have cast-align warnings.
  