about summary refs log tree commit diff
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorBrennon Loveless <brennon.loveless@gmail.com>2023-12-01 20:13:07 -0800
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2023-12-07 04:06:02 +0000
commitae1870e9def7b29b09acedfc42e7a2c170e688c4 (patch)
tree4b519ca29cf0163e60a5d44df31522a81d256608 /pkgs/by-name
parentf13ce2849bfdf499d7cccda2b51af24884c00c95 (diff)
wash-cli: init at 0.24.0
(cherry picked from commit 9af32e98fdb871eed0e8bb9e637383e1afa6454b)
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--pkgs/by-name/wa/wash-cli/package.nix47
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/by-name/wa/wash-cli/package.nix b/pkgs/by-name/wa/wash-cli/package.nix
new file mode 100644
index 0000000000000..c186a035814ba
--- /dev/null
+++ b/pkgs/by-name/wa/wash-cli/package.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, darwin, fetchurl }:
+
+let
+  wasiPreviewCommandComponentAdapter = fetchurl {
+    url = "https://github.com/bytecodealliance/wasmtime/releases/download/v13.0.0/wasi_snapshot_preview1.command.wasm";
+    hash = "sha256-QihT0Iaq9VJs2mLL9CdS32lVMtDc9M952k/ZZ4tO6qs=";
+  };
+  wasiPreviewReactorComponentAdapter = fetchurl {
+    url = "https://github.com/bytecodealliance/wasmtime/releases/download/v13.0.0/wasi_snapshot_preview1.reactor.wasm";
+    hash = "sha256-bNmx/IqYPkA7YHvlYvHPmIMF/fkKtSXlZx1bjR3Neow=";
+  };
+
+in rustPlatform.buildRustPackage rec {
+  pname = "wash-cli";
+  version = "0.24.0";
+
+  src = fetchCrate {
+    inherit version pname;
+      hash = "sha256-exhN+44Sikcn2JiIry/jHOpYrPG2oQOpwq/Mq+0VK0U=";
+  };
+
+  cargoHash = "sha256-eEfkMoi4BPpKWkiTshHj59loFPzyrhFN/S8HKdMCGFM=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [
+      darwin.apple_sdk.frameworks.SystemConfiguration
+      darwin.apple_sdk.frameworks.CoreServices
+    ];
+
+  preBuild = "
+    export WASI_PREVIEW1_COMMAND_COMPONENT_ADAPTER=${wasiPreviewCommandComponentAdapter}
+    export WASI_PREVIEW1_REACTOR_COMPONENT_ADAPTER=${wasiPreviewReactorComponentAdapter}
+  ";
+
+  # Tests require the internet and don't work when running in nix
+  doCheck = false;
+
+  meta = with lib; {
+    description = "wasmCloud Shell (wash) CLI tool";
+    homepage = "https://wasmcloud.com/";
+    mainProgram = "wash";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bloveless ];
+  };
+}