summary refs log tree commit diff
path: root/pkgs/development/tools/ocaml
diff options
context:
space:
mode:
authorVincent Laporte <Vincent.Laporte@gmail.com>2022-08-09 16:14:28 +0200
committerVincent Laporte <vbgl@users.noreply.github.com>2022-08-29 08:10:02 +0200
commitf09f7f1778d7113651967e53bfbc2b0e92976d2e (patch)
treeb4dd12f53cab1f8e8d9f530e693fd53c622cd5ff /pkgs/development/tools/ocaml
parentda766bde28a0b7a8acad094b5c6c187eb858c232 (diff)
downloadnixpkgs-f09f7f1778d7113651967e53bfbc2b0e92976d2e.tar
nixpkgs-f09f7f1778d7113651967e53bfbc2b0e92976d2e.tar.gz
nixpkgs-f09f7f1778d7113651967e53bfbc2b0e92976d2e.tar.bz2
nixpkgs-f09f7f1778d7113651967e53bfbc2b0e92976d2e.tar.lz
nixpkgs-f09f7f1778d7113651967e53bfbc2b0e92976d2e.tar.xz
nixpkgs-f09f7f1778d7113651967e53bfbc2b0e92976d2e.tar.zst
nixpkgs-f09f7f1778d7113651967e53bfbc2b0e92976d2e.zip
ocamlPackages.yojson: 1.7.0 → 2.0.2
ocamlPackages.merlin: 3.4.2 → 3.8.0

ocamlPackages.merlin: 4.5 → 4.6

ocamlPackages.{atd,atdgen}: 2.9.1 → 2.10.0

ocamlPackages.elpi: fix build with atd 2.10.0
Diffstat (limited to 'pkgs/development/tools/ocaml')
-rw-r--r--pkgs/development/tools/ocaml/merlin/4.x.nix23
-rw-r--r--pkgs/development/tools/ocaml/merlin/default.nix10
-rw-r--r--pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix16
-rw-r--r--pkgs/development/tools/ocaml/merlin/lib.nix14
-rw-r--r--pkgs/development/tools/ocaml/merlin/test.patch19
5 files changed, 33 insertions, 49 deletions
diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix
index b5100afee98..e917a5a76da 100644
--- a/pkgs/development/tools/ocaml/merlin/4.x.nix
+++ b/pkgs/development/tools/ocaml/merlin/4.x.nix
@@ -6,7 +6,7 @@
 , buildDunePackage
 , yojson
 , csexp
-, result
+, merlin-lib
 , dot-merlin-reader
 , jq
 , menhir
@@ -15,13 +15,12 @@
 }:
 
 let
-  merlinVersion = "4.5";
+  merlinVersion = "4.6";
 
   hashes = {
-    "4.5-411" = "sha256:05nz6y7r91rh0lj8b6xdv3s3yknmvjc7y60v17kszgqnr887bvpn";
-    "4.5-412" = "sha256:0i5c3rfzinmwdjya7gv94zyknsm32qx9dlg472xpfqivwvnnhf1z";
-    "4.5-413" = "sha256:1sphq9anfg1qzrvj7hdcqflj6cmc1qiyfkljhng9fxnnr0i7550s";
-    "4.5-414" = "sha256:13h588kwih05zd9p3p7q528q4zc0d1l983kkvbmkxgay5d17nn1i";
+    "4.6-412" = "sha256-isiurLeWminJQQR4oHpJPCzVk6cEmtQdX4+n3Pdka5c=";
+    "4.6-413" = "sha256-8903H4TE6F/v2Kw1XpcpdXEiLIdb9llYgt42zSR9kO4=";
+    "4.6-414" = "sha256-AuvXCjx32JQBY9vkxAd0pEjtFF6oTgrT1f9TJEEDk84=";
   };
 
   ocamlVersionShorthand = lib.concatStrings
@@ -49,12 +48,7 @@ buildDunePackage {
       dot_merlin_reader = "${dot-merlin-reader}/bin/dot-merlin-reader";
       dune = "${dune_2}/bin/dune";
     })
-  ] ++ lib.optional (lib.versionOlder ocaml.version "4.12")
-    # This fixes the test-suite on macOS
-    # See https://github.com/ocaml/merlin/pull/1399
-    # Fixed in 4.4 for OCaml ≥ 4.12
-    ./test.patch
-  ;
+  ];
 
   strictDeps = true;
 
@@ -65,8 +59,9 @@ buildDunePackage {
   buildInputs = [
     dot-merlin-reader
     yojson
-    csexp
-    result
+    (if lib.versionAtLeast version "4.6-414"
+     then merlin-lib
+     else csexp)
     menhirSdk
     menhirLib
   ];
diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
index 3db5d137783..cff881d1c97 100644
--- a/pkgs/development/tools/ocaml/merlin/default.nix
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -3,16 +3,14 @@
 
 buildDunePackage rec {
   pname = "merlin";
-  version = "3.4.2";
+  version = "3.8.0";
 
   src = fetchurl {
-    url = "https://github.com/ocaml/merlin/releases/download/v${version}/merlin-v${version}.tbz";
-    sha256 = "e1b7b897b11119d92995c558530149fd07bd67a4aaf140f55f3c4ffb5e882a81";
+    url = "https://github.com/ocaml/merlin/releases/download/v${version}/merlin-${version}.tbz";
+    sha256 = "sha256-wmBGNwXL3BduF4o1sUXtAOUHJ4xmMvsWAxl/QdNj/28=";
   };
 
-  useDune2 = true;
-
-  minimumOCamlVersion = "4.02.3";
+  minimalOCamlVersion = "4.02.3";
 
   patches = [
     (substituteAll {
diff --git a/pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix b/pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix
index 894fe6f75ae..e3fef3f4cc4 100644
--- a/pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix
+++ b/pkgs/development/tools/ocaml/merlin/dot-merlin-reader.nix
@@ -1,19 +1,15 @@
-{ lib, fetchurl, yojson, csexp, result, buildDunePackage }:
+{ lib, fetchurl, yojson, csexp, buildDunePackage, merlin-lib, merlin }:
 
 buildDunePackage rec {
   pname = "dot-merlin-reader";
-  version = "4.1";
 
-  useDune2 = true;
+  inherit (merlin) version src;
 
-  minimumOCamlVersion = "4.06";
+  minimalOCamlVersion = "4.06";
 
-  src = fetchurl {
-    url = "https://github.com/ocaml/merlin/releases/download/v${version}/dot-merlin-reader-v${version}.tbz";
-    sha256 = "14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd";
-  };
-
-  buildInputs = [ yojson csexp result ];
+  buildInputs = if lib.versionAtLeast version "4.6-414"
+  then [ merlin-lib ]
+  else [ yojson csexp ];
 
   meta = with lib; {
     description = "Reads config files for merlin";
diff --git a/pkgs/development/tools/ocaml/merlin/lib.nix b/pkgs/development/tools/ocaml/merlin/lib.nix
new file mode 100644
index 00000000000..27c8035a5e3
--- /dev/null
+++ b/pkgs/development/tools/ocaml/merlin/lib.nix
@@ -0,0 +1,14 @@
+{ lib, buildDunePackage, merlin, csexp }:
+
+buildDunePackage {
+  pname = "merlin-lib";
+  inherit (merlin) version src;
+
+  minimalOCamlVersion = "4.14";
+
+  propagatedBuildInputs = [ csexp ];
+
+  meta = merlin.meta // {
+    description = "Merlin’s libraries";
+  };
+}
diff --git a/pkgs/development/tools/ocaml/merlin/test.patch b/pkgs/development/tools/ocaml/merlin/test.patch
deleted file mode 100644
index 0101e825b96..00000000000
--- a/pkgs/development/tools/ocaml/merlin/test.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 282eed37f39ff216add8d53766fd59f3737eb87f
-Author: Vincent Laporte <Vincent.Laporte@gmail.com>
-Date:   Thu Nov 4 06:24:07 2021 +0100
-
-    Ignore dune stderr in tests
-
-diff --git a/tests/test-dirs/document/src-documentation.t/run.t b/tests/test-dirs/document/src-documentation.t/run.t
-index 2c9e1419..4f4c4327 100644
---- a/tests/test-dirs/document/src-documentation.t/run.t
-+++ b/tests/test-dirs/document/src-documentation.t/run.t
-@@ -42,7 +42,7 @@ documentation for the non-last defined value (in the same file) is show
-   > jq '.value'
-   " List reversal. "
- 
--  $ dune build --root=. ./doc.exe
-+  $ dune build --root=. ./doc.exe 2> /dev/null
-   $ cat >.merlin <<EOF
-   > B _build/default/.doc.eobjs/byte
-   > S .