11 , gobject-introspection
17 , evolution-data-server-gtk4
24 , telepathySupport ? false
27 # TODO: enable more folks backends
29 stdenv.mkDerivation rec {
33 outputs = [ "out" "dev" "devdoc" ];
36 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
37 sha256 = "D/+KiWMwzYKu5FmDJPflQciE0DN1NiEnI7S+s4x1kIY=";
41 # Do not check for unneeded GTK dependency.
43 url = "https://gitlab.gnome.org/GNOME/folks/-/commit/686d58fb2454e5038bb951423245ed8c2d4b5cf6.patch";
44 sha256 = "0ydafVKhSrkHZK8bitPF5mNDTG5GrixGzBgBLNzLuXQ=";
58 ] ++ lib.optionals telepathySupport [
64 evolution-data-server-gtk4 # UI part not needed, using gtk4 version to reduce system closure.
66 ] ++ lib.optionals telepathySupport [
70 propagatedBuildInputs = [
78 (python3.withPackages (pp: with pp; [
80 # The following possibly need to be propagated by dbusmock
81 # if they are not optional
89 "-Dtelepathy_backend=${lib.boolToString telepathySupport}"
90 # For some reason, the tests are getting stuck on 31/32,
91 # even though the one missing test finishes just fine on next run,
92 # when tests are permuted differently. And another test that
93 # previously passed will be stuck instead.
99 # Prevents e-d-s add-contacts-stress-test from timing out
102 meson test --timeout-multiplier 4
106 postPatch = lib.optionalString telepathySupport ''
107 patchShebangs tests/tools/manager-file.py
111 updateScript = gnome.updateScript {
113 versionPolicy = "none";
118 description = "A library that aggregates people from multiple sources to create metacontacts";
119 homepage = "https://wiki.gnome.org/Projects/Folks";
120 license = licenses.lgpl2Plus;
121 maintainers = teams.gnome.members;
122 platforms = platforms.gnu ++ platforms.linux; # arbitrary choice