From f69f2fb4f5cc041546425ee565b054f1b702dc70 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 2 Jun 2026 22:21:47 +0200 Subject: [PATCH 1/2] =?UTF-8?q?ocamlPackages.lsp:=201.25.0=20=E2=86=92=201?= =?UTF-8?q?.26.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dune: 3.21.1 -> 3.22.2 ocamlPackages.merlin: 5.6-504 → 5.7.1-504 ocaml-lsp-server: mark old versions as broken --- pkgs/by-name/du/dune/package.nix | 4 ++-- pkgs/development/ocaml-modules/ocaml-lsp/default.nix | 2 +- pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix | 7 ++++++- pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix | 2 +- pkgs/development/tools/ocaml/merlin/4.x.nix | 5 +++-- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/du/dune/package.nix b/pkgs/by-name/du/dune/package.nix index 2a5b9122740a..e4aa233bf37b 100644 --- a/pkgs/by-name/du/dune/package.nix +++ b/pkgs/by-name/du/dune/package.nix @@ -3,7 +3,7 @@ stdenv, fetchurl, buildPackages, - version ? "3.21.1", + version ? "3.22.2", }: let # needed for pkgsStatic @@ -21,7 +21,7 @@ stdenv.mkDerivation { "https://github.com/ocaml/dune/releases/download/${version}/dune-${sfx}${version}.tbz"; hash = { - "3.21.1" = "sha256-hPeoLG2ApxJPOEfppInoDPvq+3vtNXOsAShu9W/QjZQ="; + "3.22.2" = "sha256-wsz4vGsXr6R8RQKXNXSWMDqnyGgOMpt52Yxo41AToRg="; "2.9.3" = "sha256:1ml8bxym8sdfz25bx947al7cvsi2zg5lcv7x9w6xb01cmdryqr9y"; } ."${version}"; diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix index 04f8867cb0ad..cc22bd5e1502 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix @@ -85,6 +85,6 @@ buildDunePackage (finalAttrs: { meta = lsp.meta // { description = "OCaml Language Server Protocol implementation"; mainProgram = "ocamllsp"; - broken = lib.versions.majorMinor ocaml.version == "4.13"; + broken = lib.versionAtLeast ocaml.version "4.13" && lib.versionOlder ocaml.version "5.4"; }; }) diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix index c273d70b2c75..1c6bd1dcab7a 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix @@ -10,7 +10,7 @@ ocaml, version ? if lib.versionAtLeast ocaml.version "5.4" then - "1.25.0" + "1.26.0" else if lib.versionAtLeast ocaml.version "5.3" then "1.23.1" else if lib.versionAtLeast ocaml.version "5.2" then @@ -28,6 +28,11 @@ let params = { + "1.26.0" = { + name = "lsp"; + minimalOCamlVersion = "5.3"; + sha256 = "sha256-tMgQ1mZKW/F1pvmUbIDIzCsY5GqYWTTBRQss4IDkaDI="; + }; "1.25.0" = { name = "lsp"; minimalOCamlVersion = "5.3"; diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix index 7900a7261c08..55ebec5fba50 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix @@ -26,7 +26,7 @@ ocaml, version ? if lib.versionAtLeast ocaml.version "5.4" then - "1.25.0" + "1.26.0" else if lib.versionAtLeast ocaml.version "5.3" then "1.23.1" else if lib.versionAtLeast ocaml.version "5.2" then diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix index 4029c36ad3f4..6a9c1622f0ff 100644 --- a/pkgs/development/tools/ocaml/merlin/4.x.nix +++ b/pkgs/development/tools/ocaml/merlin/4.x.nix @@ -31,8 +31,8 @@ "5.2.0" = "5.3-502"; "5.2.1" = "5.3-502"; "5.3.0" = "5.6-503"; - "5.4.0" = "5.6-504"; - "5.4.1" = "5.6-504"; + "5.4.0" = "5.7.1-504"; + "5.4.1" = "5.7.1-504"; } ."${ocaml.version}", }: @@ -52,6 +52,7 @@ let "5.4.1-503" = "sha256-SbO0x3jBISX8dAXnN5CwsxLV15dJ3XPUg4tlYqJTMCI="; "5.6-503" = "sha256-sNytCSqq96I/ZauaCJ6HYb1mXMcjV5CeCsbCGC9PwtQ="; "5.6-504" = "sha256-gtZIpBgNbVqjoIMhjii/GX9OnxR4hN6TArtoEa2Yt38="; + "5.7.1-504" = "sha256-E5sHPPkUs4tyXFT3W4tkL2VMNJjQpLqM+oMf8CqJcNU="; }; in From 1d5b338a702df84b5bca635b589a23ef88cbe4ae Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 4 Jun 2026 14:32:05 +0200 Subject: [PATCH 2/2] coqPackages_8_20.coq-elpi: fix build coqPackages_8_20.stalmarck-tactic: fix build --- pkgs/applications/science/logic/coq/default.nix | 14 ++++++++++++++ pkgs/by-name/du/dune/package.nix | 1 + pkgs/development/coq-modules/coq-elpi/default.nix | 3 ++- pkgs/development/coq-modules/stalmarck/default.nix | 3 ++- pkgs/top-level/coq-packages.nix | 1 + 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index a5f7e9e861aa..cee47f70a062 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -105,11 +105,25 @@ let substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp" substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true" ''; + dune = + if lib.versions.isEq coq-version "8.20" then + args.dune.override { version = "3.21.1"; } + else + args.dune; ocamlPackages = if customOCamlPackages != null then customOCamlPackages else lib.switch coq-version [ + { + case = lib.versions.isEq "8.20"; + out = ocamlPackages_4_14.overrideScope ( + self: super: { + inherit dune; + dune_3 = dune; + } + ); + } { case = lib.versions.range "8.16" "9.1"; out = ocamlPackages_4_14; diff --git a/pkgs/by-name/du/dune/package.nix b/pkgs/by-name/du/dune/package.nix index e4aa233bf37b..0dfaf0a82ca8 100644 --- a/pkgs/by-name/du/dune/package.nix +++ b/pkgs/by-name/du/dune/package.nix @@ -22,6 +22,7 @@ stdenv.mkDerivation { hash = { "3.22.2" = "sha256-wsz4vGsXr6R8RQKXNXSWMDqnyGgOMpt52Yxo41AToRg="; + "3.21.1" = "sha256-hPeoLG2ApxJPOEfppInoDPvq+3vtNXOsAShu9W/QjZQ="; "2.9.3" = "sha256:1ml8bxym8sdfz25bx947al7cvsi2zg5lcv7x9w6xb01cmdryqr9y"; } ."${version}"; diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix index b0134851418b..0f8f15d72388 100644 --- a/pkgs/development/coq-modules/coq-elpi/default.nix +++ b/pkgs/development/coq-modules/coq-elpi/default.nix @@ -2,6 +2,7 @@ lib, mkCoqDerivation, which, + dune, coq, stdlib, version ? null, @@ -33,7 +34,7 @@ let propagatedBuildInputs_wo_elpi = [ coq.ocamlPackages.findlib ]; - derivation = mkCoqDerivation { + derivation = mkCoqDerivation.override { dune = dune.override { version = "3.21.1"; }; } { pname = "elpi"; repo = "coq-elpi"; owner = "LPCIC"; diff --git a/pkgs/development/coq-modules/stalmarck/default.nix b/pkgs/development/coq-modules/stalmarck/default.nix index e493321d8a0a..369fea9639e3 100644 --- a/pkgs/development/coq-modules/stalmarck/default.nix +++ b/pkgs/development/coq-modules/stalmarck/default.nix @@ -1,6 +1,7 @@ { lib, mkCoqDerivation, + dune, coq, stdlib, version ? null, @@ -38,7 +39,7 @@ let else "A two-level approach to prove tautologies using Stålmarck's algorithm in Coq."; in - mkCoqDerivation { + mkCoqDerivation.override { dune = dune.override { version = "3.21.1"; }; } { inherit version pname diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix index b2cd7f2ada19..a93fb26666c9 100644 --- a/pkgs/top-level/coq-packages.nix +++ b/pkgs/top-level/coq-packages.nix @@ -17,6 +17,7 @@ fetchpatch, makeWrapper, coq2html, + dune, }@args: let lib = import ../build-support/coq/extra-lib.nix { inherit (args) lib; };