about summary refs log tree commit diff
path: root/third_party/bufbuild/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/bufbuild/default.nix')
-rw-r--r--third_party/bufbuild/default.nix29
1 files changed, 29 insertions, 0 deletions
diff --git a/third_party/bufbuild/default.nix b/third_party/bufbuild/default.nix
new file mode 100644
index 000000000000..12683b1062a8
--- /dev/null
+++ b/third_party/bufbuild/default.nix
@@ -0,0 +1,29 @@
+# buf.build is a Protobuf linter and breaking change detector.
+# Several binaries are produced.
+{ pkgs, lib, ... }:
+
+pkgs.buildGoModule {
+  pname = "buf";
+  version = "v0.20.1";
+  vendorSha256 = "1gg5c7aiqb4w1zxwsraxxpln33xkmkzlp1h69xgi9i08zvrfipqs";
+
+  src = pkgs.fetchFromGitHub {
+    owner = "bufbuild";
+    repo = "buf";
+    rev = "5e8bf4c800de911764ffdf8d2188b7f6f54476e4";
+    sha256 = "1rni5swfnb4sbrd9rls4mc3902xhqrlsja96lfcdfjzx08g6kg20";
+  };
+
+  doCheck = false;
+
+  # TODO(riking): postinstall produce shell completions for bash, fish, zsh
+  # bin/buf bash-completion
+  # bin/buf zsh-completion
+  # # bin/buf manpages # not yet functional
+
+  meta = with lib; {
+    description = "Protobuf linter and breaking change detector";
+    homepage = "https://buf.build/docs/introduction";
+    license = licenses.asl20;
+  };
+}