diff --git a/pkgs/tools/misc/wit-bindgen/default.nix b/pkgs/tools/misc/wit-bindgen/default.nix new file mode 100644 index 00000000000..e26079da481 --- /dev/null +++ b/pkgs/tools/misc/wit-bindgen/default.nix @@ -0,0 +1,32 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage rec { + pname = "wit-bindgen"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "bytecodealliance"; + repo = "wit-bindgen"; + rev = "wit-bindgen-cli-${version}"; + hash = "sha256-OLBuzYAeUaJrn9cUqw6nStE468TqTUXeUnfkdMO0D3w="; + }; + + cargoHash = "sha256-blaSgQZweDmkiU0Tck9qmIgpQGDZhgxb1+hs6a4D6Qg="; + + # Some tests fail because they need network access to install the `wasm32-unknown-unknown` target. + # However, GitHub Actions ensures a proper build. + # See also: + # https://github.com/bytecodealliance/wit-bindgen/actions + # https://github.com/bytecodealliance/wit-bindgen/blob/main/.github/workflows/main.yml + doCheck = false; + + meta = with lib; { + description = "A language binding generator for WebAssembly interface types"; + homepage = "https://github.com/bytecodealliance/wit-bindgen"; + license = licenses.asl20; + maintainers = with maintainers; [ xrelkd ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b5ef1079c1..1aae6b2db49 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13386,6 +13386,8 @@ with pkgs; wimboot = callPackage ../tools/misc/wimboot { }; + wit-bindgen = callPackage ../tools/misc/wit-bindgen { }; + wire = callPackage ../development/tools/wire { }; wireguard-tools = callPackage ../tools/networking/wireguard-tools { };