anchor.diff: -{ stdenv, lib, fetchurl, fetchpatch, cmake, ninja, pkg-config, libiconv, libintl
  -, zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
  +{ stdenv
  +, lib
  +, fetchurl
  +, fetchpatch
  +, cmake
  +, ninja
  +, pkg-config
  +, libiconv
  +, libintl
  +, zlib
  +, curl
  +, cairo
  +, freetype
  +, fontconfig
  +, lcms
  +, libjpeg
  +, openjpeg
   , withData ? true, poppler_data
   , qt5Support ? false, qtbase ? null
   , introspectionSupport ? false, gobject-introspection ? null
   , utils ? false, nss ? null
  -, minimal ? false, suffix ? "glib"
  +, minimal ? false
  +, suffix ? "glib"
  +, inkscape
  +, cups-filters
  +, texlive
  +, scribusUnstable
   }:
   
   let
  
positive.code:   name = "poppler-${suffix}-${version}";
    version = "21.02.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
  
    src = fetchurl {
      url = "${meta.homepage}/poppler-${version}.tar.xz";
      sha256 = "sha256-XBR1nJmJHm5HKs7W1fD/Haz4XYDNkCbTZcVcZT7feSw=";
    };
  
    outputs = [ "out" "dev" ];
  
    buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data;
  
    # TODO: reduce propagation to necessary libs
    propagatedBuildInputs = with lib;
      [ zlib freetype fontconfig libjpeg openjpeg ]
      ++ optionals (!minimal) [ cairo lcms curl ]
      ++ optional qt5Support qtbase
      ++ optional utils nss
      ++ optional introspectionSupport gobject-introspection;
  
    nativeBuildInputs = [ cmake ninja pkg-config ];
  
    # Workaround #54606
    preConfigure = lib.optionalString stdenv.isDarwin ''
      sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt
    '';
  
    dontWrapQtApps = true;
  
    cmakeFlags = [
      (mkFlag true "UNSTABLE_API_ABI_HEADERS") # previously "XPDF_HEADERS"
  
negative.code:     (mkFlag utils "UTILS")
      (mkFlag qt5Support "QT5")
    ];
  
    dontWrapQtApps = true;
  
    # Workaround #54606
    preConfigure = lib.optionalString stdenv.isDarwin ''
      sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt
    '';
  
    passthru = {
      tests = {
        # These depend on internal poppler code that frequently changes.
        inherit inkscape cups-filters texlive scribusUnstable;
      };
    };
  
    meta = with lib; {
      homepage = "https://poppler.freedesktop.org/";
  