anchor.diff:  
   stdenv.mkDerivation rec {
     name = "geoclue-${version}";
  -  version = "2.4.12";
  +  version = "2.5.1";
   
  -  src = fetchurl {
  -    url = "https://www.freedesktop.org/software/geoclue/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
  -    sha256 = "1jnad1f3rf8h05sz1lc172jnqdhqdpz76ff6m7i5ss3s0znf5l05";
  +  src = fetchFromGitLab {
  +    domain = "gitlab.freedesktop.org";
  +    owner = "geoclue";
  +    repo = "geoclue";
  +    rev = version;
  +    sha256 = "0vww6irijw5ss7vawkdi5z5wdpcgw4iqljn5vs3vbd4y3d0lzrbs";
     };
   
     outputs = [ "out" "dev" "devdoc" ];
   
     nativeBuildInputs = [
  -    pkgconfig intltool wrapGAppsHook gobjectIntrospection
  +    pkgconfig meson ninja wrapGAppsHook python3 vala gobjectIntrospection
       # devdoc
       gtk-doc docbook_xsl docbook_xml_dtd_412
     ];
  
positive.code: 
    propagatedBuildInputs = [ glib glib-networking ];
  
    # Whitelist elementary's agent
    patches = [
      (fetchpatch {
        url = "https://gitlab.freedesktop.org/geoclue/geoclue/commit/2b0491e408be1ebcdbe8751bb2637c1acb78f71e.patch";
        sha256 = "0pac94y55iksk340dlx3gkhb9lrci90mxqqy5fnh1zbjw9bqxfn4";
      })
    ];
  
    configureFlags = [
      "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
      "--enable-introspection"
      "--enable-gtk-doc"
      "--enable-demo-agent=${if withDemoAgent then "yes" else "no"}"
    ] ++ optionals stdenv.isDarwin [
      "--disable-silent-rules"
      "--disable-3g-source"
      "--disable-cdma-source"
      "--disable-modem-gps-source"
      "--disable-nmea-source"
    ];
  
    meta = with stdenv.lib; {
      description = "Geolocation framework and some data providers";
  
negative.code: { stdenv, fetchFromGitLab, meson, ninja, pkgconfig, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, json-glib, libsoup, libnotify, gdk_pixbuf
  , modemmanager, avahi, glib-networking, python3, wrapGAppsHook, gobjectIntrospection, vala
  , withDemoAgent ? false
  }:
  
  