2021-08-12 14:41:47 +00:00
|
|
|
{ stdenv
|
|
|
|
, cmake
|
|
|
|
, pkg-config
|
|
|
|
, pandoc
|
|
|
|
, libunistring
|
|
|
|
, ncurses
|
2021-09-22 15:38:15 +00:00
|
|
|
, zlib
|
2021-08-12 14:41:47 +00:00
|
|
|
, ffmpeg
|
|
|
|
, readline
|
|
|
|
, fetchFromGitHub
|
|
|
|
, lib
|
|
|
|
, multimediaSupport ? true
|
2021-01-05 17:05:55 +00:00
|
|
|
}:
|
2021-08-12 14:41:47 +00:00
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2021-01-05 17:05:55 +00:00
|
|
|
pname = "notcurses";
|
2021-09-22 15:38:15 +00:00
|
|
|
version = "2.4.1";
|
2021-08-12 14:41:47 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "dankamongmen";
|
|
|
|
repo = "notcurses";
|
|
|
|
rev = "v${version}";
|
2021-09-22 15:38:15 +00:00
|
|
|
sha256 = "sha256-Oyjdmmb+rqPgkwVJw3y4NKGPABmCZFyGFBzBJn6IEHk=";
|
2021-08-12 14:41:47 +00:00
|
|
|
};
|
2021-01-05 17:05:55 +00:00
|
|
|
|
|
|
|
outputs = [ "out" "dev" ];
|
|
|
|
|
2021-02-05 17:12:51 +00:00
|
|
|
nativeBuildInputs = [ cmake pkg-config pandoc ];
|
2021-01-05 17:05:55 +00:00
|
|
|
|
2021-09-22 15:38:15 +00:00
|
|
|
buildInputs = [ libunistring ncurses readline zlib ]
|
2021-01-05 17:05:55 +00:00
|
|
|
++ lib.optional multimediaSupport ffmpeg;
|
|
|
|
|
2021-08-12 14:41:47 +00:00
|
|
|
cmakeFlags = [ "-DUSE_QRCODEGEN=OFF" ]
|
2021-01-05 17:05:55 +00:00
|
|
|
++ lib.optional (!multimediaSupport) "-DUSE_MULTIMEDIA=none";
|
|
|
|
|
2021-08-12 14:41:47 +00:00
|
|
|
meta = with lib; {
|
2021-01-05 17:05:55 +00:00
|
|
|
description = "blingful TUIs and character graphics";
|
|
|
|
longDescription = ''
|
|
|
|
A library facilitating complex TUIs on modern terminal emulators,
|
|
|
|
supporting vivid colors, multimedia, and Unicode to the maximum degree
|
|
|
|
possible. Things can be done with Notcurses that simply can't be done
|
|
|
|
with NCURSES.
|
|
|
|
|
|
|
|
It is not a source-compatible X/Open Curses implementation, nor a
|
|
|
|
replacement for NCURSES on existing systems.
|
|
|
|
'';
|
|
|
|
homepage = "https://github.com/dankamongmen/notcurses";
|
2021-08-12 14:41:47 +00:00
|
|
|
license = licenses.asl20;
|
|
|
|
platforms = platforms.all;
|
|
|
|
maintainers = with maintainers; [ jb55 ];
|
2021-01-05 17:05:55 +00:00
|
|
|
};
|
|
|
|
}
|