diff --git a/pkgs/development/ocaml-modules/lem/default.nix b/pkgs/development/ocaml-modules/lem/default.nix new file mode 100644 index 00000000000..39952366dba --- /dev/null +++ b/pkgs/development/ocaml-modules/lem/default.nix @@ -0,0 +1,45 @@ +{ stdenv +, fetchFromGitHub +, lib +, ncurses +, makeWrapper +, ocamlbuild +, findlib +, ocaml +, num +, zarith +}: + +lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") + "lem is not available for OCaml ${ocaml.version}" + +stdenv.mkDerivation rec { + pname = "ocaml${ocaml.version}-lem"; + version = "2022-12-10"; + + src = fetchFromGitHub { + owner = "rems-project"; + repo = "lem"; + rev = version; + hash = "sha256-ZQgcuIVRkJS0KtpzjbO4OPHGg6B0TadWA6XpRir30y8="; + }; + + nativeBuildInputs = [ makeWrapper ocamlbuild findlib ocaml ]; + propagatedBuildInputs = [ zarith num ]; + + installFlags = [ "INSTALL_DIR=$(out)" ]; + + createFindlibDestdir = true; + + postInstall = '' + wrapProgram $out/bin/lem --set LEMLIB $out/share/lem/library + ''; + + meta = with lib; { + homepage = "https://github.com/rems-project/lem"; + description = "A tool for lightweight executable mathematics"; + maintainers = with maintainers; [ genericnerdyusername ]; + license = with licenses; [ bsd3 gpl2 ]; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 77580b9a32f..6c70185c0cb 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -743,6 +743,8 @@ let lastfm = callPackage ../development/ocaml-modules/lastfm { }; + lem = callPackage ../development/ocaml-modules/lem { }; + lens = callPackage ../development/ocaml-modules/lens { }; letsencrypt = callPackage ../development/ocaml-modules/letsencrypt { };