On Mon, 30 Jan 2017 10:22:13 +0100
l...@gnu.org (Ludovic Courtès) wrote:

> Julien Lepiller <jul...@lepiller.eu> skribis:
> 
> > +++ b/gnu/packages/patches/ocaml-janestreet-fix-libdir.patch
> > @@ -0,0 +1,39 @@
> > +This patch adds a --libdir option to opam-installer so it installs
> > the plugin +in the specified directory rather than in the default
> > one (ocaml's directory in +the store, which is forbidden).
> > +diff -aur package.pristine/Makefile package.new/Makefile
> > +--- package.pristine/Makefile      2016-02-06 01:55:14.650150309
> > +0100 ++++ package.new/Makefile     2016-02-06
> > 01:57:56.012174364 +0100 +@@ -29,26 +29,26 @@
> > +   ocaml -I js-utils js-utils/gen_install.ml
> > +
> > + install: $(NAME).install
> > +-  opam-installer -i --prefix $(PREFIX) $(NAME).install
> > ++  opam-installer -i --prefix $(PREFIX) --libdir $(LIBDIR)
> > $(NAME).install +
> > + uninstall: $(NAME).install
> > +-  opam-installer -u --prefix $(PREFIX) $(NAME).install
> > ++  opam-installer -u --prefix $(PREFIX) --libdir $(LIBDIR)
> > $(NAME).install  
> 
> On second thought, I think it’d be simpler and more maintainable to do
> this as a substitution in the snippet.
> 
> WDYT?
> 
> (It will also avoid ‘guix lint’ complaints about the patch file name
> not matching the package name.  :-))
> 
> Ludo’.

Sure, here it is :)
>From 8cd3ba3a3f9702a89f8f52c75c33d3d02f20f60b Mon Sep 17 00:00:00 2001
From: Julien Lepiller <jul...@lepiller.eu>
Date: Fri, 30 Dec 2016 16:27:27 +0100
Subject: [PATCH 2/2] gnu: Add ocaml-bin-prot.

* gnu/packages/ocaml.scm (ocaml-bin-prot): New variable.
---
 gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6e1e745fe..9d2e02f7f 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2004,3 +2004,24 @@ from the oasis build log
 @item a @code{js_build_tools} ocamlbuild plugin with various goodies.
 @end enumerate")
     (license license:asl2.0)))
+
+(define-public ocaml-bin-prot
+  (package
+    (name "ocaml-bin-prot")
+    (version "113.33.03")
+    (source (janestreet-origin "bin_prot" version
+               "1ws8c017z8nbj3vw92ndvjk9011f71rmp3llncbv8r5fc76wqv3l"))
+    (native-inputs
+     `(("js-build-tools" ,ocaml-js-build-tools)
+       ("opam" ,opam)))
+    (build-system ocaml-build-system)
+    (arguments janestreet-arguments)
+    (home-page "https://github.com/janestreet/bin_prot/";)
+    (synopsis "Binary protocol generator")
+    (description "This library contains functionality for reading and writing
+OCaml-values in a type-safe binary protocol.  It is extremely efficient,
+typically supporting type-safe marshalling and unmarshalling of even highly
+structured values at speeds sufficient to saturate a gigabit connection.  The
+protocol is also heavily optimized for size, making it ideal for long-term
+storage of large amounts of data.")
+    (license license:asl2.0)))
-- 
2.11.0

Reply via email to