about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsterni <sternenseemann@systemli.org>2025-01-21T14·53+0100
committerclbot <clbot@tvl.fyi>2025-01-21T20·19+0000
commit3b9d5a02ced718568e57e6ad2d2b9c0898a8534f (patch)
tree9d9d88124dd53a7e982872593893ef7dd9143c0c
parent47cda5e89fd248d8710408d5dd981f0130543eeb (diff)
feat(sterni/acme): import my patched plan9port from vuizvui r/9121
This is equivalent to
<https://github.com/openlab-aux/vuizvui/tree/2e4032c31b206599>,
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>
-rw-r--r--users/sterni/acme/plan9port/default.nix26
-rw-r--r--users/sterni/acme/plan9port/neo-modifier-fix.patch24
2 files changed, 50 insertions, 0 deletions
diff --git a/users/sterni/acme/plan9port/default.nix b/users/sterni/acme/plan9port/default.nix
new file mode 100644
index 000000000000..a456690dde6a
--- /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 000000000000..f5e587d53334
--- /dev/null
+++ b/users/sterni/acme/plan9port/neo-modifier-fix.patch
@@ -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: