Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, fetchurl 4, boost 5, libmpdclient 6, ncurses 7, pkg-config 8, readline 9, libiconv 10, icu 11, curl 12, outputsSupport ? true # outputs screen 13, visualizerSupport ? false, fftw # visualizer screen 14, clockSupport ? true # clock screen 15, taglibSupport ? true, taglib # tag editor 16}: 17 18stdenv.mkDerivation rec { 19 pname = "ncmpcpp"; 20 version = "0.9.2"; 21 22 src = fetchurl { 23 url = "https://rybczak.net/ncmpcpp/stable/${pname}-${version}.tar.bz2"; 24 sha256 = "sha256-+qv2FXyMsbJKBZryduFi+p+aO5zTgQxDuRKIYMk4Ohs="; 25 }; 26 27 enableParallelBuilding = true; 28 29 strictDeps = true; 30 31 configureFlags = [ "BOOST_LIB_SUFFIX=" ] 32 ++ lib.optional outputsSupport "--enable-outputs" 33 ++ lib.optional visualizerSupport "--enable-visualizer --with-fftw" 34 ++ lib.optional clockSupport "--enable-clock" 35 ++ lib.optional taglibSupport "--with-taglib"; 36 37 nativeBuildInputs = [ pkg-config ] 38 ++ lib.optional taglibSupport taglib; 39 40 buildInputs = [ boost libmpdclient ncurses readline libiconv icu curl ] 41 ++ lib.optional visualizerSupport fftw 42 ++ lib.optional taglibSupport taglib; 43 44 meta = with lib; { 45 description = "A featureful ncurses based MPD client inspired by ncmpc"; 46 homepage = "https://rybczak.net/ncmpcpp/"; 47 changelog = "https://github.com/ncmpcpp/ncmpcpp/blob/${version}/CHANGELOG.md"; 48 license = licenses.gpl2Plus; 49 maintainers = with maintainers; [ jfrankenau koral lovek323 ]; 50 platforms = platforms.all; 51 }; 52}