1{
2 lib,
3 stdenv,
4 fetchurl,
5 pkg-config,
6 meson,
7 ninja,
8 nixosTests,
9 vala,
10 gettext,
11 libxml2,
12 glib,
13 json-glib,
14 gcr,
15 gnome-online-accounts,
16 gobject-introspection,
17 gnome,
18 p11-kit,
19 openssl,
20 uhttpmock,
21 libsoup_2_4,
22}:
23
24stdenv.mkDerivation rec {
25 pname = "libgdata";
26 version = "0.18.1";
27
28 outputs = [
29 "out"
30 "dev"
31 "installedTests"
32 ];
33
34 src = fetchurl {
35 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
36 sha256 = "3YWS7rZRKtCoz1yL6McudvdL/msj5N2T8HVu4HFoBMc=";
37 };
38
39 patches = [
40 ./installed-tests-path.patch
41 ];
42
43 nativeBuildInputs = [
44 gettext
45 gobject-introspection
46 meson
47 ninja
48 pkg-config
49 vala
50 ];
51
52 buildInputs = [
53 gcr
54 openssl
55 p11-kit
56 uhttpmock
57 ];
58
59 propagatedBuildInputs = [
60 glib
61 libsoup_2_4
62 libxml2
63 gnome-online-accounts
64 json-glib
65 ];
66
67 mesonFlags = [
68 "-Dgtk_doc=false"
69 "-Dinstalled_test_bindir=${placeholder "installedTests"}/libexec"
70 "-Dinstalled_test_datadir=${placeholder "installedTests"}/share"
71 "-Dinstalled_tests=true"
72 ];
73
74 passthru = {
75 updateScript = gnome.updateScript {
76 packageName = pname;
77 versionPolicy = "none"; # Stable version has not been updated for a long time.
78 };
79
80 tests = {
81 installedTests = nixosTests.installed-tests.libgdata;
82 };
83 };
84
85 meta = with lib; {
86 description = "GData API library";
87 homepage = "https://gitlab.gnome.org/GNOME/libgdata";
88 maintainers = with maintainers; [ raskin ];
89 teams = [ teams.gnome ];
90 platforms = platforms.linux;
91 license = licenses.lgpl21Plus;
92 };
93}