1{ stdenv
2, lib
3, fetchurl
4, meson
5, ninja
6, pkg-config
7, gobject-introspection
8, vala
9, gtk-doc
10, docbook_xsl
11, glib
12, mesonEmulatorHook
13, gnome
14}:
15
16# TODO: Add installed tests once https://gitlab.gnome.org/World/libcloudproviders/issues/4 is fixed
17
18stdenv.mkDerivation rec {
19 pname = "libcloudproviders";
20 version = "0.3.6";
21
22 src = fetchurl {
23 url = "mirror://gnome/sources/libcloudproviders/${lib.versions.majorMinor version}/libcloudproviders-${version}.tar.xz";
24 hash = "sha256-O3URCzpP3vTFxaRA5IcB/gVNKuBh0VbIkTa7W6BedLc=";
25 };
26
27 outputs = [ "out" "dev" "devdoc" ];
28
29 mesonFlags = [
30 "-Denable-gtk-doc=true"
31 ];
32
33 strictDeps = true;
34 nativeBuildInputs = [
35 meson
36 ninja
37 pkg-config
38 gobject-introspection
39 vala
40 gtk-doc
41 docbook_xsl
42 ] ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
43 mesonEmulatorHook
44 ];
45
46 buildInputs = [ glib ];
47
48 passthru = {
49 updateScript = gnome.updateScript {
50 packageName = "libcloudproviders";
51 };
52 };
53
54 meta = with lib; {
55 description = "DBus API that allows cloud storage sync clients to expose their services";
56 homepage = "https://gitlab.gnome.org/World/libcloudproviders";
57 license = licenses.lgpl3Plus;
58 maintainers = with maintainers; [ jtojnar ];
59 platforms = platforms.unix;
60 };
61}