5b3290333a
Pull in patches from https://github.com/ygrek/ocaml-extlib/pull/55 which add support for OCaml 4.12. These patches are also included in extlib 1.7.8, however extlib 1.7.8 includes some API changes which break for example google-drive-ocamlfuse. Therefore we follow the opam repository and patch our default extlib version: https://github.com/ocaml/opam-repository/pull/18041
36 lines
1.1 KiB
Nix
36 lines
1.1 KiB
Nix
{ stdenv, lib, fetchurl, fetchpatch, ocaml, findlib, cppo, minimal ? true }:
|
|
|
|
assert lib.versionAtLeast (lib.getVersion ocaml) "3.11";
|
|
|
|
stdenv.mkDerivation {
|
|
name = "ocaml${ocaml.version}-extlib-1.7.7";
|
|
|
|
src = fetchurl {
|
|
url = "http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.7.tar.gz";
|
|
sha256 = "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1";
|
|
};
|
|
|
|
patches = [
|
|
(fetchpatch {
|
|
url = "https://github.com/ygrek/ocaml-extlib/pull/55.patch";
|
|
sha256 = "0mj3xii56rh8j8brdyv5d06rbs6jjjcy4ib9chafkq3f3sbq795p";
|
|
})
|
|
];
|
|
|
|
buildInputs = [ ocaml findlib cppo ];
|
|
|
|
createFindlibDestdir = true;
|
|
|
|
dontConfigure = true; # Skip configure
|
|
# De facto, option minimal=1 seems to be the default. See the README.
|
|
buildPhase = "make ${if minimal then "minimal=1" else ""} build";
|
|
installPhase = "make ${if minimal then "minimal=1" else ""} install";
|
|
|
|
meta = {
|
|
homepage = "https://github.com/ygrek/ocaml-extlib";
|
|
description = "Enhancements to the OCaml Standard Library modules";
|
|
license = lib.licenses.lgpl21;
|
|
platforms = ocaml.meta.platforms or [];
|
|
};
|
|
}
|