summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2016-08-12 13:42:16 +0100
committerLeo Famulari <leo@famulari.name>2016-08-23 11:58:35 -0400
commit557d3328984ae97147af5f9e8c6d6653912ac5b6 (patch)
treef08a0ee9e494eb8c55b61335a3ca74493ebb9ee5 /gnu/packages
parent432360d76f5c3e4093cf158823a323253d14f1e2 (diff)
downloadguix-557d3328984ae97147af5f9e8c6d6653912ac5b6.tar.gz
gnu: Add capnproto.
* gnu/packages/serialization.scm (capnproto): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/serialization.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index c3ce5c5f89..4a3278fb9f 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 David Craven <david@craven.ch>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -170,3 +171,32 @@ including serialization and deserialization to and from strings.  It can also
 preserve existing comment in unserialization/serialization steps, making
 it a convenient format to store user input files.")
     (license license:expat)))
+
+(define-public capnproto
+  (package
+    (name "capnproto")
+    (version "0.5.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://capnproto.org/capnproto-c++-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1yvaadhgakskqq5wpv53hd6fc3pp17mrdldw4i5cvgck4iwprcfd"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'do-not-require-/etc/services
+           (lambda _
+             ;; Workaround for test that tries to resolve port name from
+             ;; /etc/services, which is not present in build environment.
+             (substitute* "src/kj/async-io-test.c++" ((":http") ":80"))
+             #t)))))
+    (home-page "https://capnproto.org")
+    (synopsis "Capability-based RPC and serialization system")
+    (description
+     "Cap'n Proto is a very fast data interchange format and capability-based
+RPC system.  Think JSON, except binary.  Or think Protocol Buffers, except faster.")
+    (license license:expat)))