vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / by-name / ct / ctx / package.nix
blobb329fd221247ba48291ca3e3eaeb86f4a5ec517f
1 { lib
2 , stdenv
3 , fetchgit
4 , SDL2
5 , alsa-lib
6 , babl
7 , bash
8 , curl
9 , libdrm # Not documented
10 , pkg-config
11 , xxd
12 , enableFb ? false
13 , nixosTests
16 stdenv.mkDerivation (finalAttrs: {
17   pname = "ctx";
18   version = "unstable-2023-09-03";
20   src = fetchgit {
21     name = "ctx-source"; # because of a dash starting the directory
22     url = "https://ctx.graphics/.git/";
23     rev = "1bac18c152eace3ca995b3c2b829a452085d46fb";
24     hash = "sha256-fOcQJ2XCeomdtAUmy0A+vU7Vt325OSwrb1+ccW+gZ38=";
25   };
27   patches = [
28     # Many problematic things fixed - it should be upstreamed somehow:
29     # - babl changed its name in pkg-config files
30     # - arch detection made optional
31     # - LD changed to CCC
32     # - remove inexistent reference to static/*/*
33     ./0001-fix-detections.diff
34   ];
36   postPatch = ''
37     patchShebangs ./tools/gen_fs.sh
38   '';
40   nativeBuildInputs = [
41     pkg-config
42     xxd
43   ];
45   buildInputs = [
46     SDL2
47     alsa-lib
48     babl
49     bash # for ctx-audioplayer
50     curl
51     libdrm
52   ];
54   strictDeps = true;
56   env.ARCH = stdenv.hostPlatform.parsed.cpu.arch;
58   configureScript = "./configure.sh";
59   configureFlags = lib.optional enableFb "--enable-fb";
60   configurePlatforms = [];
61   dontAddPrefix = true;
62   dontDisableStatic = true;
64   installFlags = [
65     "PREFIX=${placeholder "out"}"
66   ];
68   passthru.tests.test = nixosTests.terminal-emulators.ctx;
70   meta = {
71     homepage = "https://ctx.graphics/";
72     description = "Vector graphics terminal";
73     longDescription = ''
74       ctx is an interactive 2D vector graphics, audio, text- canvas and
75       terminal, with escape sequences that enable a 2D vector drawing API using
76       a vector graphics protocol.
77     '';
78     license = lib.licenses.gpl3Plus;
79     maintainers = with lib.maintainers; [ AndersonTorres ];
80     platforms = lib.platforms.unix;
81   };