1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 autoreconfHook,
6 ncurses,
7 versionCheckHook,
8}:
9
10stdenv.mkDerivation (finalAttrs: {
11 pname = "cmatrix";
12 version = "2.0";
13
14 src = fetchFromGitHub {
15 owner = "abishekvashok";
16 repo = "cmatrix";
17 tag = "v${finalAttrs.version}";
18 hash = "sha256-dWlVWSRIE1fPa6R2N3ONL9QJlDQEqxfdYIgWTSr5MsE=";
19 };
20
21 nativeBuildInputs = [ autoreconfHook ];
22 buildInputs = [ ncurses ];
23
24 nativeInstallCheckInputs = [ versionCheckHook ];
25 versionCheckProgramArg = "-V";
26 doInstallCheck = true;
27
28 meta = {
29 description = "Simulates the falling characters theme from The Matrix movie";
30 longDescription = ''
31 CMatrix simulates the display from "The Matrix" and is based
32 on the screensaver from the movie's website.
33 '';
34 homepage = "https://github.com/abishekvashok/cmatrix";
35 changelog = "https://github.com/abishekvashok/cmatrix/releases/tag/v${finalAttrs.version}";
36 platforms = ncurses.meta.platforms;
37 license = lib.licenses.gpl3Only;
38 maintainers = with lib.maintainers; [ Tert0 ];
39 mainProgram = "cmatrix";
40 };
41})