anchor.diff:  , gettext
   , itstool
   , libxml2
  -, gtk3
  +, gtk4
   , glib
   , atk
  +, gobject-introspection
   , wrapGAppsHook
   }:
   
   stdenv.mkDerivation rec {
     pname = "ghex";
  -  version = "3.41.1";
  +  version = "4.beta.1";
   
  -  outputs = [ "out" "dev" ];
  +  outputs = [ "out" "dev" "devdoc" ];
   
     src = fetchurl {
  -    url = "mirror://gnome/sources/ghex/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
  -    sha256 = "i3nPAJ6uXEfK0KtT4hmcOm+y86thh381m+1SR3DuYfc=";
  +    url = "mirror://gnome/sources/ghex/${version}/${pname}-${version}.tar.xz";
  +    sha256 = "sBS/9cY++uHLGCbLeex8ZW697JJn3dK+HaM6tHBdwJ4=";
     };
  +
  +  patches = [
  +    # Fix build with -Werror=format-security
  +    (fetchpatch {
  +      url = "https://gitlab.gnome.org/GNOME/ghex/-/commit/3d35359f3a12b6abb4a3d8a12a0f39b7221be408.patch";
  +      sha256 = "4z9nUd+/eBOUGwl3MErse+FKLzGqtWKwkIzej57CnYk=";
  +    })
  +    # Build devhelp index.
  +    # https://gitlab.gnome.org/GNOME/ghex/-/merge_requests/25
  +    (fetchpatch {
  +      url = "https://gitlab.gnome.org/GNOME/ghex/-/commit/b26a7b1135ea2fe956a9bc0669b3b6ed818716c3.patch";
  +      sha256 = "nYjjxds9GNWkW/RhXEe5zJzPF4TnLMsCELEqYR4dXTk=";
  +    })
  +  ];
   
     nativeBuildInputs = [
       desktop-file-utils
  
positive.code: { stdenv
  , lib
  , fetchurl
  , pkg-config
  , meson
  , ninja
  , python3
  
negative.code:     desktop-file-utils
    ];
  
    mesonFlags = [
      "-Dgtk_doc=true"
    ];
  
    postPatch = ''
      chmod +x meson_post_install.py
      patchShebangs meson_post_install.py
    '';
  
    postFixup = ''
      # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
      moveToOutput "share/doc" "$devdoc"
    '';
  
    passthru = {
  