summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-08-30 20:21:29 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-08-31 09:23:38 -0400
commit2d2821672ae92677b850250e08564ad5368cf7a5 (patch)
tree92eb2eff998db78c68bfefa217c7c2a8fc07a07d /gnu
parente57e7eaea072bfb45a73dc26e82f9d8f048cf452 (diff)
downloadguix-2d2821672ae92677b850250e08564ad5368cf7a5.tar.gz
gnu: Add python-grpcio-tools.
* gnu/packages/rpc.scm (python-grpcio-tools): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/rpc.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm
index 0b02d09ad7..a1728f2d78 100644
--- a/gnu/packages/rpc.scm
+++ b/gnu/packages/rpc.scm
@@ -213,6 +213,34 @@ browsers to backend services.")
 with the HTTP/2-based RPC framework gRPC.")
     (license license:asl2.0)))
 
+(define-public python-grpcio-tools
+  (package
+    (name "python-grpcio-tools")
+    (version "1.47.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "grpcio-tools" version))
+              (modules '((guix build utils)))
+              (snippet
+               ;; This file is auto-generated.
+               '(delete-file "grpc_tools/_protoc_compiler.cpp"))
+              (sha256
+               (base32
+                "0g3xwv55lvf5w64zb44dipwqz7729cbqc7rib77ddqab91w56jzn"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'configure
+                          (lambda _
+                            (setenv "GRPC_PYTHON_BUILD_WITH_CYTHON" "1"))))))
+    (native-inputs (list python-cython))
+    (propagated-inputs (list python-grpcio python-protobuf))
+    (home-page "https://grpc.io")
+    (synopsis "Protobuf code generator for gRPC")
+    (description "The gRPC tools for Python provide a special plugin for
+generating server and client code from @file{.proto} service definitions.")
+    (license license:asl2.0)))
+
 (define-public apache-thrift
   (package
     (name "apache-thrift")