gnu: Add ronn-ng
[jackhill/guix/guix.git] / gnu / packages / rpc.scm
index 28c61b5..e261709 100644 (file)
   #:use-module (guix download)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (gnu packages adns)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
@@ -42,7 +48,7 @@
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/grpc/grpc.git")
+                    (url "https://github.com/grpc/grpc")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -118,7 +124,7 @@ browsers to backend services.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/grpc/grpc.git")
+                    (url "https://github.com/grpc/grpc")
                     (commit (string-append "v" version))))
               (file-name (git-file-name "grpc" version))
               (sha256
@@ -192,3 +198,46 @@ browsers to backend services.")
     (description "This package provides a Python library for communicating
 with the HTTP/2-based RPC framework gRPC.")
     (license license:asl2.0)))
+
+(define-public apache-thrift
+  (package
+    (name "apache-thrift")
+    (version "0.13.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/apache/thrift")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "17ckl7p7s3ga33yrjisilsimp80ansqxl54wvpkv0j7vx2zvc13y"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f
+       #:configure-flags
+       (list (string-append "--with-boost="
+                            (assoc-ref %build-inputs "boost")))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("flex" ,flex)
+       ("bison" ,bison)))
+    (inputs
+     `(("boost" ,boost)
+       ("libressl" ,libressl)))
+    (outputs '("out" "lib" "include"))
+    (home-page "https://thrift.apache.org/")
+    (synopsis
+     "Lightweight, language-independent software stack for point-to-point
+RPC")
+    (description
+     "Thrift provides clean abstractions and implementations for data
+transport, data serialization, and application level processing.  The code
+generation system takes a simple definition language as input and generates
+code across programming languages that uses the abstracted stack to build
+interoperable RPC clients and servers.")
+    (license license:asl2.0)))