feat(sterni/acme): import my patched plan9port from vuizvui

This is equivalent to
<2e4032c31b>,
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 <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
This commit is contained in:
sterni 2025-01-21 15:53:43 +01:00 committed by clbot
parent 47cda5e89f
commit 3b9d5a02ce
2 changed files with 50 additions and 0 deletions

View file

@ -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
'';
})

View file

@ -0,0 +1,24 @@
commit 139924014d126578e5a008f1df7a55831e668287
Author: sternenseemann <sternenseemann@systemli.org>
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: