From 96b9fdaa3573e73a615a2ee919c1f2c7cd04ab28 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 22 Jul 2018 06:11:39 +0000 Subject: [PATCH] ocamlPackages.bigstringaf: init at 0.3.0 Bigstring intrinsics and fast blits based on memcpy/memmove homepage: https://github.com/inhabitedtype/bigstringaf --- .../ocaml-modules/bigstringaf/default.nix | 32 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/development/ocaml-modules/bigstringaf/default.nix diff --git a/pkgs/development/ocaml-modules/bigstringaf/default.nix b/pkgs/development/ocaml-modules/bigstringaf/default.nix new file mode 100644 index 000000000000..21a0e3943923 --- /dev/null +++ b/pkgs/development/ocaml-modules/bigstringaf/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, alcotest }: + +if !stdenv.lib.versionAtLeast ocaml.version "4.03" +then throw "bigstringaf is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation rec { + version = "0.3.0"; + name = "ocaml${ocaml.version}-bigstringaf-${version}"; + + src = fetchFromGitHub { + owner = "inhabitedtype"; + repo = "bigstringaf"; + rev = version; + sha256 = "1yx6hv8rk0ldz1h6kk00rwg8abpfc376z00aifl9f5rn7xavpscs"; + }; + + buildInputs = [ ocaml findlib jbuilder alcotest ]; + + doCheck = true; + checkPhase = "dune runtest"; + + inherit (jbuilder) installPhase; + + meta = { + description = "Bigstring intrinsics and fast blits based on memcpy/memmove"; + license = stdenv.lib.licenses.bsd3; + 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 003f21aa81aa..fcf7e1487dd0 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -71,6 +71,8 @@ let batteries = callPackage ../development/ocaml-modules/batteries { }; + bigstringaf = callPackage ../development/ocaml-modules/bigstringaf { }; + bitstring = callPackage ../development/ocaml-modules/bitstring { }; bitv = callPackage ../development/ocaml-modules/bitv { };