Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / gnome-online-accounts / default.nix
blob6cdc54acd290b35831ba627cdc67fec7de1d7801
1 { stdenv
2 , lib
3 , fetchFromGitLab
4 , pkg-config
5 , vala
6 , glib
7 , meson
8 , ninja
9 , libxslt
10 , gtk3
11 , enableBackend ? stdenv.isLinux
12 , webkitgtk_4_1
13 , json-glib
14 , librest_1_0
15 , libxml2
16 , libsecret
17 , gtk-doc
18 , gobject-introspection
19 , gettext
20 , icu
21 , glib-networking
22 , libsoup_3
23 , docbook-xsl-nons
24 , docbook_xml_dtd_412
25 , gnome
26 , gcr
27 , libkrb5
28 , gvfs
29 , dbus
30 , wrapGAppsHook
33 stdenv.mkDerivation rec {
34   pname = "gnome-online-accounts";
35   version = "3.48.0";
37   outputs = [ "out" "dev" ] ++ lib.optionals enableBackend [ "man" "devdoc" ];
39   src = fetchFromGitLab {
40     domain = "gitlab.gnome.org";
41     owner = "GNOME";
42     repo = "gnome-online-accounts";
43     rev = version;
44     sha256 = "sha256-USl0Qay9pSgbbp3n/L8eBaRQwaBYledht5j+afmo++o=";
45   };
47   mesonFlags = [
48     "-Dfedora=false" # not useful in NixOS or for NixOS users.
49     "-Dgoabackend=${lib.boolToString enableBackend}"
50     "-Dgtk_doc=${lib.boolToString enableBackend}"
51     "-Dman=${lib.boolToString enableBackend}"
52     "-Dmedia_server=true"
53   ];
55   nativeBuildInputs = [
56     dbus # used for checks and pkg-config to install dbus service/s
57     docbook_xml_dtd_412
58     docbook-xsl-nons
59     gettext
60     gobject-introspection
61     gtk-doc
62     libxslt
63     meson
64     ninja
65     pkg-config
66     vala
67     wrapGAppsHook
68   ];
70   buildInputs = [
71     gcr
72     glib
73     glib-networking
74     gtk3
75     gvfs # OwnCloud, Google Drive
76     icu
77     json-glib
78     libkrb5
79     librest_1_0
80     libxml2
81     libsecret
82     libsoup_3
83   ] ++ lib.optionals enableBackend [
84     webkitgtk_4_1
85   ];
87   env.NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
89   separateDebugInfo = true;
91   passthru = {
92     updateScript = gnome.updateScript {
93       versionPolicy = "odd-unstable";
94       packageName = pname;
95     };
96   };
98   meta = with lib; {
99     homepage = "https://wiki.gnome.org/Projects/GnomeOnlineAccounts";
100     description = "Single sign-on framework for GNOME";
101     platforms = platforms.unix;
102     license = licenses.lgpl2Plus;
103     maintainers = teams.gnome.members;
104   };