mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-20 11:05:14 +00:00
ocamlPackages.rope: refactor
- remove legacy version 0.5 (broken) - disable for OCaml ≥ 5.0
This commit is contained in:
parent
aeb0d80c45
commit
d74ed5ebb0
@ -1,45 +1,24 @@
|
||||
{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, dune_2, benchmark }:
|
||||
{ lib, fetchurl, ocaml, buildDunePackage, benchmark }:
|
||||
|
||||
let param =
|
||||
if lib.versionAtLeast ocaml.version "4.03"
|
||||
then rec {
|
||||
version = "0.6.2";
|
||||
url = "https://github.com/Chris00/ocaml-rope/releases/download/${version}/rope-${version}.tbz";
|
||||
sha256 = "15cvfa0s1vjx7gjd07d3fkznilishqf4z4h2q5f20wm9ysjh2h2i";
|
||||
nativeBuildInputs = [ dune_2 ];
|
||||
extra = {
|
||||
buildPhase = "dune build -p rope";
|
||||
installPhase = ''
|
||||
dune install --prefix $out --libdir $OCAMLFIND_DESTDIR rope
|
||||
'';
|
||||
};
|
||||
} else {
|
||||
version = "0.5";
|
||||
url = "https://forge.ocamlcore.org/frs/download.php/1156/rope-0.5.tar.gz";
|
||||
sha256 = "05fr2f5ch2rqhyaj06rv5218sbg99p1m9pq5sklk04hpslxig21f";
|
||||
nativeBuildInputs = [ ocamlbuild ];
|
||||
extra = { createFindlibDestdir = true; };
|
||||
};
|
||||
in
|
||||
lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
|
||||
"rope is not available for OCaml ${ocaml.version}"
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
pname = "ocaml${ocaml.version}-rope";
|
||||
inherit (param) version;
|
||||
buildDunePackage rec {
|
||||
pname = "rope";
|
||||
version = "0.6.2";
|
||||
minimalOCamlVersion = "4.03";
|
||||
|
||||
src = fetchurl {
|
||||
inherit (param) url sha256;
|
||||
url = "https://github.com/Chris00/ocaml-rope/releases/download/${version}/rope-${version}.tbz";
|
||||
sha256 = "15cvfa0s1vjx7gjd07d3fkznilishqf4z4h2q5f20wm9ysjh2h2i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ] ++ param.nativeBuildInputs;
|
||||
buildInputs = [ benchmark ] ;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://rope.forge.ocamlcore.org/";
|
||||
inherit (ocaml.meta) platforms;
|
||||
description = ''Ropes ("heavyweight strings") in OCaml'';
|
||||
homepage = "https://github.com/Chris00/ocaml-rope";
|
||||
description = "Ropes (“heavyweight strings”) in OCaml";
|
||||
license = lib.licenses.lgpl21;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
} // param.extra)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user