From 01495f325506dbf233c9142429ad0dd6a2d0a0cc Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 24 Aug 2017 17:49:05 +0000 Subject: [PATCH] ocamlPackages.js_of_ocaml-compiler: init at 0.3.0 --- .../ocaml/js_of_ocaml-compiler/default.nix | 35 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/tools/ocaml/js_of_ocaml-compiler/default.nix diff --git a/pkgs/development/tools/ocaml/js_of_ocaml-compiler/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml-compiler/default.nix new file mode 100644 index 00000000000..11df26818c1 --- /dev/null +++ b/pkgs/development/tools/ocaml/js_of_ocaml-compiler/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder +, cmdliner, cppo, yojson +}: + +if !stdenv.lib.versionAtLeast ocaml.version "4.02" +then throw "js_of_ocaml-compiler is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation rec { + name = "js_of_ocaml-compiler-${version}"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "ocsigen"; + repo = "js_of_ocaml"; + rev = version; + sha256 = "17w1pqjk521jd4yp34miyif0cxjxchnw59xhj188qfl635ykb4k8"; + }; + + buildInputs = [ ocaml findlib jbuilder cmdliner cppo ]; + + propagatedBuildInputs = [ yojson ]; + + buildPhase = "jbuilder build -p js_of_ocaml-compiler"; + + inherit (jbuilder) installPhase; + + meta = { + description = "Compiler from OCaml bytecode to Javascript"; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (src.meta) homepage; + inherit (ocaml.meta) platforms; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 29f3ae51a0a..9462eb3d3da 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -272,6 +272,8 @@ let js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { lwt = lwt2; }; + js_of_ocaml-compiler = callPackage ../development/tools/ocaml/js_of_ocaml-compiler {}; + jsonm = callPackage ../development/ocaml-modules/jsonm { }; lablgl = callPackage ../development/ocaml-modules/lablgl { };