diff --git a/pkgs/development/tools/misc/planus/default.nix b/pkgs/development/tools/misc/planus/default.nix new file mode 100644 index 000000000000..9074debb2633 --- /dev/null +++ b/pkgs/development/tools/misc/planus/default.nix @@ -0,0 +1,38 @@ +{ lib +, rustPlatform +, fetchCrate +, installShellFiles +, stdenv +}: + +rustPlatform.buildRustPackage rec { + pname = "planus"; + version = "0.4.0"; + + src = fetchCrate { + pname = "planus-cli"; + inherit version; + hash = "sha256-KpX4KSA2MjfRS8M0WVYpY4hoSvOOB7MUz7YKZwEGqj8="; + }; + + cargoHash = "sha256-yT/ZK5GG0rXpiaCQlQclK2iY8BXhhmiW/UDX9aL8wBQ="; + + nativeBuildInputs = [ + installShellFiles + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd planus \ + --bash <($out/bin/planus generate-completions bash) \ + --fish <($out/bin/planus generate-completions fish) \ + --zsh <($out/bin/planus generate-completions zsh) + ''; + + meta = with lib; { + description = "An alternative compiler for flatbuffers"; + homepage = "https://github.com/planus-org/planus"; + changelog = "https://github.com/planus-org/planus/blob/v${version}/CHANGELOG.md"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1008c0c5d95..5702258aa873 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -19059,6 +19059,8 @@ with pkgs; picotool = callPackage ../development/tools/picotool { }; + planus = callPackage ../development/tools/misc/planus { }; + pmccabe = callPackage ../development/tools/misc/pmccabe { }; pkgconf-unwrapped = callPackage ../development/tools/misc/pkgconf { };