23 gobject-introspection,
25 withDemoAgent ? false,
29 stdenv.mkDerivation (finalAttrs: {
39 src = fetchFromGitLab {
40 domain = "gitlab.freedesktop.org";
43 rev = "refs/tags/${finalAttrs.version}";
44 hash = "sha256-LwL1WtCdHb/NwPr3/OLISwaAwplhJwiZT9vUdX29Bbs=";
48 ./add-option-for-installation-sysconfdir.patch
66 ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
77 ++ lib.optionals withDemoAgent [
81 ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
85 propagatedBuildInputs = [
92 "-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
93 "-Ddemo-agent=${lib.boolToString withDemoAgent}"
95 "-Dsysconfdir_install=${placeholder "out"}/etc"
96 "-Ddbus-srv-user=geoclue"
98 ++ lib.optionals stdenv.hostPlatform.isDarwin [
100 "-Dcdma-source=false"
101 "-Dmodem-gps-source=false"
102 "-Dnmea-source=false"
106 chmod +x demo/install-file.py
107 patchShebangs demo/install-file.py
110 passthru.updateScript = nix-update-script { };
113 broken = stdenv.hostPlatform.isDarwin && withDemoAgent;
114 description = "Geolocation framework and some data providers";
115 homepage = "https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home";
116 changelog = "https://gitlab.freedesktop.org/geoclue/geoclue/-/blob/${finalAttrs.version}/NEWS";
117 maintainers = with maintainers; [
121 platforms = with platforms; linux ++ darwin;
122 license = licenses.lgpl2Plus;