mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2024-11-22 18:59:59 +08:00
Feature: Added nix build support (#603)
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
This commit is contained in:
parent
e83e90ced2
commit
a366c5a423
43
flake.lock
Normal file
43
flake.lock
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1678901627,
|
||||||
|
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1679734080,
|
||||||
|
"narHash": "sha256-z846xfGLlon6t9lqUzlNtBOmsgQLQIZvR6Lt2dImk1M=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dbf5322e93bcc6cfc52268367a8ad21c09d76fea",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
61
flake.nix
Normal file
61
flake.nix
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
description = "C++ Functional Terminal User Interface library";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = {self, nixpkgs, flake-utils}:
|
||||||
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
|
let pkgs = import nixpkgs { inherit system; }; in
|
||||||
|
{
|
||||||
|
packages.ftxui = pkgs.stdenv.mkDerivation rec {
|
||||||
|
pname = "ftxui";
|
||||||
|
version = "v4.0.0";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "ArthurSonzogni";
|
||||||
|
repo = "FTXUI";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-3kAhHDUwzwdvHc8JZAcA14tGqa6w69qrN1JXhSxNBQY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkgs.cmake
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DFTXUI_ENABLE_INSTALL=ON"
|
||||||
|
"-DFTXUI_BUILD_EXAMPLES=OFF"
|
||||||
|
"-DFTXUI_BUILD_TESTS=OFF"
|
||||||
|
"-DFTXUI_BUILD_DOCS=OFF"
|
||||||
|
"-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://arthursonzogni.github.io/FTXUI/";
|
||||||
|
description = "C++ Functional Terminal User Interface.";
|
||||||
|
longDescription = ''
|
||||||
|
Functional Terminal (X) User interface
|
||||||
|
|
||||||
|
A simple C++ library for terminal based user interfaces!
|
||||||
|
Feature
|
||||||
|
- Functional style. Inspired by [1] and React
|
||||||
|
- Simple and elegant syntax (in my opinion)
|
||||||
|
- Keyboard & mouse navigation.
|
||||||
|
- Support for UTF8 and fullwidth chars (→ 测试)
|
||||||
|
- Support for animations. Demo 1, Demo 2
|
||||||
|
- Support for drawing. Demo
|
||||||
|
- No dependencies
|
||||||
|
- Cross platform: Linux/MacOS (main target), WebAssembly, Windows (Thanks to contributors!).
|
||||||
|
- Learn by examples, and tutorials
|
||||||
|
- Multiple packages: CMake FetchContent (preferred), vcpkg, pkgbuild, conan, nix, etc...
|
||||||
|
- Good practises: documentation, tests, fuzzers, performance tests, automated CI, automated packaging, etc...
|
||||||
|
'';
|
||||||
|
license = pkgs.lib.licenses.mit;
|
||||||
|
platforms = pkgs.lib.platforms.all;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user