about summary refs log tree commit diff
path: root/pkgs/applications/audio/ncmpcpp
diff options
context:
space:
mode:
authorcodyopel <codyopel@gmail.com>2015-02-08 16:58:32 -0500
committercodyopel <codyopel@gmail.com>2015-02-08 16:58:32 -0500
commitb9bc4fdf1ac79d7f462e537675c850e94acbccb5 (patch)
tree2b81c98c8754caf299cbce9d68ba06d0d670d0c1 /pkgs/applications/audio/ncmpcpp
parent19c359ce2a2aa45a6443a5a5067a6cdbd7a9779b (diff)
downloadnixlib-b9bc4fdf1ac79d7f462e537675c850e94acbccb5.tar
nixlib-b9bc4fdf1ac79d7f462e537675c850e94acbccb5.tar.gz
nixlib-b9bc4fdf1ac79d7f462e537675c850e94acbccb5.tar.bz2
nixlib-b9bc4fdf1ac79d7f462e537675c850e94acbccb5.tar.lz
nixlib-b9bc4fdf1ac79d7f462e537675c850e94acbccb5.tar.xz
nixlib-b9bc4fdf1ac79d7f462e537675c850e94acbccb5.tar.zst
nixlib-b9bc4fdf1ac79d7f462e537675c850e94acbccb5.zip
ncmpcpp: refactor and add support for optional screens
Diffstat (limited to 'pkgs/applications/audio/ncmpcpp')
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix39
1 files changed, 30 insertions, 9 deletions
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index e83e5a8ca74e..5eef35aa0610 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -1,23 +1,44 @@
-{ stdenv, fetchurl, ncurses, curl, taglib, fftw, mpd_clientlib, pkgconfig
-, libiconvOrEmpty, boost, readline }:
+{ stdenv, fetchurl, boost, mpd_clientlib, ncurses, pkgconfig, readline
+, libiconvOrEmpty
+, outputsSupport ? false # outputs screen
+, visualizerSupport ? false, fftw ? null # visualizer screen
+, clockSupport ? false # clock screen
+, unicodeSupport ? true # utf8 support
+, curlSupport ? true, curl ? null # allow fetching lyrics from the internet
+, taglibSupport ? true, taglib ? null # tag editor
+}:
 
+assert visualizerSupport -> (fftw != null);
+assert curlSupport -> (curl != null);
+assert taglibSupport -> (taglib != null);
+
+with stdenv.lib;
 stdenv.mkDerivation rec {
-  version = "0.6.2";
   name = "ncmpcpp-${version}";
+  version = "0.6.2";
 
   src = fetchurl {
-    url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
+    url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2";
     sha256 = "1mrd6m6ph0fscxp9x96ipxh6ai7w0n1miapcfqrqfy058qx5zbck";
   };
 
-  configureFlags = "BOOST_LIB_SUFFIX=";
+  configureFlags = [ "BOOST_LIB_SUFFIX=" ]
+    ++ optional outputsSupport "--enable-outputs"
+    ++ optional visualizerSupport "--enable-visualizer --with-fftw"
+    ++ optional clockSupport "--enable-clock"
+    ++ optional unicodeSupport "--enable-unicode"
+    ++ optional curlSupport "--with-curl"
+    ++ optional taglibSupport "--with-taglib";
 
-  buildInputs = [ ncurses curl taglib fftw mpd_clientlib boost pkgconfig readline ]
+  buildInputs = [ boost mpd_clientlib ncurses pkgconfig readline ]
+    ++ optional curlSupport curl
+    ++ optional visualizerSupport fftw
+    ++ optional taglibSupport taglib
     ++ libiconvOrEmpty;
 
-  meta = with stdenv.lib; {
-    description = "Curses-based interface for MPD (music player daemon)";
-    homepage    = http://unkart.ovh.org/ncmpcpp/;
+  meta = {
+    description = "A featureful ncurses based MPD client inspired by ncmpc";
+    homepage    = http://ncmpcpp.rybczak.net/;
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ lovek323 mornfall koral ];
     platforms   = platforms.all;