5e9e1146e1
GitOrigin-RevId: 18036c0be90f4e308ae3ebcab0e14aae0336fe42
42 lines
1,012 B
Nix
42 lines
1,012 B
Nix
{ lib, fetchFromGitHub, stdenv
|
|
, findlib, ocaml, ocamlbuild
|
|
}:
|
|
|
|
lib.throwIf (lib.versionOlder ocaml.version "4.02")
|
|
"sosa is not available for OCaml ${ocaml.version}"
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "ocaml${ocaml.version}-sosa";
|
|
version = "0.3.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "hammerlab";
|
|
repo = "sosa";
|
|
rev = "sosa.${version}";
|
|
sha256 = "053hdv6ww0q4mivajj4iyp7krfvgq8zajq9d8x4mia4lid7j0dyk";
|
|
};
|
|
|
|
postPatch = lib.optionalString (lib.versionAtLeast ocaml.version "4.07") ''
|
|
for p in functors list_of of_mutable
|
|
do
|
|
substituteInPlace src/lib/$p.ml --replace Pervasives. Stdlib.
|
|
done
|
|
'';
|
|
|
|
nativeBuildInputs = [ ocaml ocamlbuild findlib ];
|
|
|
|
strictDeps = true;
|
|
|
|
buildPhase = "make build";
|
|
|
|
createFindlibDestdir = true;
|
|
|
|
doCheck = true;
|
|
|
|
meta = with lib; {
|
|
homepage = "http://www.hammerlab.org/docs/sosa/master/index.html";
|
|
description = "Sane OCaml String API";
|
|
license = licenses.isc;
|
|
maintainers = [ maintainers.alexfmpe ];
|
|
};
|
|
}
|