nixpkgs/pkgs/development/libraries/geoclue/default.nix

62 lines
1.9 KiB
Nix

{ fetchurl, stdenv, fetchpatch, intltool, pkgconfig, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, json-glib, libsoup, libnotify, gdk_pixbuf
, modemmanager, avahi, glib-networking, wrapGAppsHook, gobjectIntrospection
, withDemoAgent ? false
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "geoclue-${version}";
version = "2.4.12";
src = fetchurl {
url = "https://www.freedesktop.org/software/geoclue/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1jnad1f3rf8h05sz1lc172jnqdhqdpz76ff6m7i5ss3s0znf5l05";
};
outputs = [ "out" "dev" "devdoc" ];
nativeBuildInputs = [
pkgconfig intltool wrapGAppsHook gobjectIntrospection
# devdoc
gtk-doc docbook_xsl docbook_xml_dtd_412
];
buildInputs = [
glib json-glib libsoup avahi
] ++ optionals withDemoAgent [
libnotify gdk_pixbuf
] ++ optionals (!stdenv.isDarwin) [ modemmanager ];
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";
homepage = https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home;
maintainers = with maintainers; [ raskin garbas ];
platforms = with platforms; linux ++ darwin;
license = licenses.lgpl2;
};
}