aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/rpc.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm
index 28c61b54f9..de7d08ae4d 100644
--- a/gnu/packages/rpc.scm
+++ b/gnu/packages/rpc.scm
@@ -25,10 +25,16 @@
#: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)
@@ -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.git")
+ (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)))