nixpkgs/pkgs/development/ocaml-modules/reason-native/default.nix
superherointj 2efd63b87c ocamlPackages.reason-native: init 2020-07-18-a33f152
Adds 10 Reason Native packages:
    * reason-native-console
    * reason-native-dir
    * reason-native-file-context-printer
    * reason-native-fp
    * reason-native-pastel
    * reason-native-pastel-console
    * reason-native-qcheck-rely
    * reason-native-refmterr
    * reason-native-rely
    * reason-native-rely-junit-reporter
2021-06-16 17:47:58 +02:00

44 lines
1.6 KiB
Nix

{ newScope, lib, fetchFromGitHub, callPackage, buildDunePackage, atdgen, junit, qcheck-core, re, reason, reason-native }:
let
generic = (somePath:
let
prepkg = import somePath {
inherit callPackage cli buildDunePackage atdgen junit qcheck-core re reason;
inherit (reason-native) console file-context-printer fp pastel rely;
};
in
buildDunePackage
({
version = "2021-16-16-aec0ac6";
src = fetchFromGitHub {
owner = "reasonml";
repo = "reason-native";
rev = "aec0ac681be7211b4d092262281689c46deb63e1";
sha256 = "sha256-QoyI50MBY3RJBmM1y90n7oXrLmHe0CQxKojv+7YbegE=";
};
useDune2 = true;
meta = with lib; {
description = "Libraries for building and testing native Reason programs";
downloadPage = "https://github.com/reasonml/reason-native";
homepage = "https://reason-native.com/";
license = licenses.mit;
maintainers = with maintainers; [ superherointj ];
} // (prepkg.meta or {});
} // prepkg)
);
cli = generic ./cli.nix; # Used only by Rely.
in
lib.makeScope newScope (self: with self; {
console = generic ./console.nix;
dir = generic ./dir.nix;
file-context-printer = generic ./file-context-printer.nix;
fp = generic ./fp.nix;
pastel = generic ./pastel.nix;
pastel-console = generic ./pastel-console.nix;
qcheck-rely = generic ./qcheck-rely.nix;
refmterr = generic ./refmterr.nix;
rely = generic ./rely.nix;
rely-junit-reporter = generic ./rely-junit-reporter.nix;
})