diff --git a/pkgs/tools/admin/drawterm/default.nix b/pkgs/tools/admin/drawterm/default.nix index f75baff338fc..4955fc8f6613 100644 --- a/pkgs/tools/admin/drawterm/default.nix +++ b/pkgs/tools/admin/drawterm/default.nix @@ -1,37 +1,63 @@ { stdenv , lib , fetchgit +, installShellFiles +, makeWrapper , xorg +, pkg-config +, wayland-scanner +, pipewire +, wayland +, wayland-protocols +, libxkbcommon +, wlr-protocols +, pulseaudio +, config }: stdenv.mkDerivation rec { pname = "drawterm"; - version = "unstable-2023-03-05"; + version = "unstable-2023-06-27"; src = fetchgit { url = "git://git.9front.org/plan9front/drawterm"; - rev = "ed9cff5a4c39322744c4708699c9ae6651b7c9ab"; - sha256 = "LM6UnggoxKC3e6xOlHYk9VFF99Abbdmp37nuUML8RgI="; + rev = "36debf46ac184a22c6936345d22e4cfad995948c"; + sha256 = "ebqw1jqeRC0FWeUIO/HaEovuwzU6+B48TjZbVJXByvA="; }; - buildInputs = [ - xorg.libX11 - xorg.libXt - ]; + nativeBuildInputs = [ installShellFiles ] ++ { + linux = [ pkg-config wayland-scanner ]; + unix = [ makeWrapper ]; + }."${config}" or (throw "unsupported CONF"); + + buildInputs = { + linux = [ pipewire wayland wayland-protocols libxkbcommon wlr-protocols ]; + unix = [ xorg.libX11 xorg.libXt ]; + }."${config}" or (throw "unsupported CONF"); # TODO: macos - makeFlags = [ "CONF=unix" ]; + makeFlags = [ "CONF=${config}" ]; - installPhase = '' - install -Dm755 -t $out/bin/ drawterm - install -Dm644 -t $out/man/man1/ drawterm.1 + installPhase = { + linux = '' + install -Dm755 -t $out/bin/ drawterm + ''; + unix = '' + # wrapping the oss output with pulse seems to be the easiest + mv drawterm drawterm.bin + install -Dm755 -t $out/bin/ drawterm.bin + makeWrapper ${pulseaudio}/bin/padsp $out/bin/drawterm --add-flags $out/bin/drawterm.bin + ''; + }."${config}" or (throw "unsupported CONF") + '' + installManPage drawterm.1 ''; + meta = with lib; { - description = "Connect to Plan9 CPU servers from other operating systems."; + description = "Connect to Plan 9 CPU servers from other operating systems."; homepage = "https://drawterm.9front.org/"; license = licenses.mit; - maintainers = with maintainers; [ luc65r ]; + maintainers = with maintainers; [ luc65r moody ]; platforms = platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3ef876ffd89e..6bbe0570993b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30525,7 +30525,8 @@ with pkgs; buildServerGui = false; }; - drawterm = callPackage ../tools/admin/drawterm { }; + drawterm = callPackage ../tools/admin/drawterm { config = "unix"; }; + drawterm-wayland = callPackage ../tools/admin/drawterm { config = "linux"; }; droopy = python3Packages.callPackage ../applications/networking/droopy { };