From bf452e698747928f076a9b884bd9aacd97239bbf Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Tue, 27 Jun 2023 12:55:56 -0500 Subject: [PATCH 1/3] drawterm: 2023-03-05 -> 2023-06-27 --- pkgs/tools/admin/drawterm/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/admin/drawterm/default.nix b/pkgs/tools/admin/drawterm/default.nix index f75baff338fc..26f022e4827f 100644 --- a/pkgs/tools/admin/drawterm/default.nix +++ b/pkgs/tools/admin/drawterm/default.nix @@ -6,12 +6,12 @@ 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 = [ From 6b98875ef9153e21727e5c7bf38deaa2d7cfd175 Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Tue, 27 Jun 2023 12:57:29 -0500 Subject: [PATCH 2/3] drawterm: add wayland+pipewire 'linux' build target support --- pkgs/tools/admin/drawterm/default.nix | 31 ++++++++++++++++++++------- pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/admin/drawterm/default.nix b/pkgs/tools/admin/drawterm/default.nix index 26f022e4827f..ddb2fd139185 100644 --- a/pkgs/tools/admin/drawterm/default.nix +++ b/pkgs/tools/admin/drawterm/default.nix @@ -1,7 +1,16 @@ { stdenv , lib , fetchgit +, installShellFiles , xorg +, pkg-config +, wayland-scanner +, pipewire +, wayland +, wayland-protocols +, libxkbcommon +, wlr-protocols +, config }: stdenv.mkDerivation rec { @@ -14,24 +23,30 @@ stdenv.mkDerivation rec { sha256 = "ebqw1jqeRC0FWeUIO/HaEovuwzU6+B48TjZbVJXByvA="; }; - buildInputs = [ - xorg.libX11 - xorg.libXt - ]; + nativeBuildInputs = [ installShellFiles ] ++ { + linux = [ pkg-config wayland-scanner ]; + unix = []; + }."${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 + 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 5282d4968775..f4014dc789f2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30434,7 +30434,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 { }; From d1f2d75d20bb6144085f2225ef59aff8f6be40b8 Mon Sep 17 00:00:00 2001 From: Jacob Moody Date: Wed, 28 Jun 2023 16:53:34 -0500 Subject: [PATCH 3/3] drawterm: fix audio using padsp drawterm uses an oss audio backend by default for CONF=unix. The easiest way I've seen to get this working for most systems is to wrap it with padsp. --- pkgs/tools/admin/drawterm/default.nix | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/admin/drawterm/default.nix b/pkgs/tools/admin/drawterm/default.nix index ddb2fd139185..4955fc8f6613 100644 --- a/pkgs/tools/admin/drawterm/default.nix +++ b/pkgs/tools/admin/drawterm/default.nix @@ -2,6 +2,7 @@ , lib , fetchgit , installShellFiles +, makeWrapper , xorg , pkg-config , wayland-scanner @@ -10,6 +11,7 @@ , wayland-protocols , libxkbcommon , wlr-protocols +, pulseaudio , config }: @@ -25,10 +27,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ installShellFiles ] ++ { linux = [ pkg-config wayland-scanner ]; - unix = []; + unix = [ makeWrapper ]; }."${config}" or (throw "unsupported CONF"); - buildInputs = { linux = [ pipewire wayland wayland-protocols libxkbcommon wlr-protocols ]; unix = [ xorg.libX11 xorg.libXt ]; @@ -37,11 +38,21 @@ stdenv.mkDerivation rec { # TODO: macos makeFlags = [ "CONF=${config}" ]; - installPhase = '' - install -Dm755 -t $out/bin/ drawterm - installManPage 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 Plan 9 CPU servers from other operating systems."; homepage = "https://drawterm.9front.org/";