1{ lib
2, stdenv
3, fetchFromGitHub
4, fetchpatch
5, cmake
6, doxygen
7, graphviz
8}:
9
10stdenv.mkDerivation rec {
11 pname = "ftxui";
12 version = "3.0.0";
13
14 src = fetchFromGitHub {
15 owner = "ArthurSonzogni";
16 repo = "ftxui";
17 rev = "v${version}";
18 sha256 = "sha256-2pCk4drYIprUKcjnrlX6WzPted7MUAp973EmAQX3RIE=";
19 };
20
21 patches = [
22 # Can be removed once https://github.com/ArthurSonzogni/FTXUI/pull/403 hits a stable release
23 (fetchpatch {
24 name = "fix-postevent-segfault.patch";
25 url = "https://github.com/ArthurSonzogni/FTXUI/commit/f9256fa132e9d3c50ef1e1eafe2774160b38e063.patch";
26 sha256 = "sha256-0040/gJcCXzL92FQLhZ2dNMJhNqXXD+UHFv4Koc07K0=";
27 })
28 ];
29
30 nativeBuildInputs = [
31 cmake
32 doxygen
33 graphviz
34 ];
35
36 cmakeFlags = [
37 "-DFTXUI_BUILD_EXAMPLES=OFF"
38 ];
39
40 # gtest and gbenchmark don't seem to generate any binaries
41 doCheck = false;
42
43 meta = with lib; {
44 homepage = "https://github.com/ArthurSonzogni/FTXUI";
45 changelog = "https://github.com/ArthurSonzogni/FTXUI/blob/v${version}/CHANGELOG.md";
46 description = "Functional Terminal User Interface library for C++";
47 license = licenses.mit;
48 maintainers = [ maintainers.ivar ];
49 platforms = platforms.unix;
50 };
51}