From d9e14697fd967770ce30fb54ce127ec521fc43f7 Mon Sep 17 00:00:00 2001 From: divoplade Date: Tue, 1 Jun 2021 20:23:25 +0000 Subject: [PATCH] gnu: Add ocaml-js-of-ocaml. * gnu/packages/ocaml.scm (ocaml-js-of-ocaml): New variable. Co-Authored-By: pukkamustard Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 765c02118a..dcfe8ce391 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -61,6 +61,7 @@ (define-module (gnu packages ocaml) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) + #:use-module (gnu packages node) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -6951,3 +6952,43 @@ (define-public ocaml-graphics Graphics.open_graph is called. This library used to be distributed with OCaml up to OCaml 4.08.") (license license:lgpl2.1+))) + +(define-public js-of-ocaml + (package + (name "js-of-ocaml") + (version "3.9.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocsigen/js_of_ocaml") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00hdjaj94j3nc6f6wbbpx59h4yc79siphs34i1hry11r56paaqyk")))) + (build-system dune-build-system) + (arguments `(#:test-target ".")) + (propagated-inputs + `(("ocaml-ppxlib" ,ocaml-ppxlib) + ("ocaml-uchar" ,ocaml-uchar) + ("ocaml-menhir" ,ocaml-menhir) + ("ocaml-reactivedata" ,ocaml-reactivedata) + ("ocaml-cmdliner" ,ocaml-cmdliner) + ("ocaml-lwt" ,ocaml-lwt) + ("ocaml-tyxml" ,ocaml-tyxml) + ("ocaml-re" ,ocaml-re) + ("ocaml-uutf" ,ocaml-uutf) + ("ocaml-graphics" ,ocaml-graphics) + ("ocaml-yojson" ,ocaml-yojson))) + (native-inputs + ;; for tests + `(("node" ,node) + ("ocaml-ppx-expect" ,ocaml-ppx-expect) + ("ocaml-num" ,ocaml-num))) + (properties `((upstream-name . "js_of_ocaml"))) + (home-page "https://ocsigen.org/js_of_ocaml/") + (synopsis "Compiler from OCaml bytecode to Javascript") + (description "Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. +It makes it possible to run pure OCaml programs in JavaScript environment like +browsers and Node.js.") + (license license:lgpl2.1+)))