ocamlPackages.containers: 1.4 → 2.6.1

ocamlPackages.sequence/iter: 1.1 → 1.2.1

Ensures compatibility with OCaml 4.08
This commit is contained in:
Vincent Laporte 2019-09-20 05:29:05 +00:00
parent 59a07abdb2
commit 424c20414a
No known key found for this signature in database
GPG Key ID: EBD582ADDDB1F81F
3 changed files with 22 additions and 52 deletions

@ -1,53 +1,26 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, cppo, gen, sequence, qtest, ounit, result
, qcheck }:
{ lib, fetchFromGitHub, buildDunePackage, ocaml
, iter, result, uchar
, gen, mdx, ounit, qcheck, uutf
}:
let
mkpath = p:
"${p}/lib/ocaml/${ocaml.version}/site-lib";
version = "1.4";
in
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-containers-${version}";
buildDunePackage rec {
version = "2.6.1";
pname = "containers";
src = fetchFromGitHub {
owner = "c-cube";
repo = "ocaml-containers";
rev = version;
sha256 = "1wbarxphdrxvy7qsdp4p837h1zrv0z83pgs5lbz2h3kdnyvz2f1i";
sha256 = "02iq01pq6047hab5s8zpprwr21cygvzfcfj2lpsyj823f28crhmv";
};
buildInputs = [ ocaml findlib ocamlbuild cppo gen sequence qtest ounit qcheck ];
buildInputs = [ iter ];
propagatedBuildInputs = [ result ];
checkInputs = lib.optionals doCheck [ gen mdx ounit qcheck uutf ];
preConfigure = ''
# The following is done so that the '#use "topfind"' directive works in the ocaml top-level
export HOME="$(mktemp -d)"
export OCAML_TOPLEVEL_PATH="${mkpath findlib}"
cat <<EOF > $HOME/.ocamlinit
let () =
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
with Not_found -> ()
;;
EOF
'';
propagatedBuildInputs = [ result uchar ];
configureFlags = [
"--enable-unix"
"--enable-thread"
"--enable-tests"
"--enable-docs"
"--disable-bench"
];
doCheck = true;
checkTarget = "test";
createFindlibDestdir = true;
doCheck = !lib.versionAtLeast ocaml.version "4.08";
meta = {
homepage = https://github.com/c-cube/ocaml-containers;
@ -62,7 +35,6 @@ EOF
It also features optional libraries for dealing with strings, and
helpers for unix and threads.
'';
license = stdenv.lib.licenses.bsd2;
platforms = ocaml.meta.platforms or [];
license = lib.licenses.bsd2;
};
}

@ -1,22 +1,20 @@
{ stdenv, fetchFromGitHub, buildDunePackage, qtest, result }:
{ lib, fetchFromGitHub, buildDunePackage, ocaml, mdx, qtest, result }:
buildDunePackage rec {
pname = "sequence";
version = "1.1";
minimumOCamlVersion = "4.02";
pname = "iter";
version = "1.2.1";
src = fetchFromGitHub {
owner = "c-cube";
repo = pname;
rev = version;
sha256 = "08j37nldw47syq3yw4mzhhvya43knl0d7biddp0q9hwbaxhzgi44";
sha256 = "0j2sg50byn0ppmf6l36ksip7zx1d3gv7sc4hbbxs2rmx39jr7vxh";
};
buildInputs = [ qtest ];
buildInputs = lib.optionals doCheck [ mdx qtest ];
propagatedBuildInputs = [ result ];
doCheck = true;
doCheck = lib.versionAtLeast ocaml.version "4.04";
meta = {
homepage = https://github.com/c-cube/sequence;
@ -27,6 +25,6 @@ buildDunePackage rec {
like `filter`, `map`, `take`, `drop` and `append` can be performed before the
sequence is iterated/folded on.
'';
license = stdenv.lib.licenses.bsd2;
license = lib.licenses.bsd2;
};
}

@ -304,6 +304,8 @@ let
iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
iter = callPackage ../development/ocaml-modules/iter { };
javalib = callPackage ../development/ocaml-modules/javalib {
extlib = ocaml_extlib;
};
@ -621,8 +623,6 @@ let
seq = callPackage ../development/ocaml-modules/seq { };
sequence = callPackage ../development/ocaml-modules/sequence { };
spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { };
sqlexpr = callPackage ../development/ocaml-modules/sqlexpr { };