diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 41da5bc9ae48..eeef17db5b17 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -15215,6 +15215,12 @@ githubId = 74881555; name = "Fofanov Sergey"; }; + sitaaax = { + email = "johannes@kle1n.com"; + github = "SitAAAx"; + githubId = 74413170; + name = "Johannes Klein"; + }; sivteck = { email = "sivaram1992@gmail.com"; github = "sivteck"; diff --git a/pkgs/development/tools/protoc-gen-prost-crate/default.nix b/pkgs/development/tools/protoc-gen-prost-crate/default.nix new file mode 100644 index 000000000000..8503e9266944 --- /dev/null +++ b/pkgs/development/tools/protoc-gen-prost-crate/default.nix @@ -0,0 +1,25 @@ +{ fetchCrate +, lib +, rustPlatform +, protobuf +}: + +rustPlatform.buildRustPackage rec { + pname = "protoc-gen-prost-crate"; + version = "0.3.1"; + + src = fetchCrate { + inherit pname version; + sha256 = "sha256-MtGeU2PnVYPXb3nly2UaryjmjMz1lxcvYDjFiwf58FA="; + }; + + cargoSha256 = "sha256-dcKJRX/iHIWEmBD2nTMyQozxld8b7dhxxB85quPUysg="; + + meta = with lib; { + description = "A protoc plugin that generates Cargo crates and include files for `protoc-gen-prost`"; + homepage = "https://github.com/neoeinstein/protoc-gen-prost"; + changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ felschr sitaaax ]; + }; +} diff --git a/pkgs/development/tools/protoc-gen-prost-serde/default.nix b/pkgs/development/tools/protoc-gen-prost-serde/default.nix new file mode 100644 index 000000000000..843dc4fc684b --- /dev/null +++ b/pkgs/development/tools/protoc-gen-prost-serde/default.nix @@ -0,0 +1,25 @@ +{ fetchCrate +, lib +, rustPlatform +, protobuf +}: + +rustPlatform.buildRustPackage rec { + pname = "protoc-gen-prost-serde"; + version = "0.2.3"; + + src = fetchCrate { + inherit pname version; + sha256 = "sha256-V2Z6m9y/bBwrr1mgKXKZjVg+LqTe+GalN/AeaICyE64="; + }; + + cargoSha256 = "sha256-l27+Rs4TYIJXZVLj7Tjw8M5+7ivWEY0TXbLtbuzwxLw="; + + meta = with lib; { + description = "A protoc plugin that generates serde serialization implementations for `protoc-gen-prost`"; + homepage = "https://github.com/neoeinstein/protoc-gen-prost"; + changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ felschr sitaaax ]; + }; +} diff --git a/pkgs/development/tools/protoc-gen-prost/default.nix b/pkgs/development/tools/protoc-gen-prost/default.nix new file mode 100644 index 000000000000..645ecdee3081 --- /dev/null +++ b/pkgs/development/tools/protoc-gen-prost/default.nix @@ -0,0 +1,25 @@ +{ fetchCrate +, lib +, rustPlatform +, protobuf +}: + +rustPlatform.buildRustPackage rec { + pname = "protoc-gen-prost"; + version = "0.2.3"; + + src = fetchCrate { + inherit pname version; + sha256 = "sha256-QTt5mSUe41r2fxrgWj1l6fHC/utMVIgMi2ySsdGyl/Y="; + }; + + cargoSha256 = "sha256-ghXcyxG9zqUOFKGvUza29OgC3XiEtesqsAsfI/lFT08="; + + meta = with lib; { + description = "Protocol Buffers compiler plugin powered by Prost"; + homepage = "https://github.com/neoeinstein/protoc-gen-prost"; + changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ felschr sitaaax ]; + }; +} diff --git a/pkgs/development/tools/protoc-gen-tonic/default.nix b/pkgs/development/tools/protoc-gen-tonic/default.nix new file mode 100644 index 000000000000..7bc6fa52e54d --- /dev/null +++ b/pkgs/development/tools/protoc-gen-tonic/default.nix @@ -0,0 +1,25 @@ +{ fetchCrate +, lib +, rustPlatform +, protobuf +}: + +rustPlatform.buildRustPackage rec { + pname = "protoc-gen-tonic"; + version = "0.3.0"; + + src = fetchCrate { + inherit pname version; + sha256 = "sha256-jgU1XvUxIrZ72dLNPqDGHCONMlHsjW4k4vkO626iqxs="; + }; + + cargoSha256 = "sha256-FrkvL/uJitMkSyOytVSmlwr26yMVM12S2n+EaSw11CE="; + + meta = with lib; { + description = "A protoc plugin that generates Tonic gRPC server and client code using the Prost code generation engine"; + homepage = "https://github.com/neoeinstein/protoc-gen-prost"; + changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ felschr sitaaax ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f193bb8a6afd..4492c01918a3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -682,8 +682,16 @@ with pkgs; protoc-gen-connect-go = callPackage ../development/tools/protoc-gen-connect-go { }; + protoc-gen-prost = callPackage ../development/tools/protoc-gen-prost { }; + + protoc-gen-prost-crate = callPackage ../development/tools/protoc-gen-prost-crate { }; + + protoc-gen-prost-serde = callPackage ../development/tools/protoc-gen-prost-serde { }; + protoc-gen-rust = callPackage ../development/tools/protoc-gen-rust { }; + protoc-gen-tonic = callPackage ../development/tools/protoc-gen-tonic { }; + protoc-gen-twirp = callPackage ../development/tools/protoc-gen-twirp { }; protoc-gen-twirp_php = callPackage ../development/tools/protoc-gen-twirp_php { };