headplane/nix/ssh-wasm.nix

34 lines
865 B
Nix
Raw Normal View History

2025-07-27 02:18:50 +00:00
{
buildGoModule,
go,
}: let
2025-07-15 12:32:54 -07:00
wasmExecJs =
2025-07-27 02:18:50 +00:00
if builtins.pathExists "${go}/share/go/lib/wasm/wasm_exec.js"
then "${go}/share/go/lib/wasm/wasm_exec.js"
else if builtins.pathExists "${go}/lib/wasm/wasm_exec.js"
then "${go}/lib/wasm/wasm_exec.js"
else "${go}/share/go/misc/wasm/wasm_exec.js";
2025-07-15 12:32:54 -07:00
in
buildGoModule {
pname = "headplane-ssh-wasm";
version = (builtins.fromJSON (builtins.readFile ../package.json)).version;
2025-07-27 02:18:50 +00:00
src = ../.;
subPackages = ["cmd/hp_ssh"];
2025-08-20 13:58:19 -04:00
vendorHash = "sha256-cPE8cnfTdzi6hAmSXujKmfd5ezivc3sQ6DKOZubCpYI=";
2025-07-27 02:18:50 +00:00
env.CGO_ENABLED = 0;
2025-07-15 12:32:54 -07:00
2025-07-27 02:18:50 +00:00
nativeBuildInputs = [go];
2025-07-15 12:32:54 -07:00
2025-07-27 02:18:50 +00:00
buildPhase = ''
export GOOS=js
export GOARCH=wasm
go build -o hp_ssh.wasm ./cmd/hp_ssh
'';
2025-07-15 12:32:54 -07:00
2025-07-27 02:18:50 +00:00
installPhase = ''
mkdir -p $out
cp hp_ssh.wasm $out/
cp ${wasmExecJs} $out/wasm_exec.js
'';
}