diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index b231c46fa6843..fdfc664c7cb16 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17754,6 +17754,12 @@ githubId = 17805516; name = "Rohan Rao"; }; + rolfschr = { + email = "rolf.schr@posteo.de"; + github = "rolfschr"; + githubId = 1188465; + name = "Rolf Schröder"; + }; rollf = { email = "rolf.schroeder@limbus-medtec.com"; github = "rollf"; diff --git a/nixos/tests/terminal-emulators.nix b/nixos/tests/terminal-emulators.nix index 3cf99fe7fc2f3..5972885ae48f3 100644 --- a/nixos/tests/terminal-emulators.nix +++ b/nixos/tests/terminal-emulators.nix @@ -117,6 +117,8 @@ let tests = { xfce4-terminal.pkg = p: p.xfce.xfce4-terminal; xterm.pkg = p: p.xterm; + + zutty.pkg = p: p.zutty; }; in mapAttrs (name: { pkg, executable ? name, cmd ? "SHELL=$command ${executable}", colourTest ? true, pinkValue ? "#FF0087", kill ? false }: makeTest { diff --git a/pkgs/by-name/zu/zutty/package.nix b/pkgs/by-name/zu/zutty/package.nix new file mode 100644 index 0000000000000..4a931a1c4eb02 --- /dev/null +++ b/pkgs/by-name/zu/zutty/package.nix @@ -0,0 +1,59 @@ +{ + lib, + stdenv, + fetchgit, + pkg-config, + freetype, + wafHook, + python3, + libXmu, + glew, + ucs-fonts, + nixosTests, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "zutty"; + version = "0.16-unstable-2024-08-18"; + + src = fetchgit { + url = "https://git.hq.sig7.se/zutty.git"; + rev = "04b2ca3b3aaa070c41583247f8112c31b6003886"; # 20240818 + hash = "sha256-izUbn2B3RqIIOW9tuL7DFLqJdektCftxnpQssJMYxC8="; + }; + + postPatch = + let + fontpaths = [ + "/run/current-system/sw/share/X11/fonts" # available if fonts.fontDir.enable = true + "${ucs-fonts}/share/fonts" + ]; + in + '' + substituteInPlace src/options.h \ + --replace-fail /usr/share/fonts ${builtins.concatStringsSep ":" fontpaths} + ''; + + nativeBuildInputs = [ + pkg-config + wafHook + python3 + ]; + + buildInputs = [ + freetype + libXmu + glew + ]; + + passthru = { + tests = lib.optionalAttrs stdenv.isLinux { default = nixosTests.terminal-emulators.zutty; }; + }; + + meta = { + homepage = "https://tomscii.sig7.se/zutty/"; + description = "X terminal emulator rendering through OpenGL ES Compute Shaders"; + license = lib.licenses.gpl3Plus; + maintainers = [ lib.maintainers.rolfschr ]; + platforms = lib.platforms.linux; + }; +})