diff options
author | sterni <sternenseemann@systemli.org> | 2025-01-21T20·04+0100 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2025-01-21T20·19+0000 |
commit | 623ebc615fe25691f436eece453735f8788ef708 (patch) | |
tree | 3f658e2dbfb1c617529ea530c73c5ec6960a7277 | |
parent | 9743fbf6b79f3a0afc826a8e881d7d7998482867 (diff) |
feat(sterni/acme/plan9port): make my plumbing rules the default r/9123
To avoid the need for two different versions of plan9port in the CI pipeline, just move the plumbing sanity check into installCheckPhase. For local iteration you'd have a plumber running anyways, so the short build time of the plumb derivation isn't really a necessity. Change-Id: Ib0ba5fa2d8107530fb7d1144cf7395f4f5a3cd12 Reviewed-on: https://cl.tvl.fyi/c/depot/+/13035 Tested-by: BuildkiteCI Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org>
-rw-r--r-- | users/sterni/acme/plan9port/default.nix | 15 | ||||
-rw-r--r-- | users/sterni/acme/plumb/.skip-tree | 1 | ||||
-rw-r--r-- | users/sterni/acme/plumb/default.nix | 39 |
3 files changed, 16 insertions, 39 deletions
diff --git a/users/sterni/acme/plan9port/default.nix b/users/sterni/acme/plan9port/default.nix index 94002f35d79a..e13b19716d15 100644 --- a/users/sterni/acme/plan9port/default.nix +++ b/users/sterni/acme/plan9port/default.nix @@ -18,6 +18,9 @@ pkgs.plan9port.overrideAttrs (old: { patches = old.patches or [ ] ++ patchesFromDir ./.; postPatch = old.postPatch or "" + '' ${mkbqnkeyboard'} lib/keyboard + + cp --reflink=auto ${./../plumb}/* plumb/ + mv plumb/sterni.plumbing plumb/initial.plumbing ''; nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ @@ -31,4 +34,16 @@ pkgs.plan9port.overrideAttrs (old: { --set PLAN9 "$out/plan9" done ''; + + doInstallCheck = true; + installCheckPhase = old.installCheckPhase or "" + '' + export NAMESPACE="$(mktemp -d)" + "$out/bin/9" plumber -f & + pid="$!" + until [[ -e "$NAMESPACE/plumb" ]]; do + sleep 0.1 + done + "$out/bin/9" 9p write plumb/rules < ${./../plumb}/sterni.plumbing + kill "$pid" + ''; }) diff --git a/users/sterni/acme/plumb/.skip-tree b/users/sterni/acme/plumb/.skip-tree new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/users/sterni/acme/plumb/.skip-tree @@ -0,0 +1 @@ + diff --git a/users/sterni/acme/plumb/default.nix b/users/sterni/acme/plumb/default.nix deleted file mode 100644 index 0477e48e9a03..000000000000 --- a/users/sterni/acme/plumb/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ pkgs, lib, ... }: - -pkgs.stdenvNoCC.mkDerivation { - name = "sterni-plumb"; - - src = builtins.path { - path = ./.; - filter = path: _: !(lib.hasSuffix "default.nix" path); - }; - - dontConfigure = true; - dontBuild = true; - - # The write will fail if there's something wrong with the rules, - # though it only detects some problems. - checkPhase = '' - runHook preInstall - export NAMESPACE="$(mktemp -d)" - 9 plumber -f & - pid="$!" - until [[ -e "$NAMESPACE/plumb" ]]; do - sleep 0.1 - done - 9 9p write plumb/rules < sterni.plumbing - kill "$pid" - runHook postInstall - ''; - doCheck = true; - checkInputs = [ - pkgs.plan9port - ]; - - installPhase = '' - runHook preInstall - mkdir -p "$out" - mv * "$out/" - runHook postInstall - ''; -} |