1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 pkg-config,
6 libtool,
7 perl,
8 libtermkey,
9 unibilium,
10}:
11let
12 version = "0.4.5";
13in
14stdenv.mkDerivation {
15 pname = "libtickit";
16 inherit version;
17
18 src = fetchFromGitHub {
19 owner = "leonerd";
20 repo = "libtickit";
21 rev = "v${version}";
22 hash = "sha256-q8JMNFxmnyOiUso4nXLZjJIBFYR/EF6g45lxVeY0f1s=";
23 };
24
25 patches = [
26 # Disabled on darwin, since test assumes TERM=linux
27 ./001-skip-test-18term-builder-on-macos.patch
28 ];
29
30 nativeBuildInputs = [
31 pkg-config
32 libtool
33 ];
34
35 buildInputs = [
36 libtermkey
37 unibilium
38 ];
39
40 nativeCheckInputs = [ perl ];
41
42 makeFlags = [
43 "LIBTOOL=${lib.getExe libtool}"
44 ];
45
46 installFlags = [
47 "PREFIX=${placeholder "out"}"
48 ];
49
50 enableParallelBuilding = true;
51
52 doCheck = true;
53
54 meta = with lib; {
55 description = "Terminal interface construction kit";
56 longDescription = ''
57 This library provides an abstracted mechanism for building interactive full-screen terminal
58 programs. It provides a full set of output drawing functions, and handles keyboard and mouse
59 input events.
60 '';
61 homepage = "https://www.leonerd.org.uk/code/libtickit/";
62 license = licenses.mit;
63 maintainers = with maintainers; [ onemoresuza ];
64 platforms = platforms.unix;
65 };
66}