2024-06-05 15:53:02 +00:00
|
|
|
{ lib, fetchurl, fetchpatch, ocaml, buildDunePackage
|
|
|
|
, version ? if lib.versionAtLeast ocaml.version "5.0" then "0.6.3" else "0.6.2"
|
|
|
|
, benchmark
|
|
|
|
}:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
buildDunePackage {
|
2023-07-15 17:15:38 +00:00
|
|
|
pname = "rope";
|
2024-06-05 15:53:02 +00:00
|
|
|
inherit version;
|
2023-07-15 17:15:38 +00:00
|
|
|
minimalOCamlVersion = "4.03";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
2023-07-15 17:15:38 +00:00
|
|
|
url = "https://github.com/Chris00/ocaml-rope/releases/download/${version}/rope-${version}.tbz";
|
2024-06-05 15:53:02 +00:00
|
|
|
hash = {
|
|
|
|
"0.6.2" = "sha256:15cvfa0s1vjx7gjd07d3fkznilishqf4z4h2q5f20wm9ysjh2h2i";
|
|
|
|
"0.6.3" = "sha256-M14fiP9BDiz3WEoMqAJqZaXk4PoZ8Z1YjOk+F97z05Y=";
|
|
|
|
}."${version}";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
2022-03-05 16:20:37 +00:00
|
|
|
buildInputs = [ benchmark ] ;
|
|
|
|
|
2024-06-05 15:53:02 +00:00
|
|
|
patches = lib.optional (version == "0.6.3") (fetchpatch {
|
|
|
|
url = "https://github.com/Chris00/ocaml-rope/commit/be53daa18dd3d1450a92881b33c997eafb1dc958.patch";
|
|
|
|
hash = "sha256-fHJNfD1ph3+QLmVJ8C4hhJ8hvrWIh7D0EL0XhOW2yqQ=";
|
|
|
|
});
|
|
|
|
|
2020-04-24 23:36:52 +00:00
|
|
|
meta = {
|
2023-07-15 17:15:38 +00:00
|
|
|
homepage = "https://github.com/Chris00/ocaml-rope";
|
|
|
|
description = "Ropes (“heavyweight strings”) in OCaml";
|
2021-01-15 22:18:51 +00:00
|
|
|
license = lib.licenses.lgpl21;
|
2022-07-14 12:49:19 +00:00
|
|
|
maintainers = with lib.maintainers; [ ];
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
2023-07-15 17:15:38 +00:00
|
|
|
}
|