anchor.diff:  
   stdenv.mkDerivation rec {
     pname = "shared-mime-info";
  -  version = "1.13.1";
  +  version = "2.1";
   
  -  src = fetchurl {
  -    url = "https://gitlab.freedesktop.org/xdg/${pname}/uploads/5349e18c86eb96eee258a5c1f19122d0/${pname}-${version}.tar.xz";
  -    sha256 = "1bic8z5nz08qxv1x6zlxnx2j4cmlzm12kygrn3rrh1djqxdhma3f";
  +  src = fetchFromGitLab {
  +    domain = "gitlab.freedesktop.org";
  +    owner = "xdg";
  +    repo = pname;
  +    rev = version;
  +    sha256 = "07bxv44p43pqq4ymfnyy50yli7lwdqymhvclna42rkn1cazq3vb5";
     };
   
  +  patches = [
  +    # xmlto is only used for building the docs, which are not installed anyways.
  +    (fetchpatch {
  +      name = "xmlto-optional.patch";
  +      url = "https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/110.patch";
  +      sha256 = "0p5gxlcmn8ji5bc7pd105s1halqwa1d28lfx9yj43rn6mav7allx";
  +    })
  +  ];
  +
     nativeBuildInputs = [
  +    meson
  +    ninja
       pkg-config
       gettext
       itstool
  -  ] ++ (with perlPackages; [
  -    perl XMLParser
  -  ]);
  +  ];
   
     buildInputs = [
       libxml2
       glib
  +  ];
  +
  +  mesonFlags = [
  +    "-Dupdate-mimedb=true"
     ];
   
     meta = with lib; {
  
positive.code:     homepage = "http://freedesktop.org/wiki/Software/shared-mime-info";
      license = licenses.gpl2Plus;
      platforms = platforms.unix;
      maintainers = [ maintainers.mimame ];
    };
  }
  
negative.code: { stdenv
  , lib
  , fetchFromGitLab
  , fetchpatch
  , meson
  , ninja
  , pkg-config
  , gettext
  , itstool
  , libxml2
  , glib
  