anchor.diff:  { stdenv
   , fetchFromGitHub
   , fetchurl
  +, fetchpatch
   , pkg-config
  -, intltool
  +, gettext
   , itstool
   , python3
   , wrapGAppsHook
  
positive.code: }:
  
  let
    # gst-transcoder will eventually be merged with gstreamer (according to
    # gst-transcoder 1.8.0 release notes). For now the only user is pitivi so we
    # don't bother exposing the package to all of nixpkgs.
    gst-transcoder = stdenv.mkDerivation rec {
      version = "1.14.1";
      pname = "gst-transcoder";
  
negative.code:     # and saves them to the generated binary. This would make the build-time
      # dependencies part of the closure so we remove it.
      ./prevent-closure-contamination.patch
  
      # Port from intltool to gettext.
      # Needed for the following patches to apply.
      (fetchpatch {
        url = "https://gitlab.gnome.org/GNOME/pitivi/commit/89b1053f2516c594f414c5c67c835471bce44b67.patch";
        sha256 = "8yhArzAtZC+WjHftcSDrstBlT8j6WlGHffU9Nj+ny+c=";
        excludes = [ "po/POTFILES.in" ];
      })
  
      # Complete switching to gst-transcoder in gst-plugins-bad.
      # Otherwise there will likely be conflics.
      # TODO: Apply this patch once we are using gst-transcoder from gst-plugins-bad.
      # (fetchpatch {
      #   url = "https://gitlab.gnome.org/GNOME/pitivi/commit/51ae6533ee26ffd47e453eb5f5ad8cd46f57d15e.patch";
      #   sha256 = "zxJm+E5o+oZ3lW6wYNY/ERo2g4NmCjoY8oV+uScq8j8=";
      # })
  
      # Generate renderer.so on macOS instead of dylib.
      # Needed for the following patch to apply.
      (fetchpatch {
        url = "https://gitlab.gnome.org/GNOME/pitivi/commit/bcacadcafabf8911efb0fddc8d57329237d08cd1.patch";
        sha256 = "2BM5acIwOgdr1L9vhtMMN4trrLuqCg/K6v6ZYtD1Fjw=";
        postFetch = ''
          sed -i -e "s/1.90.0.1/0.999/g" "$out"
        '';
      })
      (fetchpatch {
        url = "https://gitlab.gnome.org/GNOME/pitivi/commit/0a3cc054a2c20b59f5aaaaa307de3c9af3c0d270.patch";
        sha256 = "6DhqRlxFWFFdLwGoFem+vPt8x7v732KMVjMF9fypMK4=";
        postFetch = ''
          sed "$out" -i \
            -e "s/1.90.0.1/0.999/g" \
            -e "s/\(-python_dep.*\)/\1\n /" \
            -e "s/-1,9 +1,16/-1,10 +1,17/"
        '';
      })
    ];
  
    nativeBuildInputs = [
      meson
      ninja
      pkg-config
      gettext
      itstool
      python3
      wrapGAppsHook
  