From b6e7b00f7643baa5991009af6811023497b73646 Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Thu, 8 Sep 2022 23:47:57 +0300 Subject: [PATCH] imtui: init at 1.0.5 --- pkgs/development/libraries/imtui/default.nix | 58 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/libraries/imtui/default.nix diff --git a/pkgs/development/libraries/imtui/default.nix b/pkgs/development/libraries/imtui/default.nix new file mode 100644 index 000000000000..e534a55ae5a4 --- /dev/null +++ b/pkgs/development/libraries/imtui/default.nix @@ -0,0 +1,58 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, imgui +, ninja +, withEmscripten ? false, emscripten +, withCurl ? (!withEmscripten), curl +, withNcurses ? (!withEmscripten), ncurses +, static ? withEmscripten +}: + +stdenv.mkDerivation rec { + pname = "imtui"; + version = "1.0.5"; + + src = fetchFromGitHub { + owner = "ggerganov"; + repo = pname; + rev = "v${version}"; + hash = "sha256-eHQPDEfxKGLdiOi0lUUgqJcmme1XJLSPAafT223YK+U="; + }; + + nativeBuildInputs = [ cmake ninja ]; + + buildInputs = lib.optional withEmscripten emscripten + ++ lib.optional withCurl curl + ++ lib.optional withNcurses ncurses; + + postPatch = '' + cp -r ${imgui}/include/imgui third-party/imgui + ''; + + cmakeFlags = [ + "-DEMSCRIPTEN:BOOL=${if withEmscripten then "ON" else "OFF"}" + "-DIMTUI_SUPPORT_CURL:BOOL=${if withCurl then "ON" else "OFF"}" + "-DIMTUI_SUPPORT_NCURSES:BOOL=${if withNcurses then "ON" else "OFF"}" + "-DBUILD_SHARED_LIBS:BOOL=${if (!static) then "ON" else "OFF"}" + "-DIMTUI_BUILD_EXAMPLES:BOOL=OFF" + "-DIMTUI_INSTALL_IMGUI_HEADERS:BOOL=OFF" + ]; + + postInstall = '' + rm -rf $out/include/imgui + ''; + + meta = with lib; { + description = "Immediate mode text-based user interface library"; + longDescription = '' + ImTui is an immediate mode text-based user interface library. Supports 256 + ANSI colors and mouse/keyboard input. + ''; + homepage = "https://imtui.ggerganov.com"; + changelog = "https://github.com/ggerganov/imtui/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ azahi ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f241e01fbaf4..8a62e86fed17 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18820,6 +18820,8 @@ with pkgs; imgui = callPackage ../development/libraries/imgui { }; + imtui = callPackage ../development/libraries/imtui { }; + imlib = callPackage ../development/libraries/imlib { libpng = libpng12; };