btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / rh / rhythmbox / package.nix
blobeb4d9629fbb80f02410bd361c8dfe9640c873c2b
1 { stdenv
2 , lib
3 , fetchurl
4 , pkg-config
5 , meson
6 , ninja
7 , python3
8 , vala
9 , glib
10 , gtk3
11 , libpeas
12 , libsoup_3
13 , libxml2
14 , libsecret
15 , libnotify
16 , libdmapsharing
17 , gnome
18 , gobject-introspection
19 , totem-pl-parser
20 , libgudev
21 , libgpod
22 , libmtp
23 , lirc
24 , brasero-unwrapped # libdvdcss is not needed for rhythmbox
25 , grilo
26 , tdb
27 , json-glib
28 , itstool
29 , wrapGAppsHook3
30 , desktop-file-utils
31 , gst_all_1
32 , gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ]
33 , check
36 stdenv.mkDerivation rec {
37   pname = "rhythmbox";
38   version = "3.4.7";
40   src = fetchurl {
41     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
42     sha256 = "L21WwT/BpkxTT1AHiPtIKTbOVHs0PtkMZ94fK84M+n4=";
43   };
45   nativeBuildInputs = [
46     pkg-config
47     meson
48     ninja
49     vala
50     glib
51     itstool
52     wrapGAppsHook3
53     desktop-file-utils
54     gobject-introspection
55   ];
57   buildInputs = [
58     python3
59     libsoup_3
60     libxml2
61     tdb
62     json-glib
64     glib
65     gtk3
66     libpeas
67     totem-pl-parser
68     libgudev
69     libgpod
70     libmtp
71     lirc
72     brasero-unwrapped
73     grilo
75     python3.pkgs.pygobject3
77     gst_all_1.gstreamer
78     gst_all_1.gst-plugins-base
79     gst_all_1.gst-plugins-good
80     gst_all_1.gst-plugins-bad
81     gst_all_1.gst-plugins-ugly
82     gst_all_1.gst-libav
84     libdmapsharing # for daap support
85     libsecret
86     libnotify
87   ] ++ gst_plugins;
89   nativeCheckInputs = [
90     check
91   ];
93   mesonFlags = [
94     "-Ddaap=enabled"
95     "-Dtests=disabled"
96   ];
98   # Requires DISPLAY
99   doCheck = false;
101   preFixup = ''
102     gappsWrapperArgs+=(
103       --prefix PYTHONPATH : "$out/lib/rhythmbox/plugins/"
104     )
105   '';
107   passthru = {
108     updateScript = gnome.updateScript {
109       packageName = pname;
110       versionPolicy = "none";
111     };
112   };
114   meta = with lib; {
115     homepage = "https://gitlab.gnome.org/GNOME/rhythmbox";
116     description = "Music playing application for GNOME";
117     license = licenses.gpl2Plus;
118     platforms = platforms.linux;
119     maintainers = [ maintainers.rasendubi ];
120   };