anchor.diff: -{ lib, stdenv
  +{ lib
  +, stdenv
   , fetchurl
  -, gnome
   , meson
   , ninja
  +, pkg-config
   , vala
  -, pkg-config
  +, gettext
  +, itstool
  +, python3
  +, appstream-glib
  +, desktop-file-utils
  +, wrapGAppsHook
   , glib
   , gtk3
  -, python3
   , libxml2
   , gtk-vnc
  -, gettext
  -, desktop-file-utils
  -, appstream-glib
  -, gobject-introspection
  -, freerdp
  -, wrapGAppsHook
  +, gtk-frdp
  +, gnome
   }:
   
   stdenv.mkDerivation rec {
     pname = "gnome-connections";
  -  version = "3.38.1";
  +  version = "40.0.1";
   
     src = fetchurl {
  -    url = "mirror://gnome/sources/connections/${lib.versions.majorMinor version}/connections-${version}.tar.xz";
  -    hash = "sha256-5c7uBFkh9Vsw6bWWUDjNTMDrrFqI5JEgYlsWpfyuTpA=";
  +    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
  +    hash = "sha256-vpvLoHzz+vWs4M5UzSL4YJtNx3ZuJe5f2cGAw5WbTRE=";
     };
   
     nativeBuildInputs = [
  -    desktop-file-utils
  -    gettext
  -    glib # glib-compile-resources
       meson
  -    appstream-glib
       ninja
       pkg-config
  +    vala
  +    gettext
  +    itstool
       python3
  -    vala
  +    appstream-glib
  +    desktop-file-utils
  +    glib # glib-compile-resources
       wrapGAppsHook
  -
  -    # for gtk-frdp subproject
  -    gobject-introspection
     ];
   
     buildInputs = [
  
positive.code:     gtk-vnc
      gtk3
      libxml2
  
      # for gtk-frdp subproject
      freerdp
    ];
  
    postPatch = ''
  
negative.code: 
    passthru = {
      updateScript = gnome.updateScript {
        packageName = pname;
      };
    };
  
  