summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2019-09-20 05:29:05 +0000
committerVincent Laporte <Vincent.Laporte@gmail.com>2019-09-20 05:29:05 +0000
commit424c20414a310fbefa0c32fe5341bc38aa4134d2 (patch)
tree83e9ef12b79b0567f291d3b4164bda38791c2cc2 /pkgs
parent59a07abdb2ce466d37c745e3daa19649e35c2f86 (diff)
downloadnixpkgs-424c20414a310fbefa0c32fe5341bc38aa4134d2.tar
nixpkgs-424c20414a310fbefa0c32fe5341bc38aa4134d2.tar.gz
nixpkgs-424c20414a310fbefa0c32fe5341bc38aa4134d2.tar.bz2
nixpkgs-424c20414a310fbefa0c32fe5341bc38aa4134d2.tar.lz
nixpkgs-424c20414a310fbefa0c32fe5341bc38aa4134d2.tar.xz
nixpkgs-424c20414a310fbefa0c32fe5341bc38aa4134d2.tar.zst
nixpkgs-424c20414a310fbefa0c32fe5341bc38aa4134d2.zip
ocamlPackages.containers: 1.4 → 2.6.1
ocamlPackages.sequence/iter: 1.1 → 1.2.1

Ensures compatibility with OCaml 4.08
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix54
-rw-r--r--pkgs/development/ocaml-modules/iter/default.nix (renamed from pkgs/development/ocaml-modules/sequence/default.nix)16
-rw-r--r--pkgs/top-level/ocaml-packages.nix4
3 files changed, 22 insertions, 52 deletions
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index 98fd7fc46cf..1b465c2984e 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -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 ];
-
-  propagatedBuildInputs = [ result ];
-
-  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
-  '';
+  buildInputs = [ iter ];
 
-  configureFlags = [
-    "--enable-unix"
-    "--enable-thread"
-    "--enable-tests"
-    "--enable-docs"
-    "--disable-bench"
-  ];
+  checkInputs = lib.optionals doCheck [ gen mdx ounit qcheck uutf ];
 
-  doCheck = true;
-  checkTarget = "test";
+  propagatedBuildInputs = [ result uchar ];
 
-  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;
   };
 }
diff --git a/pkgs/development/ocaml-modules/sequence/default.nix b/pkgs/development/ocaml-modules/iter/default.nix
index e5ead36d1c1..eb2ca1409ab 100644
--- a/pkgs/development/ocaml-modules/sequence/default.nix
+++ b/pkgs/development/ocaml-modules/iter/default.nix
@@ -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;
   };
 }
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 728f6f7712d..66e92f47d11 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -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 { };