mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 04:43:09 +03:00
add utop (improved ocaml toplevel)
This commit is contained in:
parent
328469aa06
commit
d7b67d8cfa
46
pkgs/development/tools/ocaml/utop/default.nix
Normal file
46
pkgs/development/tools/ocaml/utop/default.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{stdenv, fetchurl, ocaml, findlib, lambdaTerm, ocaml_lwt, makeWrapper,
|
||||
ocaml_react, camomile, zed
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.14";
|
||||
name = "utop-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = https://github.com/diml/utop/archive/1.14.tar.gz;
|
||||
sha256 = "17dqinvdrpba2fjs7sl6gxs47rrx6j8a5bbjhc7flp6bdls898zk";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib makeWrapper];
|
||||
|
||||
propagatedBuildInputs = [ lambdaTerm ocaml_lwt ];
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
buildPhase = ''
|
||||
make
|
||||
make doc
|
||||
'';
|
||||
|
||||
postFixup =
|
||||
let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
|
||||
in
|
||||
''
|
||||
wrapProgram "$out"/bin/utop --set CAML_LD_LIBRARY_PATH "${ocaml_lwt}"/lib/ocaml/${ocamlVersion}/site-lib/lwt/:"${lambdaTerm}"/lib/ocaml/${ocamlVersion}/site-lib/lambda-term/:'$CAML_LD_LIBRARY_PATH' --set OCAMLPATH "${ocaml_lwt}"/lib/ocaml/${ocamlVersion}/site-lib:${ocaml_react}/lib/ocaml/${ocamlVersion}/site-lib:${camomile}/lib/ocaml/${ocamlVersion}/site-lib:${zed}/lib/ocaml/${ocamlVersion}/site-lib:${lambdaTerm}/lib/ocaml/${ocamlVersion}/site-lib:"$out"/lib/ocaml/${ocamlVersion}/site-lib:'$OCAMLPATH'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Universal toplevel for OCaml";
|
||||
longDescription = ''
|
||||
utop is an improved toplevel for OCaml. It can run in a terminal or in Emacs. It supports line edition, history, real-time and context sensitive completion, colors, and more.
|
||||
|
||||
It integrates with the tuareg mode in Emacs.
|
||||
'';
|
||||
homepage = https://github.com/diml/utop;
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = ocaml.meta.platforms;
|
||||
maintainers = [
|
||||
stdenv.lib.maintainers.gal_bolle
|
||||
];
|
||||
};
|
||||
}
|
@ -3362,6 +3362,8 @@ let
|
||||
opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { };
|
||||
opam = opam_1_1;
|
||||
|
||||
utop = callPackage ../development/tools/ocaml/utop { };
|
||||
|
||||
sawja = callPackage ../development/ocaml-modules/sawja { };
|
||||
|
||||
uucd = callPackage ../development/ocaml-modules/uucd { };
|
||||
|
Loading…
Reference in New Issue
Block a user