alvr: 20.11.1 -> 20.12.1 (#374869)
[NixPkgs.git] / pkgs / applications / audio / pragha / default.nix
blob8cb57f200d2e9160336eacc6f7f2a3ec247de58d
1 { lib
2 , intltool
3 , mkDerivation
4 , installShellFiles
5 , pkg-config
6 , fetchFromGitHub
7 , dbus-glib
8 , desktop-file-utils
9 , hicolor-icon-theme
10 , pcre
11 , qtbase
12 , sqlite
13 , taglib
14 , zlib
15 , gtk3
16 , libpeas
17 , libcddb
18 , libcdio
19 , gst_all_1, withGstPlugins ? true
20 , glyr, withGlyr ? true
21 , liblastfmSF, withLastfm ? true
22 , libcdio-paranoia, withCD ? true
23 , keybinder3, withKeybinder ? false
24 , libnotify, withLibnotify ? false
25 , libsoup_2_4, withLibsoup ? false
26 , libgudev, withGudev ? false # experimental
27 , libmtp, withMtp ? false # experimental
28 , xfce, withXfce4ui ? false
29 , totem-pl-parser, withTotemPlParser ? false
30 # , grilo, withGrilo ? false
31 # , rygel, withRygel ? true
34 assert withGlyr -> withLastfm;
35 assert withLastfm -> withCD;
37 mkDerivation rec {
38   pname = "pragha";
39   version = "1.3.99.1";
41   src = fetchFromGitHub {
42     owner = "pragha-music-player";
43     repo = "pragha";
44     rev = "v${version}";
45     sha256 = "sha256-C4zh2NHqP4bwKMi5s+3AfEtKqxRlzL66H8OyNonGzxE=";
46   };
48   nativeBuildInputs = [
49     intltool
50     pkg-config
51     xfce.xfce4-dev-tools
52     desktop-file-utils
53     installShellFiles
54   ];
56   buildInputs = with gst_all_1; [
57     dbus-glib
58     gstreamer
59     gst-plugins-base
60     gtk3
61     hicolor-icon-theme
62     libpeas
63     pcre
64     qtbase
65     sqlite
66     taglib
67     zlib
68   ]
69   ++ lib.optionals withGstPlugins [ gst-plugins-good gst-plugins-bad gst-plugins-ugly ]
70   ++ lib.optionals withCD [ libcddb libcdio libcdio-paranoia ]
71   ++ lib.optional withGudev libgudev
72   ++ lib.optional withKeybinder keybinder3
73   ++ lib.optional withLibnotify libnotify
74   ++ lib.optional withLastfm liblastfmSF
75   ++ lib.optional withGlyr glyr
76   ++ lib.optional withLibsoup libsoup_2_4
77   ++ lib.optional withMtp libmtp
78   ++ lib.optional withXfce4ui xfce.libxfce4ui
79   ++ lib.optional withTotemPlParser totem-pl-parser
80   # ++ lib.optional withGrilo grilo
81   # ++ lib.optional withRygel rygel
82   ;
84   CFLAGS = [ "-DHAVE_PARANOIA_NEW_INCLUDES" ];
86   env.NIX_CFLAGS_COMPILE = "-I${lib.getDev gst_all_1.gst-plugins-base}/include/gstreamer-1.0";
88   postInstall = ''
89     qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
91     install -m 444 data/${pname}.desktop $out/share/applications
92     install -d $out/share/pixmaps
93     installManPage data/${pname}.1
94   '';
96   meta = with lib; {
97     description = "Lightweight GTK+ music manager - fork of Consonance Music Manager";
98     mainProgram = "pragha";
99     homepage = "https://pragha-music-player.github.io/";
100     license = licenses.gpl3Plus;
101     maintainers = with maintainers; [ mbaeten ];
102     platforms = platforms.unix;
103   };