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