nixpkgs/pkgs/development/ocaml-modules/extlib/default.nix
sternenseemann 5b3290333a ocamlPackages.ocaml_extlib: add support for OCaml 4.12
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
2021-03-16 19:10:29 +01:00

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 [];
};
}