1{
2 stdenv,
3 lib,
4 fetchurl,
5 meson,
6 mesonEmulatorHook,
7 ninja,
8 pkg-config,
9 python3,
10 gettext,
11 vala,
12 glib,
13 liboauth,
14 gtk3,
15 gtk-doc,
16 docbook-xsl-nons,
17 docbook_xml_dtd_43,
18 libxml2,
19 gnome,
20 gobject-introspection,
21 libsoup_3,
22 totem-pl-parser,
23}:
24
25stdenv.mkDerivation rec {
26 pname = "grilo";
27 version = "0.3.19"; # if you change minor, also change ./setup-hook.sh
28
29 outputs = [
30 "out"
31 "dev"
32 "man"
33 "devdoc"
34 ];
35 outputBin = "dev";
36
37 setupHook = ./setup-hook.sh;
38
39 src = fetchurl {
40 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
41 sha256 = "CGnIHRmrE5xmfXlWfBTdy2y1y/wBCNBMreKH6ylTZwY=";
42 };
43
44 mesonFlags = [
45 "-Denable-gtk-doc=true"
46 ];
47
48 nativeBuildInputs = [
49 meson
50 ninja
51 pkg-config
52 python3
53 gettext
54 gobject-introspection
55 vala
56 gtk-doc
57 docbook-xsl-nons
58 docbook_xml_dtd_43
59 ]
60 ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
61 mesonEmulatorHook
62 ];
63
64 buildInputs = [
65 glib
66 liboauth
67 gtk3
68 libxml2
69 libsoup_3
70 totem-pl-parser
71 ];
72
73 passthru = {
74 updateScript = gnome.updateScript {
75 packageName = pname;
76 versionPolicy = "none";
77 };
78 };
79
80 meta = with lib; {
81 homepage = "https://gitlab.gnome.org/GNOME/grilo";
82 description = "Framework that provides access to various sources of multimedia content, using a pluggable system";
83 teams = [ teams.gnome ];
84 license = licenses.lgpl2Plus;
85 platforms = platforms.unix;
86 };
87}