summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2017-09-21 20:47:40 +0200
committerJulien Lepiller <julien@lepiller.eu>2017-09-27 21:26:19 +0200
commitfc3d70ae543db7a1e22d29057febc7cfda9a00a0 (patch)
treebe9a2422d0b25090e0053583134168666cc2065e /gnu
parent8a238180fd6d2919fb88c378a9852189661a22c9 (diff)
downloadguix-fc3d70ae543db7a1e22d29057febc7cfda9a00a0.tar.gz
gnu: Add ocaml-piqi.
* gnu/packages/ocaml.scm (ocaml-piqi): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/ocaml.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 52294d10da..0c32e47d59 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -47,6 +47,7 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
@@ -3418,6 +3419,38 @@ and 4 (random based) according to RFC 4122.")
     (description "OCamlgraph is a generic graph library for OCaml.")
     (license license:lgpl2.1)))
 
+(define-public ocaml-piqi
+  (package
+    (name "ocaml-piqi")
+    (version "0.7.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/alavrik/piqi-ocaml/"
+                                  "archive/v" version ".tar.gz"))
+              (sha256
+               (base32
+                "0ngz6y8i98i5v2ma8nk6mc83pdsmf2z0ks7m3xi6clfg3zqbddrv"))))
+    (build-system ocaml-build-system)
+    (arguments
+     `(#:make-flags
+       (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
+             (string-append "SHELL=" (assoc-ref %build-inputs "bash")
+                            "/bin/sh"))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure))))
+    (native-inputs
+     `(("which" ,which)
+       ("protobuf" ,protobuf))) ; for tests
+    (propagated-inputs
+     `(("piqilib" ,ocaml-piqilib)))
+    (home-page "https://github.com/alavrik/piqi-ocaml")
+    (synopsis "Protocol serialization system for OCaml")
+    (description "Piqi is a multi-format data serialization system for OCaml.
+It provides a uniform interface for serializing OCaml data structures to JSON,
+XML and Protocol Buffers formats.")
+    (license license:asl2.0)))
+
 (define-public coq-flocq
   (package
     (name "coq-flocq")