lol
at 22.05-pre 38 lines 1.2 kB view raw
1{ lib, stdenv, fetchFromGitHub, which, ocamlPackages }: 2 3stdenv.mkDerivation rec { 4 pname = "eff"; 5 version = "5.0"; 6 7 src = fetchFromGitHub { 8 owner = "matijapretnar"; 9 repo = "eff"; 10 rev = "v${version}"; 11 sha256 = "1fslfj5d7fhj3f7kh558b8mk5wllwyq4rnhfkyd96fpy144sdcka"; 12 }; 13 14 postPatch = '' 15 substituteInPlace setup.ml --replace js_of_ocaml.ocamlbuild js_of_ocaml-ocamlbuild 16 ''; 17 18 buildInputs = [ which ] ++ (with ocamlPackages; [ 19 ocaml findlib ocamlbuild menhir js_of_ocaml js_of_ocaml-ocamlbuild 20 ]); 21 22 doCheck = true; 23 checkTarget = "test"; 24 25 meta = with lib; { 26 homepage = "https://www.eff-lang.org"; 27 description = "A functional programming language based on algebraic effects and their handlers"; 28 longDescription = '' 29 Eff is a functional language with handlers of not only exceptions, 30 but also of other computational effects such as state or I/O. With 31 handlers, you can simply implement transactions, redirections, 32 backtracking, multi-threading, and much more... 33 ''; 34 license = licenses.bsd2; 35 inherit (ocamlPackages.ocaml.meta) platforms; 36 maintainers = [ maintainers.jirkamarsik ]; 37 }; 38}