1{ stdenv, fetchurl, boost, mpd_clientlib, ncurses, pkgconfig, readline
2, libiconv, icu, curl
3, outputsSupport ? false # outputs screen
4, visualizerSupport ? false, fftw ? null # visualizer screen
5, clockSupport ? false # clock screen
6, taglibSupport ? true, taglib ? null # tag editor
7}:
8
9assert visualizerSupport -> (fftw != null);
10assert taglibSupport -> (taglib != null);
11
12with stdenv.lib;
13stdenv.mkDerivation rec {
14 name = "ncmpcpp-${version}";
15 version = "0.8";
16
17 src = fetchurl {
18 url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2";
19 sha256 = "0nj6ky805a55acj0w57sbn3vfmmkbqp97rhbi0q9848n10f2l3rg";
20 };
21
22 configureFlags = [ "BOOST_LIB_SUFFIX=" ]
23 ++ optional outputsSupport "--enable-outputs"
24 ++ optional visualizerSupport "--enable-visualizer --with-fftw"
25 ++ optional clockSupport "--enable-clock"
26 ++ optional taglibSupport "--with-taglib";
27
28 nativeBuildInputs = [ pkgconfig ];
29
30 buildInputs = [ boost mpd_clientlib ncurses readline libiconv icu curl ]
31 ++ optional visualizerSupport fftw
32 ++ optional taglibSupport taglib;
33
34 meta = {
35 description = "A featureful ncurses based MPD client inspired by ncmpc";
36 homepage = http://ncmpcpp.rybczak.net/;
37 license = licenses.gpl2Plus;
38 maintainers = with maintainers; [ jfrankenau koral lovek323 mornfall ];
39 platforms = platforms.all;
40 };
41}