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
|
2025-07-27 02:19:45 +00:00
|
|
|
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
|
|
|
|
|
'';
|
|
|
|
|
}
|