2020-08-19 17:40:55 +01:00
|
|
|
{ lib, fetchFromGitHub, stdenv
|
2021-04-02 07:49:42 +01:00
|
|
|
, findlib, ocaml, ocamlbuild
|
2020-08-19 17:40:55 +01:00
|
|
|
}:
|
|
|
|
|
2023-07-24 06:14:51 +01:00
|
|
|
lib.throwIf (lib.versionOlder ocaml.version "4.02")
|
|
|
|
"sosa is not available for OCaml ${ocaml.version}"
|
2021-04-02 07:49:42 +01:00
|
|
|
|
2020-08-19 17:40:55 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2022-02-06 22:35:27 +00:00
|
|
|
pname = "ocaml${ocaml.version}-sosa";
|
2020-08-19 17:40:55 +01:00
|
|
|
version = "0.3.0";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "hammerlab";
|
|
|
|
repo = "sosa";
|
|
|
|
rev = "sosa.${version}";
|
|
|
|
sha256 = "053hdv6ww0q4mivajj4iyp7krfvgq8zajq9d8x4mia4lid7j0dyk";
|
|
|
|
};
|
|
|
|
|
2023-07-24 06:14:51 +01:00
|
|
|
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
|
|
|
|
'';
|
|
|
|
|
2022-02-22 09:59:04 +00:00
|
|
|
nativeBuildInputs = [ ocaml ocamlbuild findlib ];
|
|
|
|
|
|
|
|
strictDeps = true;
|
2020-08-19 17:40:55 +01:00
|
|
|
|
|
|
|
buildPhase = "make build";
|
|
|
|
|
|
|
|
createFindlibDestdir = true;
|
|
|
|
|
|
|
|
doCheck = true;
|
|
|
|
|
|
|
|
meta = with lib; {
|
2021-11-10 10:37:56 +00:00
|
|
|
homepage = "http://www.hammerlab.org/docs/sosa/master/index.html";
|
2020-08-19 17:40:55 +01:00
|
|
|
description = "Sane OCaml String API";
|
|
|
|
license = licenses.isc;
|
|
|
|
maintainers = [ maintainers.alexfmpe ];
|
|
|
|
};
|
|
|
|
}
|