diff options
Diffstat (limited to 'nixpkgs/pkgs/development/ocaml-modules/mirage-flow')
3 files changed, 65 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/combinators.nix b/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/combinators.nix new file mode 100644 index 000000000000..5500d0551253 --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/combinators.nix @@ -0,0 +1,15 @@ +{ buildDunePackage, mirage-flow, fmt, lwt, logs, cstruct, mirage-clock }: + +buildDunePackage { + pname = "mirage-flow-combinators"; + + inherit (mirage-flow) version src; + + duneVersion = "3"; + + propagatedBuildInputs = [ lwt logs cstruct mirage-clock mirage-flow ]; + + meta = mirage-flow.meta // { + description = "Flow implementations and combinators for MirageOS specialized to lwt"; + }; +} diff --git a/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/default.nix new file mode 100644 index 000000000000..6b454512915b --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/default.nix @@ -0,0 +1,25 @@ +{ lib, buildDunePackage, fetchurl, cstruct, fmt, lwt }: + +buildDunePackage rec { + pname = "mirage-flow"; + version = "3.0.0"; + + duneVersion = "3"; + minimalOCamlVersion = "4.05"; + + src = fetchurl { + url = "https://github.com/mirage/mirage-flow/releases/download/v${version}/mirage-flow-v${version}.tbz"; + hash = "sha256-1wvabIXsJ0e+2IvE2V8mnSgQUDuSkT8IB75SkWlhOPw="; + }; + + propagatedBuildInputs = [ cstruct fmt lwt ]; + + meta = { + description = "Flow implementations and combinators for MirageOS"; + homepage = "https://github.com/mirage/mirage-flow"; + license = lib.licenses.isc; + maintainers = [ lib.maintainers.vbgl ]; + }; +} + + diff --git a/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/unix.nix b/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/unix.nix new file mode 100644 index 000000000000..12681911a3de --- /dev/null +++ b/nixpkgs/pkgs/development/ocaml-modules/mirage-flow/unix.nix @@ -0,0 +1,25 @@ +{ buildDunePackage, fmt, logs, mirage-flow, ocaml_lwt, cstruct +, alcotest, mirage-flow-combinators +}: + +buildDunePackage { + pname = "mirage-flow-unix"; + + inherit (mirage-flow) version src; + + duneVersion = "3"; + + # Make tests compatible with alcotest 1.4.0 + postPatch = '' + substituteInPlace test/test.ml --replace 'Fmt.kstrf Alcotest.fail' 'Fmt.kstrf (fun s -> Alcotest.fail s)' + ''; + + propagatedBuildInputs = [ fmt logs mirage-flow ocaml_lwt cstruct ]; + + doCheck = true; + checkInputs = [ alcotest mirage-flow-combinators ]; + + meta = mirage-flow.meta // { + description = "Flow implementations and combinators for MirageOS on Unix"; + }; +} |