1 { lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, darwin, fetchurl }:
4 wasiPreviewCommandComponentAdapter = fetchurl {
5 url = "https://github.com/bytecodealliance/wasmtime/releases/download/v22.0.0/wasi_snapshot_preview1.command.wasm";
6 hash = "sha256-UVBFddlI0Yh1ZNs0b2jSnKsHvGGAS5U09yuwm8Q6lxw=";
8 wasiPreviewReactorComponentAdapter = fetchurl {
9 url = "https://github.com/bytecodealliance/wasmtime/releases/download/v22.0.0/wasi_snapshot_preview1.reactor.wasm";
10 hash = "sha256-oE53IRMZgysSWT7RhrpZJjdaIyzCRf0h4d1yjqj/PSk=";
13 in rustPlatform.buildRustPackage rec {
18 inherit version pname;
19 hash = "sha256-A66KSDYFbByguhnlzzU5nf8pE3lhnYQjI3h73SKB2Zo=";
22 cargoHash = "sha256-2mo30xHQ3aCExdI0ITDY9g/C5peN48PdUNFVVxM//+c=";
24 nativeBuildInputs = [ pkg-config ];
26 buildInputs = [ openssl ]
27 ++ lib.optionals stdenv.hostPlatform.isDarwin [
28 darwin.apple_sdk.frameworks.SystemConfiguration
29 darwin.apple_sdk.frameworks.CoreServices
33 export WASI_PREVIEW1_COMMAND_COMPONENT_ADAPTER=${wasiPreviewCommandComponentAdapter}
34 export WASI_PREVIEW1_REACTOR_COMPONENT_ADAPTER=${wasiPreviewReactorComponentAdapter}
37 # Tests require the internet and don't work when running in nix
41 description = "wasmCloud Shell (wash) CLI tool";
42 homepage = "https://wasmcloud.com/";
44 license = licenses.asl20;
45 maintainers = with maintainers; [ bloveless ];