summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules')
-rw-r--r--pkgs/development/ocaml-modules/alcotest/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/bitstring/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/comparelib/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/cstruct/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/expat/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/herelib/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix73
-rw-r--r--pkgs/development/ocaml-modules/lwt/legacy.nix57
-rw-r--r--pkgs/development/ocaml-modules/lwt/ppx.nix19
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/ocp-ocamlres/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-deriving/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/optcomp/META12
-rw-r--r--pkgs/development/ocaml-modules/optcomp/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/pa_bench/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pa_ounit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pipebang/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_derivers/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ssl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/stdint/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/type_conv/112.01.01.nix4
-rw-r--r--pkgs/development/ocaml-modules/uchar/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix4
26 files changed, 212 insertions, 97 deletions
diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix
index 80e34ecd06ac..000ff8285c53 100644
--- a/pkgs/development/ocaml-modules/alcotest/default.nix
+++ b/pkgs/development/ocaml-modules/alcotest/default.nix
@@ -4,8 +4,8 @@
 
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
-    version = "0.8.1";
-    sha256 = "1bjhgwmshlaz9xncrrkknys7prigf8vlg1kqvfx9l8kn92mlf10b";
+    version = "0.8.2";
+    sha256 = "1zpg079v89mz2dpnh59f9hk5r03wl26skfn43llrv3kg24abjfpf";
     buildInputs = [ jbuilder ];
     buildPhase = "jbuilder build -p alcotest";
     inherit (jbuilder) installPhase;
diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix
index 7e9ba518251c..b13eda071f62 100644
--- a/pkgs/development/ocaml-modules/bitstring/default.nix
+++ b/pkgs/development/ocaml-modules/bitstring/default.nix
@@ -2,10 +2,10 @@
 
 buildOcaml rec {
   name = "bitstring";
-  version = "2.1.0";
+  version = "2.1.1";
   src = fetchurl {
-    url = http://github.com/xguerin/bitstring/archive/v2.1.0.tar.gz;
-    sha256 = "0miw4banfpmx4kxrckpqr57b1fcmsqdmspyjx6gqjd4kghm4l7xj";
+    url = http://github.com/xguerin/bitstring/archive/v2.1.1.tar.gz;
+    sha256 = "0vy8ibrxccii1jbsk5q6yh1kxjigqvi7lhhcmizvd5gfhf7mfyc8";
   };
 
   patches = [ ./camlp4-git.patch ./srcdir.patch ];
diff --git a/pkgs/development/ocaml-modules/comparelib/default.nix b/pkgs/development/ocaml-modules/comparelib/default.nix
index 950012158142..8192fced97be 100644
--- a/pkgs/development/ocaml-modules/comparelib/default.nix
+++ b/pkgs/development/ocaml-modules/comparelib/default.nix
@@ -2,13 +2,13 @@
 
 buildOcaml rec {
   name = "comparelib";
-  version = "109.60.00";
+  version = "113.00.00";
 
   minimumSupportedOcamlVersion = "4.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/comparelib/archive/${version}.tar.gz";
-    sha256 = "1075fb05e0d1e290f71ad0f6163f32b2cb4cebdc77568491c7eb38ba91f5db7e";
+    sha256 = "02l343drgi4200flfx73nzdk61zajwidsqjk9n80b2d37lvhazlf";
   };
 
   propagatedBuildInputs = [ type_conv ];
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index ef930007aff4..214721fa0906 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -6,7 +6,7 @@ let
   mkpath = p:
       "${p}/lib/ocaml/${ocaml.version}/site-lib";
 
-  version = "1.3";
+  version = "1.4";
 
 in
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     owner = "c-cube";
     repo = "ocaml-containers";
     rev = "${version}";
-    sha256 = "1gjs9d6759zpgp68djv296zwmvhdc6dqfb27aip7dhj6ic2bwgil";
+    sha256 = "1wbarxphdrxvy7qsdp4p837h1zrv0z83pgs5lbz2h3kdnyvz2f1i";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild cppo gen sequence qtest ounit qcheck ];
diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix
index 976ff697c98f..0f5380f9a41f 100644
--- a/pkgs/development/ocaml-modules/cstruct/default.nix
+++ b/pkgs/development/ocaml-modules/cstruct/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-cstruct-${version}";
-  version = "3.0.2";
+  version = "3.1.1";
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-cstruct/releases/download/v${version}/cstruct-${version}.tbz";
-    sha256 = "03caxcyzfjmbnnwa15zy9s1ckkl4sc834d1qkgi4jcs3zqchvd8z";
+    sha256 = "1x4jxsvd1lrfibnjdjrkfl7hqsc48rljnwbap6faanj9qhwwa6v2";
   };
 
   unpackCmd = "tar -xjf $curSrc";
diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix
index 575ca45624f3..6058c87e7bd5 100644
--- a/pkgs/development/ocaml-modules/expat/default.nix
+++ b/pkgs/development/ocaml-modules/expat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
 	name = "ocaml${ocaml.version}-expat-${version}";
-	version = "1.0.0";
+	version = "1.1.0";
 
 	src = fetchFromGitHub {
 		owner = "whitequark";
 		repo = "ocaml-expat";
 		rev = "v${version}";
-		sha256 = "0rb47v08ra2hhh73p3d8sl4sizqwiwc37gnkl22b23sbwbjrpbz0";
+		sha256 = "07wm9663z744ya6z2lhiz5hbmc76kkipg04j9vw9dqpd1y1f2x3q";
 	};
 
 	prePatch = ''
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index 6c2cb894b542..e1c56bf7ebe5 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -3,11 +3,11 @@
 assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.11";
 
 stdenv.mkDerivation {
-  name = "ocaml-extlib-1.7.2";
+  name = "ocaml-extlib-1.7.4";
 
   src = fetchurl {
-    url = http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.2.tar.gz;
-    sha256 = "0r7mhfgh6n5chj9r12s2x1fxrzvh6nm8h80ykl1mr75j86za41bm";
+    url = http://ygrek.org.ua/p/release/ocaml-extlib/extlib-1.7.4.tar.gz;
+    sha256 = "18jb4rvkk6p3mqnkamwb41x8q49shgn43h020bs4cp4vac7nrhnr";
   };
 
   buildInputs = [ ocaml findlib cppo ];
diff --git a/pkgs/development/ocaml-modules/herelib/default.nix b/pkgs/development/ocaml-modules/herelib/default.nix
index 716e31b2bfe2..c9a40b61437a 100644
--- a/pkgs/development/ocaml-modules/herelib/default.nix
+++ b/pkgs/development/ocaml-modules/herelib/default.nix
@@ -1,14 +1,14 @@
 {stdenv, buildOcaml, fetchurl}:
 
 buildOcaml rec {
-  version = "109.35.02";
+  version = "112.35.00";
   name = "herelib";
 
   minimumSupportedOcamlVersion = "4.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/herelib/archive/${version}.tar.gz";
-    sha256 = "7f8394169cb63f6d41e91c9affa1b8ec240d5f6e9dfeda3fbb611df521d4b05a";
+    sha256 = "03rrlpjmnd8d1rzzmd112355m7a5bwn3vf90xkbc6gkxlad9cxbs";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 53ba904f628e..37bcff375ea9 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -1,57 +1,36 @@
-{ stdenv, buildOcaml, fetchzip, which, cryptopp, ocaml, findlib, ocamlbuild, camlp4
-, react, ssl, libev, pkgconfig, ncurses, glib
-, ppx_tools, result, cppo
-, ppxSupport ? stdenv.lib.versionAtLeast ocaml.version "4.02"
-, version ? if stdenv.lib.versionAtLeast ocaml.version "4.02" then "2.7.1" else "2.6.0"
+{ stdenv, fetchzip, pkgconfig, ncurses, libev, jbuilder
+, ocaml, findlib, camlp4, cppo
+, ocaml-migrate-parsetree, ppx_tools_versioned, result
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4"
-then throw "lwt is not available for OCaml ${ocaml.version}"
-else
-
-let sha256 = {
-  "3.0.0" = "0wwhnl9hppixcsdisinj1wmffx0nv6hkpm01z9qvkngkrazi3i88";
-  "2.7.1" = "0w7f59havrl2fsnvs84lm7wlqpsrldg80gy5afpnpr21zkw22g8w";
-  "2.6.0" = "0f1h83zh60rspm4fxd96z9h5bkhq1n1q968hgq92sq4a6bfi1c2w";
-}."${version}"; in
-
-let optionals = stdenv.lib.optionals (!stdenv.lib.versionAtLeast version "3"); in
-
-buildOcaml rec {
-  name = "lwt";
-  inherit version;
+stdenv.mkDerivation rec {
+  version = "3.3.0";
+  name = "ocaml${ocaml.version}-lwt-${version}";
 
   src = fetchzip {
     url = "https://github.com/ocsigen/lwt/archive/${version}.tar.gz";
-    inherit sha256;
+    sha256 = "0n87hcyl4svy0risj439wyfq6bl77qxq3nraqgdr1qbz5lskbq2j";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ which cryptopp ocaml findlib ocamlbuild glib ncurses camlp4 cppo ]
-  ++ stdenv.lib.optional ppxSupport ppx_tools;
-
-  propagatedBuildInputs = [ result ]
-  ++ optionals [ react ssl ]
-  ++ [ libev ];
+  preConfigure = ''
+    ocaml src/util/configure.ml -use-libev true -use-camlp4 true
+  '';
 
-  configureScript = "ocaml setup.ml -configure";
-  prefixKey = "--prefix ";
-  configureFlags =
-  optionals [ "--enable-glib" "--enable-ssl" "--enable-react" ]
-  ++ [ "--enable-camlp4" ]
-  ++ [ (if ppxSupport then "--enable-ppx" else "--disable-ppx") ];
-
-  createFindlibDestdir = true;
-
-  hasSharedObjects = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://ocsigen.org/lwt;
-    description = "Lightweight thread library for Objective Caml";
-    license = licenses.lgpl21;
-    platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [
-      z77z vbgl gal_bolle
-    ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ ncurses ocaml findlib jbuilder camlp4 cppo
+    ocaml-migrate-parsetree ppx_tools_versioned ];
+  propagatedBuildInputs = [ libev result ];
+
+  installPhase = ''
+    ocaml src/util/install_filter.ml
+    ${jbuilder.installPhase}
+  '';
+
+  meta = {
+    homepage = "https://ocsigen.org/lwt/";
+    description = "A cooperative threads library for OCaml";
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = stdenv.lib.licenses.lgpl21;
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lwt/legacy.nix b/pkgs/development/ocaml-modules/lwt/legacy.nix
new file mode 100644
index 000000000000..53ba904f628e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwt/legacy.nix
@@ -0,0 +1,57 @@
+{ stdenv, buildOcaml, fetchzip, which, cryptopp, ocaml, findlib, ocamlbuild, camlp4
+, react, ssl, libev, pkgconfig, ncurses, glib
+, ppx_tools, result, cppo
+, ppxSupport ? stdenv.lib.versionAtLeast ocaml.version "4.02"
+, version ? if stdenv.lib.versionAtLeast ocaml.version "4.02" then "2.7.1" else "2.6.0"
+}:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4"
+then throw "lwt is not available for OCaml ${ocaml.version}"
+else
+
+let sha256 = {
+  "3.0.0" = "0wwhnl9hppixcsdisinj1wmffx0nv6hkpm01z9qvkngkrazi3i88";
+  "2.7.1" = "0w7f59havrl2fsnvs84lm7wlqpsrldg80gy5afpnpr21zkw22g8w";
+  "2.6.0" = "0f1h83zh60rspm4fxd96z9h5bkhq1n1q968hgq92sq4a6bfi1c2w";
+}."${version}"; in
+
+let optionals = stdenv.lib.optionals (!stdenv.lib.versionAtLeast version "3"); in
+
+buildOcaml rec {
+  name = "lwt";
+  inherit version;
+
+  src = fetchzip {
+    url = "https://github.com/ocsigen/lwt/archive/${version}.tar.gz";
+    inherit sha256;
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ which cryptopp ocaml findlib ocamlbuild glib ncurses camlp4 cppo ]
+  ++ stdenv.lib.optional ppxSupport ppx_tools;
+
+  propagatedBuildInputs = [ result ]
+  ++ optionals [ react ssl ]
+  ++ [ libev ];
+
+  configureScript = "ocaml setup.ml -configure";
+  prefixKey = "--prefix ";
+  configureFlags =
+  optionals [ "--enable-glib" "--enable-ssl" "--enable-react" ]
+  ++ [ "--enable-camlp4" ]
+  ++ [ (if ppxSupport then "--enable-ppx" else "--disable-ppx") ];
+
+  createFindlibDestdir = true;
+
+  hasSharedObjects = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://ocsigen.org/lwt;
+    description = "Lightweight thread library for Objective Caml";
+    license = licenses.lgpl21;
+    platforms = ocaml.meta.platforms or [];
+    maintainers = with maintainers; [
+      z77z vbgl gal_bolle
+    ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lwt/ppx.nix b/pkgs/development/ocaml-modules/lwt/ppx.nix
new file mode 100644
index 000000000000..3cf08d06f1eb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lwt/ppx.nix
@@ -0,0 +1,19 @@
+{ stdenv, jbuilder, ocaml, findlib, lwt, ppx_tools_versioned }:
+
+stdenv.mkDerivation {
+  name = "ocaml${ocaml.version}-lwt_ppx-${lwt.version}";
+
+  inherit (lwt) src;
+
+  buildInputs = [ jbuilder ocaml findlib ppx_tools_versioned ];
+
+  propagatedBuildInputs = [ lwt ];
+
+  buildPhase = "jbuilder build -p lwt_ppx";
+  installPhase = "${jbuilder.installPhase} lwt_ppx.install";
+
+  meta = {
+    description = "Ppx syntax extension for Lwt";
+    inherit (lwt.meta) license platforms homepage maintainers;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index 573de26096cd..492bb9c67cdf 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig, ncurses, ocaml, findlib, ocaml_pcre, camlzip
-, gnutls, nettle }:
+, gnutls, nettle, fetchpatch
+}:
 
 let version = "4.1.5"; in
 
@@ -11,6 +12,12 @@ stdenv.mkDerivation {
     sha256 = "1ppcd2zjhj6s3ib9q8dngnr53qlmkhvv7a8hzp88r79k6jygn4cm";
   };
 
+  patches = [ (fetchpatch {
+      url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/ocamlnet/ocamlnet.4.1.5/files/netgzip.patch";
+      sha256 = "1say7zzgk24qcy9m91gcfgvz4fv7nksx4j5qnbxyq8wqw0g88ba0";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ncurses ocaml findlib ocaml_pcre camlzip gnutls nettle ];
 
diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
index bf0e98ec1952..6410eb296283 100644
--- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
+++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
@@ -1,16 +1,20 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, pprint }:
+{ stdenv, fetchFromGitHub, ocaml, findlib, astring, pprint }:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "ocp-ocamlres is not available for OCaml ${ocaml.version}"
+else
 
 stdenv.mkDerivation rec {
 	name = "ocaml${ocaml.version}-ocp-ocamlres-${version}";
-	version = "0.3";
+	version = "0.4";
 	src = fetchFromGitHub {
 		owner = "OCamlPro";
 		repo = "ocp-ocamlres";
 		rev = "v${version}";
-		sha256 = "0pm1g38f6pmch1x4pcc09ky587x5g7p7n9dfbbif8zkjqr603ixg";
+		sha256 = "0smfwrj8qhzknhzawygxi0vgl2af4vyi652fkma59rzjpvscqrnn";
 	};
 
-	buildInputs = [ ocaml findlib pprint ];
+	buildInputs = [ ocaml findlib astring pprint ];
 	createFindlibDestdir = true;
 
 	installFlags = [ "BINDIR=$(out)/bin" ];
diff --git a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
index 653445617958..569f5081355c 100644
--- a/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-deriving/default.nix
@@ -1,15 +1,30 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4 }:
+{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4
+, num
+}:
 
-let version = "0.7.1"; in
+let param =
+  if stdenv.lib.versionAtLeast ocaml.version "4.03"
+  then {
+    version = "0.8.1";
+    sha256 = "03vzrybdpjydbpil97zmir71kpsn2yxkjnzysma7fvybk8ll4zh9";
+    buildInputs = [ num ];
+  } else {
+    version = "0.7.1";
+    sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
+  };
+in
+
+let inherit (param) version; in
 
 stdenv.mkDerivation {
   name = "ocsigen-deriving-${version}";
   src = fetchzip {
     url = "https://github.com/ocsigen/deriving/archive/${version}.tar.gz";
-    sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
-    };
+    inherit (param) sha256;
+  };
 
-  buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ];
+  buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ]
+  ++ (param.buildInputs or []);
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/optcomp/META b/pkgs/development/ocaml-modules/optcomp/META
new file mode 100644
index 000000000000..8a942288f752
--- /dev/null
+++ b/pkgs/development/ocaml-modules/optcomp/META
@@ -0,0 +1,12 @@
+# OASIS_START
+# DO NOT EDIT (digest: ec844fa3189acb2a866b89a69d111ba4)
+version = "1.6"
+description = "Optional compilation with cpp-like directives"
+requires = "camlp4"
+archive(syntax, preprocessor) = "optcomp.cma"
+archive(syntax, toploop) = "optcomp.cma"
+archive(syntax, preprocessor, native) = "optcomp.cmxa"
+archive(syntax, preprocessor, native, plugin) = "optcomp.cmxs"
+exists_if = "optcomp.cma"
+# OASIS_STOP
+
diff --git a/pkgs/development/ocaml-modules/optcomp/default.nix b/pkgs/development/ocaml-modules/optcomp/default.nix
index 8953373954a5..5b5661377471 100644
--- a/pkgs/development/ocaml-modules/optcomp/default.nix
+++ b/pkgs/development/ocaml-modules/optcomp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, camlp4 }:
+{ stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, camlp4 }:
 
 stdenv.mkDerivation {
   name = "ocaml-optcomp-1.6";
@@ -6,11 +6,33 @@ stdenv.mkDerivation {
     url = https://github.com/diml/optcomp/archive/1.6.tar.gz;
     sha256 = "0hhhb2gisah1h22zlg5iszbgqxdd7x85cwd57bd4mfkx9l7dh8jh";
   };
+
+  patches =
+    let inherit (stdenv.lib) optional versionAtLeast; in
+    optional (versionAtLeast ocaml.version "4.02") (fetchpatch {
+      url = "https://github.com/diml/optcomp/commit/b7f809360c9794b383a4bc0492f6df381276b429.patch";
+      sha256 = "1n095lk94jq1rwi0l24g2wbgms7249wdd31n0ji895dr6755s93y";
+    })
+  ;
   
   createFindlibDestdir = true;
 
   buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
 
+  configurePhase = ''
+    cp ${./META} META
+  '';
+
+  buildPhase = ''
+    ocamlbuild src/optcomp.cmxs src/optcomp.cma src/optcomp_o.native src/optcomp_r.native
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp _build/src/optcomp_o.native $out/bin/optcomp-o
+    cp _build/src/optcomp_r.native $out/bin/optcomp-r
+    ocamlfind install optcomp META _build/src/optcomp.{a,cma,cmxa,cmxs} _build/src/pa_optcomp.{cmi,cmx,mli}
+  '';
 
   meta =  {
     homepage = https://github.com/diml/optcomp;
diff --git a/pkgs/development/ocaml-modules/pa_bench/default.nix b/pkgs/development/ocaml-modules/pa_bench/default.nix
index d8ce0dbc7eac..2b821cd6dd6f 100644
--- a/pkgs/development/ocaml-modules/pa_bench/default.nix
+++ b/pkgs/development/ocaml-modules/pa_bench/default.nix
@@ -2,13 +2,13 @@
 
 buildOcaml rec {
   name = "pa_bench";
-  version = "112.06.00";
+  version = "113.00.00";
 
   minimumSupportedOcamlVersion = "4.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/pa_bench/archive/${version}.tar.gz";
-    sha256 = "e3401e37f1d3d4acb957fd46a192d0ffcefeb0bedee63bbeb26969af1d540870";
+    sha256 = "1cd6291gdnk6h8ziclg6x3if8z5xy67nfz9gx8sx4k2cwv0j29k5";
   };
 
   buildInputs = [ pa_ounit ];
diff --git a/pkgs/development/ocaml-modules/pa_ounit/default.nix b/pkgs/development/ocaml-modules/pa_ounit/default.nix
index 5970aba1e502..fa4ecfcc28b2 100644
--- a/pkgs/development/ocaml-modules/pa_ounit/default.nix
+++ b/pkgs/development/ocaml-modules/pa_ounit/default.nix
@@ -2,11 +2,11 @@
 
 buildOcaml rec {
   name = "pa_ounit";
-  version = "112.24.00";
+  version = "113.00.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/pa_ounit/archive/${version}.tar.gz";
-    sha256 = "fa04e72fe1db41e6dc64f9707cf5705cb9b957aa93265120c875c808eb9b9b96";
+    sha256 = "0vi0p2hxcrdsl0319c9s8mh9hmk2i4ir6c6vrj8axkc37zkgc437";
   };
 
   propagatedBuildInputs = [ ounit ];
diff --git a/pkgs/development/ocaml-modules/pipebang/default.nix b/pkgs/development/ocaml-modules/pipebang/default.nix
index fa9a9f8f86a6..1ab1c5fa7bc5 100644
--- a/pkgs/development/ocaml-modules/pipebang/default.nix
+++ b/pkgs/development/ocaml-modules/pipebang/default.nix
@@ -2,13 +2,13 @@
 
 buildOcaml rec {
   name = "pipebang";
-  version = "110.01.00";
+  version = "113.00.00";
 
   minimumSupportedOcamlVersion = "4.00";
 
   src = fetchurl {
     url = "https://github.com/janestreet/pipebang/archive/${version}.tar.gz";
-    sha256 = "a8858d9607c15cdf0a775196be060c8d91de724fc80a347d7a76ef1d38329096";
+    sha256 = "0acm2y8wxvnapa248lkgm0vcc44hlwhrjxqkx1awjxzcmarnxhfk";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/ocaml-modules/ppx_derivers/default.nix b/pkgs/development/ocaml-modules/ppx_derivers/default.nix
index 52c28efcb49a..2dc7ef2b13e5 100644
--- a/pkgs/development/ocaml-modules/ppx_derivers/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_derivers/default.nix
@@ -6,13 +6,13 @@ else
 
 stdenv.mkDerivation rec {
 	name = "ocaml${ocaml.version}-ppx_derivers-${version}";
-	version = "1.0";
+	version = "1.2";
 
 	src = fetchFromGitHub {
 		owner = "diml";
 		repo = "ppx_derivers";
 		rev = version;
-		sha256 = "049yy9706lv1li6a1bibkz1qq2ixxbdyhf4f5w9pv71jc3dlpfy8";
+		sha256 = "0bnhihl1w31as5w2czly1v3d6pbir9inmgsjg2cj6aaj9v1dzd85";
 	};
 
 	buildInputs = [ ocaml findlib jbuilder ];
diff --git a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
index b680bcdd48c8..5d27dc35396c 100644
--- a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
@@ -2,7 +2,7 @@
 
 buildOcaml rec {
   name = "ppx_tools_versioned";
-  version = "5.0.1";
+  version = "5.1";
 
   minimumSupportedOcamlVersion = "4.02";
 
@@ -10,7 +10,7 @@ buildOcaml rec {
     owner = "let-def";
     repo = "ppx_tools_versioned";
     rev = version;
-    sha256 = "1rpbxbhk3k7f61h7lr4qkllkc12gjpq0rg52q7i6hcrg2dxkhwh6";
+    sha256 = "1c7kvca67qpyr4hiy492yik5x31lmkhyhy5wpl0l0fbx7fr7l624";
   };
 
   propagatedBuildInputs = [ ocaml-migrate-parsetree ];
diff --git a/pkgs/development/ocaml-modules/ssl/default.nix b/pkgs/development/ocaml-modules/ssl/default.nix
index 3886af37512f..b24d799cf28e 100644
--- a/pkgs/development/ocaml-modules/ssl/default.nix
+++ b/pkgs/development/ocaml-modules/ssl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-ssl-${version}";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchzip {
     url = "https://github.com/savonet/ocaml-ssl/releases/download/${version}/ocaml-ssl-${version}.tar.gz";
-    sha256 = "01sy3f94b463ff7dmkfsv67jh8g8h20wh7npjwqilniif7lgf4l3";
+    sha256 = "0j5zvsx51dg5r7sli7bakv7gfd29z890h0xzi876pg9vywwz9w7l";
   };
 
   buildInputs = [which ocaml findlib];
diff --git a/pkgs/development/ocaml-modules/stdint/default.nix b/pkgs/development/ocaml-modules/stdint/default.nix
index 42771d1e35f1..129f9dd7289f 100644
--- a/pkgs/development/ocaml-modules/stdint/default.nix
+++ b/pkgs/development/ocaml-modules/stdint/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-stdint-${version}";
-  version = "0.3.0";
+  version = "0.5.0";
   src = fetchFromGitHub {
     owner = "andrenth";
     repo = "ocaml-stdint";
     rev = version;
-    sha256 = "18nh23yx4ghgq7mjf4mdyq8kj1fdw5d0abw919s8n4mv21cmpwia";
+    sha256 = "1xjzqq13m7cqrfwa6vcwxirm17w8bx025dgnjqjgd3k2lxfgd1j7";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild ];
diff --git a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
index f10884d72035..c50d08dd1448 100644
--- a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
+++ b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
@@ -4,11 +4,11 @@ buildOcaml rec {
   minimumSupportedOcamlVersion = "4.02";
 
   name = "type_conv";
-  version = "112.01.01";
+  version = "113.00.02";
 
   src = fetchurl {
     url = "https://github.com/janestreet/type_conv/archive/${version}.tar.gz";
-    sha256 = "dbbc33b7ab420e8442d79ba4308ea6c0c16903b310d33525be18841159aa8855";
+    sha256 = "1718yl2q8zandrs4xqffkfmssfld1iz62dzcqdm925735c1x01fk";
   };
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix
index c2e5a1fc9298..6b27f00fb150 100644
--- a/pkgs/development/ocaml-modules/uchar/default.nix
+++ b/pkgs/development/ocaml-modules/uchar/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ocaml, ocamlbuild, opam }:
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-uchar-0.0.1";
+  name = "ocaml${ocaml.version}-uchar-0.0.2";
 
   src = fetchurl {
-    url = https://github.com/ocaml/uchar/releases/download/v0.0.1/uchar-0.0.1.tbz;
-    sha256 = "0ficw1x7ymbd6m8hqw3w1aycwm1hbwd6bad3c5pspwnzh3qlikhi";
+    url = https://github.com/ocaml/uchar/releases/download/v0.0.2/uchar-0.0.2.tbz;
+    sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7";
   };
 
   unpackCmd = "tar xjf $src";
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 5d751d3dc997..f494a8cf17cc 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -3,8 +3,8 @@ let
   pname = "yojson";
   param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
-    version = "1.4.0";
-    sha256 = "0rzn4yihfi0psd2qmgrx5fvwpby87sqx4zws3ijf49f7wbpycccv";
+    version = "1.4.1";
+    sha256 = "0nwsfkmqpyfab4rxq76q8ff7giyanghw08094jyrp275v99zdjr9";
     buildInputs = [ jbuilder ];
     extra = { inherit (jbuilder) installPhase; };
   } else {