diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix new file mode 100644 index 00000000000..03ea4a29330 --- /dev/null +++ b/pkgs/development/ocaml-modules/wasm/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild }: + +if !stdenv.lib.versionAtLeast ocaml.version "4.02" +then throw "wasm is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation rec { + name = "ocaml${ocaml.version}-wasm-${version}"; + version = "0.13"; + + src = fetchFromGitHub { + owner = "WebAssembly"; + repo = "spec"; + rev = "v${version}"; + sha256 = "0l67w1dmhgzrhmw3pw2w35h54imax0zdpa9yyqppzzbagxgn87kn"; + }; + + buildInputs = [ ocaml findlib ocamlbuild ]; + + makeFlags = [ "-C" "interpreter" ]; + + createFindlibDestdir = true; + + meta = { + description = "An OCaml library to read and write Web Assembly (wasm) files and manipulate their AST"; + license = stdenv.lib.licenses.asl20; + 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 a50f996b7cc..492b22c0552 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -612,6 +612,8 @@ let vg = callPackage ../development/ocaml-modules/vg { }; + wasm = callPackage ../development/ocaml-modules/wasm { }; + x509 = callPackage ../development/ocaml-modules/x509 { }; xmlm = callPackage ../development/ocaml-modules/xmlm { };