[bug#33879] gnu: Add ocaml-biniou.

Message ID 87r2e4w1mv.fsf@gmail.com
State Accepted
Headers show
Series [bug#33879] gnu: Add ocaml-biniou. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Gabriel Hondet Dec. 26, 2018, 7 p.m. UTC
* gnu/packages/ocaml.scm (ocaml-biniou): New variable.
---
 gnu/packages/ocaml.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

Comments

Julien Lepiller Dec. 27, 2018, 8:50 a.m. UTC | #1
Pushed as 2939fe7b3cb5a53daebab7b7734e29be3ba8d153, thank you!

I've modified the definition to use the dune-build-system, as that's
what used by the opam file anyway. In that case, no need to add jbuild
as an input, it's added implicitely (well, actually it's dune, but it
works).

Patch

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 603db34db..4cfd203bd 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5044,3 +5044,44 @@  dependent types.  The λΠ-calculus modulo theory is itself an extension of the
 rules.  This system is not designed to develop proofs, but to check proofs
 developed in other systems.  In particular, it enjoys a minimalistic syntax.")
     (license license:cecill-c)))
+
+(define-public ocaml-biniou
+ (package
+   (name "ocaml-biniou")
+   (version "1.2.0")
+   (home-page "https://github.com/mjambon/biniou")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append home-page ".git"))
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0mjpgwyfq2b2izjw0flmlpvdjgqpq8shs89hxj1np2r50csr8dcb"))))
+   (build-system ocaml-build-system)
+   (inputs
+    `(("ocaml-easy-format" ,ocaml-easy-format)))
+   (native-inputs
+    `(("which" ,which)
+      ("ocaml-jbuilder" ,ocaml-jbuilder)))
+   (arguments
+    '(#:phases
+      (modify-phases %standard-phases
+        (delete 'configure)
+        (replace 'install
+          ;; install target in makefile is missing from this version
+          (lambda _
+            (invoke "jbuilder" "install"
+                    (string-append "--prefix="
+                                   (assoc-ref %outputs "out"))))))))
+   (synopsis "Data format designed for speed, safety, ease of use and backward
+compatibility")
+   (description "Biniou (pronounced \"be new\" is a binary data format
+designed for speed, safety, ease of use and backward compatibility as
+protocols evolve.  Biniou is vastly equivalent to JSON in terms of
+functionality but allows implementations several times faster (4 times faster
+than yojson), with 25-35% space savings.")
+   (license license:bsd-3)))
+