From 3b9d5a02ced718568e57e6ad2d2b9c0898a8534f Mon Sep 17 00:00:00 2001 From: sterni Date: Tue, 21 Jan 2025 15:53:43 +0100 Subject: [PATCH] feat(sterni/acme): import my patched plan9port from vuizvui This is equivalent to , with the addition of patchesFromDir to assemble a list of patches. Import into depot since I'm interested in adding some depot specific configuration and tools to (mainly) acme that doesn't make sense to track outside of depot. Since persisting user configuration and tooling with plan9port is annoying, it's easier compiling it in to begin with. Change-Id: I565a285368485c7ce1d5caa7baa87a8ca86abcb7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13033 Tested-by: BuildkiteCI Autosubmit: sterni Reviewed-by: sterni --- users/sterni/acme/plan9port/default.nix | 26 +++++++++++++++++++ .../acme/plan9port/neo-modifier-fix.patch | 24 +++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 users/sterni/acme/plan9port/default.nix create mode 100644 users/sterni/acme/plan9port/neo-modifier-fix.patch diff --git a/users/sterni/acme/plan9port/default.nix b/users/sterni/acme/plan9port/default.nix new file mode 100644 index 000000000..a456690dd --- /dev/null +++ b/users/sterni/acme/plan9port/default.nix @@ -0,0 +1,26 @@ +{ pkgs, lib, ... }: + +let + patchesFromDir = dir: + lib.filter + (lib.hasSuffix ".patch") + (lib.mapAttrsToList + (name: _: dir + "/${name}") + (builtins.readDir dir)); +in + +pkgs.plan9port.overrideAttrs (old: { + patches = old.patches or [ ] ++ patchesFromDir ./.; + + nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ + pkgs.buildPackages.makeWrapper + ]; + + # Make some tools (that don't clash) available in PATH directly + postInstall = old.postInstall or "" + '' + for cmd in 9p 9pfuse; do + makeWrapper "$out/plan9/bin/$cmd" "$out/bin/$cmd" \ + --set PLAN9 "$out/plan9" + done + ''; +}) diff --git a/users/sterni/acme/plan9port/neo-modifier-fix.patch b/users/sterni/acme/plan9port/neo-modifier-fix.patch new file mode 100644 index 000000000..f5e587d53 --- /dev/null +++ b/users/sterni/acme/plan9port/neo-modifier-fix.patch @@ -0,0 +1,24 @@ +commit 139924014d126578e5a008f1df7a55831e668287 +Author: sternenseemann +Date: Sat Mar 19 15:52:59 2022 +0100 + + cmd/devdraw: Don't use X11 standard interpretation for modifiers + + This patch is based on a similar one [1] for drawterm by Sören Tempel. + + [1]: https://github.com/nmeum/aports/blob/master/8pit/drawterm/modifier-fix.patch + +diff --git a/src/cmd/devdraw/x11-screen.c b/src/cmd/devdraw/x11-screen.c +index 0bbc25d6..511fc093 100644 +--- a/src/cmd/devdraw/x11-screen.c ++++ b/src/cmd/devdraw/x11-screen.c +@@ -408,6 +408,9 @@ runxevent(XEvent *xev) + case KeyPress: + ke = (XKeyEvent*)xev; + XLookupString(ke, NULL, 0, &k, NULL); ++ /* dont use standard interpretation for modifiers */ ++ if(IsModifierKey(k)) ++ k = XLookupKeysym(ke, 0); + c = ke->state; + switch(k) { + case XK_Alt_L: