7e47f3658e
GitOrigin-RevId: 1925c603f17fc89f4c8f6bf6f631a802ad85d784
88 lines
1.8 KiB
Nix
88 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
boost,
|
|
libmpdclient,
|
|
ncurses,
|
|
pkg-config,
|
|
readline,
|
|
libiconv,
|
|
icu,
|
|
curl,
|
|
autoconf,
|
|
automake,
|
|
libtool,
|
|
outputsSupport ? true, # outputs screen
|
|
visualizerSupport ? false,
|
|
fftw, # visualizer screen
|
|
clockSupport ? true, # clock screen
|
|
taglibSupport ? true,
|
|
taglib, # tag editor
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "ncmpcpp";
|
|
version = "0.10";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "ncmpcpp";
|
|
repo = "ncmpcpp";
|
|
rev = "refs/tags/${version}";
|
|
sha256 = "sha256-HRJQ+IOQ8xP1QkPlLI+VtDUWaI2m0Aw0fCDWHhgsOLY=";
|
|
};
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
strictDeps = true;
|
|
|
|
configureFlags = [
|
|
"BOOST_LIB_SUFFIX="
|
|
(lib.enableFeature outputsSupport "outputs")
|
|
(lib.enableFeature visualizerSupport "enable-visualizer")
|
|
(lib.withFeature visualizerSupport "fftw")
|
|
(lib.enableFeature clockSupport "clock")
|
|
(lib.withFeature taglibSupport "taglib")
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
autoconf
|
|
automake
|
|
libtool
|
|
pkg-config
|
|
];
|
|
|
|
buildInputs = [
|
|
boost
|
|
libmpdclient
|
|
ncurses
|
|
readline
|
|
libiconv
|
|
icu
|
|
curl
|
|
] ++ lib.optional visualizerSupport fftw
|
|
++ lib.optional taglibSupport taglib;
|
|
|
|
preConfigure =
|
|
''
|
|
./autogen.sh
|
|
''
|
|
+ lib.optionalString stdenv.isDarwin ''
|
|
# std::result_of was removed in c++20 and unusable for clang16
|
|
substituteInPlace ./configure \
|
|
--replace-fail "std=c++20" "std=c++17"
|
|
'';
|
|
|
|
meta = {
|
|
description = "Featureful ncurses based MPD client inspired by ncmpc";
|
|
homepage = "https://rybczak.net/ncmpcpp/";
|
|
changelog = "https://github.com/ncmpcpp/ncmpcpp/blob/${version}/CHANGELOG.md";
|
|
license = lib.licenses.gpl2Plus;
|
|
maintainers = with lib.maintainers; [
|
|
koral
|
|
lovek323
|
|
];
|
|
platforms = lib.platforms.all;
|
|
mainProgram = "ncmpcpp";
|
|
};
|
|
}
|