python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / folks / default.nix
blob0471283ef00cf8e2443cf1e944763a4312e4620e
1 { stdenv
2 , lib
3 , fetchurl
4 , fetchpatch
5 , pkg-config
6 , meson
7 , ninja
8 , glib
9 , gnome
10 , gettext
11 , gobject-introspection
12 , vala
13 , sqlite
14 , dbus-glib
15 , dbus
16 , libgee
17 , evolution-data-server-gtk4
18 , python3
19 , readline
20 , gtk-doc
21 , docbook-xsl-nons
22 , docbook_xml_dtd_43
23 , telepathy-glib
24 , telepathySupport ? false
27 # TODO: enable more folks backends
29 stdenv.mkDerivation rec {
30   pname = "folks";
31   version = "0.15.5";
33   outputs = [ "out" "dev" "devdoc" ];
35   src = fetchurl {
36     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
37     sha256 = "D/+KiWMwzYKu5FmDJPflQciE0DN1NiEnI7S+s4x1kIY=";
38   };
40   patches = [
41     # Do not check for unneeded GTK dependency.
42     (fetchpatch {
43       url = "https://gitlab.gnome.org/GNOME/folks/-/commit/686d58fb2454e5038bb951423245ed8c2d4b5cf6.patch";
44       sha256 = "0ydafVKhSrkHZK8bitPF5mNDTG5GrixGzBgBLNzLuXQ=";
45     })
46   ];
48   nativeBuildInputs = [
49     gettext
50     gobject-introspection
51     gtk-doc
52     docbook-xsl-nons
53     docbook_xml_dtd_43
54     meson
55     ninja
56     pkg-config
57     vala
58   ] ++ lib.optionals telepathySupport [
59     python3
60   ];
62   buildInputs = [
63     dbus-glib
64     evolution-data-server-gtk4 # UI part not needed, using gtk4 version to reduce system closure.
65     readline
66   ] ++ lib.optionals telepathySupport [
67     telepathy-glib
68   ];
70   propagatedBuildInputs = [
71     glib
72     libgee
73     sqlite
74   ];
76   checkInputs = [
77     dbus
78     (python3.withPackages (pp: with pp; [
79       python-dbusmock
80       # The following possibly need to be propagated by dbusmock
81       # if they are not optional
82       dbus-python
83       pygobject3
84     ]))
85   ];
87   mesonFlags = [
88     "-Ddocs=true"
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.
94     "-Dtests=false"
95   ];
97   doCheck = false;
99   # Prevents e-d-s add-contacts-stress-test from timing out
100   checkPhase = ''
101     runHook preCheck
102     meson test --timeout-multiplier 4
103     runHook postCheck
104   '';
106   postPatch = lib.optionalString telepathySupport ''
107     patchShebangs tests/tools/manager-file.py
108   '';
110   passthru = {
111     updateScript = gnome.updateScript {
112       packageName = pname;
113       versionPolicy = "none";
114     };
115   };
117   meta = with lib; {
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
123   };