~andir/nixpkgs-dev

notcurses: init at 2.1.0 v2 PROPOSED

William Casarin: 1
 notcurses: init at 2.1.0

 2 files changed, 51 insertions(+), 0 deletions(-)
Matthias Beyer <mail@beyermatthias.de> writes:
Next
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~andir/nixpkgs-dev/patches/16035/mbox | git am -3
Learn more about email & git
View this thread in the archives

[PATCH v2] notcurses: init at 2.1.0 Export this patch

This is a neat ncurses alternative. See the demo here:

https://www.youtube.com/watch?v=cYhZ7myXyyg

Here's something interesting to package after this:

https://github.com/dankamongmen/growlight

Message-Id: <20201215150109.30656-1-jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
---

This just adds a dev output as suggested in review.

 .../libraries/notcurses/default.nix           | 49 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 +
 2 files changed, 51 insertions(+)
 create mode 100644 pkgs/development/libraries/notcurses/default.nix

diff --git a/pkgs/development/libraries/notcurses/default.nix b/pkgs/development/libraries/notcurses/default.nix
new file mode 100644
index 00000000000..189e36c1b44
--- /dev/null
+++ b/pkgs/development/libraries/notcurses/default.nix
@@ -0,0 +1,49 @@
{ stdenv, cmake, pkgconfig, pandoc, libunistring, ncurses, ffmpeg,
  fetchFromGitHub, lib,
  multimediaSupport ? true
}:
let
  version = "2.1.0";
in
stdenv.mkDerivation {
  pname = "notcurses";
  inherit version;

  outputs = [ "out" "dev" ];

  nativeBuildInputs = [ cmake pkgconfig pandoc ];

  buildInputs = [ libunistring ncurses ]
    ++ lib.optional multimediaSupport ffmpeg;

  cmakeFlags =
    [ "-DUSE_QRCODEGEN=OFF" ]
    ++ lib.optional (!multimediaSupport) "-DUSE_MULTIMEDIA=none";

  src = fetchFromGitHub {
    owner  = "dankamongmen";
    repo   = "notcurses";
    rev    = "v${version}";
    sha256 = "0jvngg40c1sqf85kqy6ya0vflpxsj7j4g6cw609992rifaghxiny";
  };

  meta = {
    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";

    license = lib.licenses.asl20;
    platforms = lib.platforms.all;
    maintainers = with lib.maintainers; [ jb55 ];
  };
}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f0c412e5c9b..bf444048537 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15072,6 +15072,8 @@ in

  notify-sharp = callPackage ../development/libraries/notify-sharp { };

  notcurses = callPackage ../development/libraries/notcurses { };

  ncurses5 = ncurses.override {
    abiVersion = "5";
  };
-- 
2.28.0
Updated the PR. Thanks :)


On 06:29 18.12.20, William Casarin wrote:
Reviewed-by: Matthias Beyer <mail@beyermatthias.de>