postjevsql.git / nix / sidecar-cli.nix

The postjevsql-sidecar binary (crates/postjevsql-sidecar, :cli): the one engine that sets up sidecar mode (CLAUDE.md Launching it). Built by the extension's own derivation, with its fetched crates and sandbox, so the two cannot drift; only the target and output differ. The binary links no pgrx, so the major it is built under is immaterial.

6{ postjevsql }:
7postjevsql.overrideAttrs (old: {
8  pname = "postjevsql-sidecar";
9  buildInputs = [ ];
10
11  buildPhase = ''
12    runHook preBuild
13    ${old.passthru.buck "//crates/postjevsql-sidecar:cli" "postjevsql-sidecar"}
14    runHook postBuild
15  '';
16
17  installPhase = ''
18    runHook preInstall
19    install -Dm755 postjevsql-sidecar $out/bin/postjevsql-sidecar
20    install -Dm644 -t $out/share/doc/postjevsql-sidecar LICENSE-MIT LICENSE-APACHE
21    install -Dm644 THIRD-PARTY-sidecar $out/share/doc/postjevsql-sidecar/THIRD-PARTY
22    runHook postInstall
23  '';
24
25  meta = old.meta // {
26    description = "Set up a postjevsql sidecar: converge its foreign server and sync its foreign tables";
27    mainProgram = "postjevsql-sidecar";
28  };
29})