linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / grilo-plugins / default.nix
blobb80e6256e4673bb2dda7a7555124779d1bdd8189
1 { lib, stdenv
2 , fetchurl
3 , substituteAll
4 , meson
5 , ninja
6 , pkg-config
7 , gettext
8 , gperf
9 , sqlite
10 , librest
11 , libarchive
12 , libsoup
13 , gnome3
14 , libxml2
15 , lua5_3
16 , liboauth
17 , libgdata
18 , libmediaart
19 , grilo
20 , gst_all_1
21 , gnome-online-accounts
22 , gmime
23 , gom
24 , json-glib
25 , avahi
26 , tracker
27 , dleyna-server
28 , itstool
29 , totem-pl-parser
32 stdenv.mkDerivation rec {
33   pname = "grilo-plugins";
34   version = "0.3.12";
36   src = fetchurl {
37     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
38     sha256 = "0xr59gzb8gw2bgj14mjllgn8y7srh373j0fp0v16ak8nd84dzdn6";
39   };
41   patches = [
42     # grl-chromaprint requires the following GStreamer elements:
43     # * fakesink (gstreamer)
44     # * playbin (gst-plugins-base)
45     # * chromaprint (gst-plugins-bad)
46     (substituteAll {
47       src = ./chromaprint-gst-plugins.patch;
48       load_plugins = lib.concatMapStrings (plugin: ''gst_registry_scan_path(gst_registry_get(), "${plugin}/lib/gstreamer-1.0");'') (with gst_all_1; [
49         gstreamer
50         gst-plugins-base
51         gst-plugins-bad
52       ]);
53     })
54   ];
56   nativeBuildInputs = [
57     meson
58     ninja
59     pkg-config
60     gettext
61     itstool
62     gperf # for lua-factory
63   ];
65   buildInputs = [
66     grilo
67     libxml2
68     libgdata
69     lua5_3
70     liboauth
71     sqlite
72     gnome-online-accounts
73     totem-pl-parser
74     librest
75     libarchive
76     libsoup
77     gmime
78     gom
79     json-glib
80     avahi
81     libmediaart
82     tracker
83     dleyna-server
84     gst_all_1.gstreamer
85   ];
87   passthru = {
88     updateScript = gnome3.updateScript {
89       packageName = pname;
90       versionPolicy = "none";
91     };
92   };
94   meta = with lib; {
95     homepage = "https://wiki.gnome.org/Projects/Grilo";
96     description = "A collection of plugins for the Grilo framework";
97     maintainers = teams.gnome.members;
98     license = licenses.lgpl21;
99     platforms = platforms.linux;
100   };