10 , gobject-introspection
16 , evolution-data-server-gtk4
23 , telepathySupport ? false
26 # TODO: enable more folks backends
28 stdenv.mkDerivation (finalAttrs: {
32 outputs = [ "out" "dev" "devdoc" ];
35 url = "mirror://gnome/sources/folks/${lib.versions.majorMinor finalAttrs.version}/folks-${finalAttrs.version}.tar.xz";
36 hash = "sha256-IxGzc1XDUfM/Fj/cOUh0oioKBoLDGUk9bYpuQgcRQV8=";
49 ] ++ lib.optionals telepathySupport [
55 evolution-data-server-gtk4 # UI part not needed, using gtk4 version to reduce system closure.
57 ] ++ lib.optionals telepathySupport [
61 propagatedBuildInputs = [
69 (python3.withPackages (pp: with pp; [
71 # The following possibly need to be propagated by dbusmock
72 # if they are not optional
80 "-Dtelepathy_backend=${lib.boolToString telepathySupport}"
81 "-Dtests=${lib.boolToString (finalAttrs.finalPackage.doCheck && stdenv.hostPlatform.isLinux)}"
84 # backends/eds/lib/libfolks-eds.so.26.0.0.p/edsf-persona-store.c:10697:4:
85 # error: call to undeclared function 'folks_persona_store_set_is_user_set_default';
86 # ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
87 env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=implicit-function-declaration";
89 # Checks last re-enabled in https://github.com/NixOS/nixpkgs/pull/279843, but timeouts in tests still
90 # occur inconsistently
94 # Prevents e-d-s add-contacts-stress-test from timing out
95 "--timeout-multiplier" "4"
98 postPatch = lib.optionalString telepathySupport ''
99 patchShebangs tests/tools/manager-file.py
103 updateScript = gnome.updateScript {
104 packageName = "folks";
105 versionPolicy = "none";
110 description = "Library that aggregates people from multiple sources to create metacontacts";
111 homepage = "https://gitlab.gnome.org/GNOME/folks";
112 license = licenses.lgpl21Plus;
113 maintainers = teams.gnome.members;
114 platforms = platforms.unix;