about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/ocaml-modules
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/ocaml-modules')
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/git/default.nix5
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/git/mirage.nix1
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/git/paf.nix1
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/git/unix.nix1
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix2
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/kqueue/default.nix39
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/logs/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix11
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/minttea/default.nix33
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/otfed/default.nix46
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/poll/default.nix43
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/riot/default.nix6
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/telemetry/default.nix22
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/tty/default.nix31
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix4
17 files changed, 252 insertions, 20 deletions
diff --git a/nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix
index eb9fdd85e68d..c3e3e5da9f8d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -2,8 +2,7 @@
 
 buildDunePackage rec {
   pname = "cryptokit";
-  version = "1.18";
-  duneVersion = "3";
+  version = "1.19";
 
   minimalOCamlVersion = "4.08";
 
@@ -11,7 +10,7 @@ buildDunePackage rec {
     owner = "xavierleroy";
     repo = "cryptokit";
     rev = "release${lib.replaceStrings ["."] [""] version}";
-    hash = "sha256-8ae8hroCSkp4O5vM/qVOhAnnJJ+uygMYm3ix5ytwtHU=";
+    hash = "sha256-8RRAPFgL2pqKotc1I3fIB9q2cNi46SP8pt+0rZM+QUc=";
   };
 
   # dont do autotools configuration, but do trigger findlib's preConfigure hook
diff --git a/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix b/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix
index 0e0adcb0be87..d678c129188c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/elpi/default.nix
@@ -8,7 +8,7 @@
 , ppxlib, ppx_deriving
 , ppxlib_0_15, ppx_deriving_0_15
 , coqPackages
-, version ? if lib.versionAtLeast ocaml.version "4.08" then "1.17.0"
+, version ? if lib.versionAtLeast ocaml.version "4.08" then "1.18.1"
     else if lib.versionAtLeast ocaml.version "4.07" then "1.15.2" else "1.14.1"
 }:
 
@@ -16,6 +16,7 @@ let p5 = camlp5; in
 let camlp5 = p5.override { legacy = true; }; in
 
 let fetched = coqPackages.metaFetch ({
+    release."1.18.1".sha256 = "sha256-zgBJefQDe3JyCGbC0wvMcx/9iMVbftBJ43NPogkNeHY=";
     release."1.17.0".sha256 = "sha256-DTxE8CvYl0et20pxueydI+WzraI6UPHMNvxyp2gU/+w=";
     release."1.16.5".sha256 = "sha256-tKX5/cVPoBeHiUe+qn7c5FIRYCwY0AAukN7vSd/Nz9A=";
     release."1.15.2".sha256 = "sha256-XgopNP83POFbMNyl2D+gY1rmqGg03o++Ngv3zJfCn2s=";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/git/default.nix b/nixpkgs/pkgs/development/ocaml-modules/git/default.nix
index 5e1a0461abb1..c3f27a3c7b97 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/git/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/git/default.nix
@@ -8,14 +8,13 @@
 
 buildDunePackage rec {
   pname = "git";
-  version = "3.13.0";
+  version = "3.14.0";
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-git/releases/download/${version}/git-${version}.tbz";
-    hash = "sha256-98w2Amze/B+YN/ENfSb0V8I2yyFUf8rSEOcUg1YbVdM=";
+    hash = "sha256-u1Nq8zo2YfAnRXib+IqYV0sWOGraqxrJC33NdDQaYsE=";
   };
 
   # remove changelog for the carton package
diff --git a/nixpkgs/pkgs/development/ocaml-modules/git/mirage.nix b/nixpkgs/pkgs/development/ocaml-modules/git/mirage.nix
index 28ce7c4a3f30..ad5a399bda63 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/git/mirage.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/git/mirage.nix
@@ -44,7 +44,6 @@ buildDunePackage {
   inherit (git) version src;
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
 
   buildInputs = [
     dns
diff --git a/nixpkgs/pkgs/development/ocaml-modules/git/paf.nix b/nixpkgs/pkgs/development/ocaml-modules/git/paf.nix
index 99f0175f0f40..4806909962c0 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/git/paf.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/git/paf.nix
@@ -26,7 +26,6 @@ buildDunePackage {
   inherit (git) version src;
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
 
   propagatedBuildInputs = [
     git
diff --git a/nixpkgs/pkgs/development/ocaml-modules/git/unix.nix b/nixpkgs/pkgs/development/ocaml-modules/git/unix.nix
index 1079f554731d..28bfb40cf8cb 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/git/unix.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/git/unix.nix
@@ -15,7 +15,6 @@ buildDunePackage {
   inherit (git) version src;
 
   minimalOCamlVersion = "4.08";
-  duneVersion = "3";
 
   buildInputs = [
     awa
diff --git a/nixpkgs/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix b/nixpkgs/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix
index 061fed447466..c1b2ed2a9139 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/janestreet/janePackage_0_16.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.16" }:
+{ lib, fetchFromGitHub, buildDunePackage, defaultVersion ? "0.16.0" }:
 
 { pname
 , version ? defaultVersion
diff --git a/nixpkgs/pkgs/development/ocaml-modules/kqueue/default.nix b/nixpkgs/pkgs/development/ocaml-modules/kqueue/default.nix
new file mode 100644
index 000000000000..6666d58cfb1f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/kqueue/default.nix
@@ -0,0 +1,39 @@
+{ buildDunePackage
+, dune-configurator
+, lib
+, fetchurl
+, ppx_expect
+, ppx_optcomp
+}:
+
+buildDunePackage rec {
+  pname = "kqueue";
+  version = "0.3.0";
+
+  minimalOCamlVersion = "4.12";
+
+  src = fetchurl {
+    url = "https://github.com/anuragsoni/kqueue-ml/releases/download/${version}/kqueue-${version}.tbz";
+    hash = "sha256-MKRCyN6q9euTEgHIhldGGH8FwuLblWYNG+SiCMWBP6Y=";
+  };
+
+  buildInputs = [
+    dune-configurator
+    ppx_optcomp
+  ];
+
+  checkInputs = [
+    ppx_expect
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "OCaml bindings for kqueue event notification interface";
+    homepage = "https://github.com/anuragsoni/kqueue-ml";
+    changelog = "https://github.com/anuragsoni/kqueue-ml/blob/${version}/CHANGES.md";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ sixstring982 ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix b/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
index 0b8ffed91e49..bd7326883829 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
@@ -3,10 +3,23 @@
 , fmtSupport ? lib.versionAtLeast ocaml.version "4.08"
 , js_of_ocaml
 , jsooSupport ? true
+, lwtSupport ? true
+, cmdlinerSupport ? true
 }:
 let
   pname = "logs";
   webpage = "https://erratique.ch/software/${pname}";
+
+  optional_deps = [
+    { pkg = js_of_ocaml; enable_flag = "--with-js_of_ocaml"; enabled = jsooSupport; }
+    { pkg = fmt; enable_flag = "--with-fmt"; enabled = fmtSupport; }
+    { pkg = lwt; enable_flag = "--with-lwt"; enabled = lwtSupport; }
+    { pkg = cmdliner; enable_flag = "--with-cmdliner"; enabled = cmdlinerSupport; }
+  ];
+  enable_flags =
+    lib.concatMap (d: [ d.enable_flag (lib.boolToString d.enabled)]) optional_deps;
+  optional_buildInputs =
+    map (d: d.pkg) (lib.filter (d: d.enabled) optional_deps);
 in
 
 if lib.versionOlder ocaml.version "4.03"
@@ -23,14 +36,12 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
-  buildInputs = [ cmdliner lwt topkg ]
-    ++ lib.optional fmtSupport fmt
-    ++ lib.optional jsooSupport js_of_ocaml;
+  buildInputs = [ topkg ] ++ optional_buildInputs;
   propagatedBuildInputs = [ result ];
 
   strictDeps = true;
 
-  buildPhase = "${topkg.run} build --with-js_of_ocaml ${lib.boolToString jsooSupport} --with-fmt ${lib.boolToString fmtSupport}";
+  buildPhase = "${topkg.run} build ${lib.escapeShellArgs enable_flags}";
 
   inherit (topkg) installPhase;
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
index ccda3f38b5eb..53ea92a2bbef 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mdx/default.nix
@@ -4,6 +4,13 @@
 , gitUpdater
 }:
 
+let
+  # Strip optional dependencies from logs to make the closure smaller as this
+  # package contains a binary
+  logs' = logs.override { jsooSupport = false; lwtSupport = false; };
+
+in
+
 buildDunePackage rec {
   pname = "mdx";
   version = "2.3.1";
@@ -16,7 +23,9 @@ buildDunePackage rec {
   };
 
   nativeBuildInputs = [ cppo ];
-  propagatedBuildInputs = [ astring fmt logs csexp ocaml-version camlp-streams re findlib ];
+  propagatedBuildInputs = [
+    astring fmt logs' csexp ocaml-version camlp-streams re findlib
+  ];
   checkInputs = [ alcotest lwt ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/minttea/default.nix b/nixpkgs/pkgs/development/ocaml-modules/minttea/default.nix
new file mode 100644
index 000000000000..8d81317edd1f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/minttea/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildDunePackage
+, fetchurl
+, riot
+, tty
+}:
+
+buildDunePackage rec {
+  pname = "minttea";
+  version = "0.0.1";
+
+  minimalOCamlVersion = "5.1";
+
+  src = fetchurl {
+    url = "https://github.com/leostera/minttea/releases/download/${version}/minttea-${version}.tbz";
+    hash = "sha256-+4nVeYKx2A2i2nll/PbStcEa+Dvxd0T7e/KsdJqY4bI=";
+  };
+
+  propagatedBuildInputs = [
+    riot
+    tty
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "A fun, functional, and stateful way to build terminal apps in OCaml heavily inspired by Go's BubbleTea";
+    homepage = "https://github.com/leostera/minttea";
+    changelog = "https://github.com/leostera/minttea/blob/${version}/CHANGES.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ sixstring982 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/otfed/default.nix b/nixpkgs/pkgs/development/ocaml-modules/otfed/default.nix
new file mode 100644
index 000000000000..d9d3c5bcb54f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/otfed/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildDunePackage
+, fetchFromGitHub
+, base
+, ppx_deriving
+, ppx_inline_test
+, uutf
+, alcotest
+}:
+
+buildDunePackage rec {
+  pname = "otfed";
+  version = "0.3.1";
+
+  minimalOCamlVersion = "4.08";
+
+  src = fetchFromGitHub {
+    owner = "gfngfn";
+    repo = pname;
+    rev = version;
+    hash = "sha256-6QCom9nrz0B5vCmuBzqsM0zCs8tBLJC6peig+vCgMVA=";
+  };
+
+  buildInputs = [
+    uutf
+  ];
+
+  propagatedBuildInputs = [
+    base
+    ppx_deriving
+    ppx_inline_test
+  ];
+
+  checkInputs = [
+    alcotest
+  ];
+
+  doCheck = true;
+
+  meta = {
+    homepage = "https://github.com/gfngfn/otfed";
+    description = "OpenType Font Format Encoder & Decoder";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/poll/default.nix b/nixpkgs/pkgs/development/ocaml-modules/poll/default.nix
new file mode 100644
index 000000000000..ea1e2e1c13d7
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/poll/default.nix
@@ -0,0 +1,43 @@
+{ buildDunePackage
+, dune-configurator
+, fetchurl
+, kqueue
+, lib
+, ppx_expect
+, ppx_optcomp
+}:
+
+buildDunePackage rec {
+  pname = "poll";
+  version = "0.3.1";
+
+  minimalOCamlVersion = "4.13";
+
+  src = fetchurl {
+    url = "https://github.com/anuragsoni/poll/releases/download/${version}/poll-${version}.tbz";
+    hash = "sha256-IX6SivK/IMQaGgMgWiIsNgUSMHP6z1E/TSB0miaQ8pw=";
+  };
+
+  buildInputs = [
+    dune-configurator
+    ppx_optcomp
+  ];
+
+  propagatedBuildInputs = [
+    kqueue
+  ];
+
+  checkInputs = [
+    ppx_expect
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Portable OCaml interface to macOS/Linux/Windows native IO event notification mechanisms";
+    homepage = "https://github.com/anuragsoni/poll";
+    changelog = "https://github.com/anuragsoni/poll/blob/${version}/CHANGES.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ sixstring982 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/riot/default.nix b/nixpkgs/pkgs/development/ocaml-modules/riot/default.nix
index e03ac2c209ed..e830e7034e10 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/riot/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/riot/default.nix
@@ -4,24 +4,26 @@
 , fetchurl
 , iomux
 , ptime
+, telemetry
 , uri
 }:
 
 buildDunePackage rec {
   pname = "riot";
-  version = "0.0.2";
+  version = "0.0.5";
 
   minimalOCamlVersion = "5.1";
 
   src = fetchurl {
     url = "https://github.com/leostera/riot/releases/download/${version}/riot-${version}.tbz";
-    hash = "sha256-ck/tr5o0nKF4WNgjPODHg1/tlaKv1JtuYgqYfIIZ78Q=";
+    hash = "sha256-Abe4LMxlaxK3MVlg2d8X60aCuPGvaOn+4zFx/uH5z4g=";
   };
 
   propagatedBuildInputs = [
     bigstringaf
     iomux
     ptime
+    telemetry
     uri
   ];
 
diff --git a/nixpkgs/pkgs/development/ocaml-modules/telemetry/default.nix b/nixpkgs/pkgs/development/ocaml-modules/telemetry/default.nix
new file mode 100644
index 000000000000..85d6e067f60f
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/telemetry/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildDunePackage, fetchurl }:
+
+buildDunePackage rec {
+  pname = "telemetry";
+  version = "0.0.1";
+
+  minimalOCamlVersion = "4.12";
+
+  src = fetchurl {
+    url = "https://github.com/leostera/telemetry/releases/download/${version}/telemetry-${version}.tbz";
+    hash = "sha256-YEf7zC/F2zJBtQNfyJ2OznKmoFo1Ms9O2WgiOFkhp28=";
+  };
+
+  doCheck = true;
+
+  meta = {
+    description = "A lightweight library for dispatching and handling events, with a focus on metrics and instrumentation";
+    homepage = "https://github.com/leostera/telemetry";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/tty/default.nix b/nixpkgs/pkgs/development/ocaml-modules/tty/default.nix
new file mode 100644
index 000000000000..8c5c1b47524a
--- /dev/null
+++ b/nixpkgs/pkgs/development/ocaml-modules/tty/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildDunePackage
+, fetchurl
+, uutf
+}:
+
+buildDunePackage rec {
+  pname = "tty";
+  version = "0.0.2";
+
+  minimalOCamlVersion = "5.1";
+
+  src = fetchurl {
+    url = "https://github.com/leostera/tty/releases/download/${version}/tty-${version}.tbz";
+    hash = "sha256-eeD5Y+/QXZzFoEHvOSZj2Q74V8BK5j3Lu3Zsrj2YUUs=";
+  };
+
+  propagatedBuildInputs = [
+    uutf
+  ];
+
+  doCheck = true;
+
+  meta = {
+    description = "A library for interacting with teletype and terminal emulators";
+    homepage = "https://github.com/leostera/tty";
+    changelog = "https://github.com/leostera/tty/blob/${version}/CHANGES.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ sixstring982 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix b/nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix
index 38a920ae865c..c8600cf52b16 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/yojson/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "yojson";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz";
-    hash = "sha256-1YGDIHsZjcBlhmI5Bm4HTDT54TnA2cQXWjiAl5DogXM=";
+    hash = "sha256-WfLxq7/Ip8y9v2CIlOXHXop2AG40iZJURG+D4gDftPk=";
   };
 
   nativeBuildInputs = [ cppo ];