2017-05-29 03:06:55 +01:00
|
|
|
{ stdenv, fetchzip, ocaml, findlib, yojson, lib
|
2015-01-29 06:45:39 +00:00
|
|
|
, withEmacsMode ? false, emacs }:
|
2014-09-21 11:02:55 +01:00
|
|
|
|
|
|
|
assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.00";
|
|
|
|
|
2016-07-20 13:53:33 +01:00
|
|
|
let
|
|
|
|
version = if lib.versionOlder (lib.getVersion ocaml) "4.02.0"
|
|
|
|
then
|
|
|
|
"2.3.1"
|
|
|
|
else
|
2017-05-29 03:06:55 +01:00
|
|
|
"2.5.4";
|
2016-07-20 13:53:33 +01:00
|
|
|
hashes = {
|
|
|
|
"2.3.1" = "192jamcc7rmvadlqqsjkzsl6hlgwhg9my1qc89fxh1lmd4qdsrpn";
|
2017-05-29 03:06:55 +01:00
|
|
|
"2.5.4" = "101vk16c5wayd51s8w0mvy99bk7q3gm2gz8i8616wa1lmyszjknh";
|
2016-07-20 13:53:33 +01:00
|
|
|
};
|
|
|
|
in
|
2015-01-29 06:45:39 +00:00
|
|
|
|
2014-07-05 16:29:21 +01:00
|
|
|
stdenv.mkDerivation {
|
|
|
|
|
2015-01-29 06:45:39 +00:00
|
|
|
name = "merlin-${version}";
|
2014-07-05 16:29:21 +01:00
|
|
|
|
2015-01-29 06:45:39 +00:00
|
|
|
src = fetchzip {
|
|
|
|
url = "https://github.com/the-lambda-church/merlin/archive/v${version}.tar.gz";
|
2016-07-20 13:53:33 +01:00
|
|
|
sha256 = hashes."${version}";
|
2014-07-05 16:29:21 +01:00
|
|
|
};
|
|
|
|
|
2017-05-29 03:06:55 +01:00
|
|
|
buildInputs = [ ocaml findlib yojson ]
|
2014-11-03 13:29:13 +00:00
|
|
|
++ stdenv.lib.optional withEmacsMode emacs;
|
2014-07-05 16:29:21 +01:00
|
|
|
|
2014-11-03 13:29:13 +00:00
|
|
|
preConfigure = "mkdir -p $out/bin";
|
2014-07-05 16:29:21 +01:00
|
|
|
prefixKey = "--prefix ";
|
2014-11-03 13:29:13 +00:00
|
|
|
configureFlags = stdenv.lib.optional withEmacsMode "--enable-compiled-emacs-mode";
|
2014-07-05 16:29:21 +01:00
|
|
|
|
2014-09-21 11:02:55 +01:00
|
|
|
meta = with stdenv.lib; {
|
2014-09-10 00:28:49 +01:00
|
|
|
description = "An editor-independent tool to ease the development of programs in OCaml";
|
2017-08-01 21:03:30 +01:00
|
|
|
homepage = http://the-lambda-church.github.io/merlin/;
|
2014-09-21 11:02:55 +01:00
|
|
|
license = licenses.mit;
|
|
|
|
maintainers = [ maintainers.vbgl ];
|
2014-07-05 16:29:21 +01:00
|
|
|
};
|
|
|
|
}
|