22 , gobject-introspection
24 , withDemoAgent ? false
28 stdenv.mkDerivation (finalAttrs: {
32 outputs = [ "out" "dev" "devdoc" ];
34 src = fetchFromGitLab {
35 domain = "gitlab.freedesktop.org";
38 rev = "refs/tags/${finalAttrs.version}";
39 hash = "sha256-LwL1WtCdHb/NwPr3/OLISwaAwplhJwiZT9vUdX29Bbs=";
43 ./add-option-for-installation-sysconfdir.patch
59 ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
68 ] ++ lib.optionals withDemoAgent [
70 ] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
74 propagatedBuildInputs = [
80 "-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
81 "-Ddemo-agent=${lib.boolToString withDemoAgent}"
83 "-Dsysconfdir_install=${placeholder "out"}/etc"
84 "-Ddbus-srv-user=geoclue"
85 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
88 "-Dmodem-gps-source=false"
93 chmod +x demo/install-file.py
94 patchShebangs demo/install-file.py
97 passthru.updateScript = nix-update-script {};
100 broken = stdenv.hostPlatform.isDarwin && withDemoAgent;
101 description = "Geolocation framework and some data providers";
102 homepage = "https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home";
103 changelog = "https://gitlab.freedesktop.org/geoclue/geoclue/-/blob/${finalAttrs.version}/NEWS";
104 maintainers = with maintainers; [ raskin mimame ];
105 platforms = with platforms; linux ++ darwin;
106 license = licenses.lgpl2Plus;