1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 meson,
6 ninja,
7 pkg-config,
8 appstream-glib,
9 glib,
10 wrapGAppsHook3,
11 pythonPackages,
12 gtk3,
13 adwaita-icon-theme,
14 gobject-introspection,
15 libnotify,
16 libsecret,
17 gst_all_1,
18}:
19
20pythonPackages.buildPythonApplication rec {
21 pname = "pithos";
22 version = "1.6.2";
23
24 src = fetchFromGitHub {
25 owner = pname;
26 repo = pname;
27 tag = version;
28 hash = "sha256-3j6IoMi30BQ8WHK4BxbsW+/3XZx7rBFd47EBENa2GiQ=";
29 };
30
31 format = "other";
32
33 postPatch = ''
34 chmod +x meson_post_install.py
35 patchShebangs meson_post_install.py
36 '';
37
38 nativeBuildInputs = [
39 meson
40 ninja
41 pkg-config
42 appstream-glib
43 wrapGAppsHook3
44 gobject-introspection
45 ];
46
47 buildInputs = [
48 gtk3
49 libnotify
50 libsecret
51 glib
52 ]
53 ++ (with gst_all_1; [
54 gstreamer
55 gst-plugins-base
56 gst-plugins-good
57 gst-plugins-ugly
58 gst-plugins-bad
59 ]);
60
61 propagatedBuildInputs = [
62 adwaita-icon-theme
63 ]
64 ++ (with pythonPackages; [
65 pygobject3
66 pylast
67 ]);
68
69 meta = with lib; {
70 broken = stdenv.hostPlatform.isDarwin;
71 description = "Pandora Internet Radio player for GNOME";
72 mainProgram = "pithos";
73 homepage = "https://pithos.github.io/";
74 license = licenses.gpl3;
75 maintainers = with maintainers; [ obadz ];
76 };
77}