diff --git a/pkgs/development/ocaml-modules/ocamlformat/generic.nix b/pkgs/development/ocaml-modules/ocamlformat/generic.nix index 215c0268562b..ca5c78bca7d9 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/generic.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/generic.nix @@ -1,6 +1,6 @@ -{ lib, fetchurl, version, astring, base, camlp-streams, cmdliner_1_0 +{ lib, fetchurl, version ? "0.26.1", astring, base, camlp-streams, cmdliner_1_0 , cmdliner_1_1, csexp, dune-build-info, either, fix, fpath, menhirLib, menhirSdk -, ocaml-version, ocp-indent, odoc-parser, result, stdio, uuseg, uutf }: +, ocaml-version, ocp-indent, odoc-parser, result, stdio, uuseg, uutf, ... }: # The ocamlformat package have been split into two in version 0.25.1: # one for the library and one for the executable. @@ -23,9 +23,12 @@ rec { "0.24.1" = "sha256-AjQl6YGPgOpQU3sjcaSnZsFJqZV9BYB+iKAE0tX0Qc4="; "0.25.1" = "sha256-3I8qMwyjkws2yssmI7s2Dti99uSorNKT29niJBpv0z0="; "0.26.0" = "sha256-AxSUq3cM7xCo9qocvrVmDkbDqmwM1FexEP7IWadeh30="; + "0.26.1" = "sha256-2gBuQn8VuexhL7gI1EZZm9m3w+4lq+s9VVdHpw10xtc="; }."${version}"; }; + inherit version; + odoc-parser_v = odoc-parser.override { version = if lib.versionAtLeast version "0.24.0" then "2.0.0" diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix index cefae4af027c..9e271fe186b5 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-lib.nix @@ -1,6 +1,7 @@ -{ lib, callPackage, buildDunePackage, menhir, version ? "0.25.1" }: +# Version can be selected with the 'version' argument, see generic.nix. +{ lib, callPackage, buildDunePackage, menhir, ... }@args: -let inherit (callPackage ./generic.nix { inherit version; }) src library_deps; +let inherit (callPackage ./generic.nix args) src version library_deps; in assert (lib.versionAtLeast version "0.25.1"); diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix index a4492b2ead38..e1f5f29aa2fb 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix @@ -1,25 +1,16 @@ -{ lib, fetchurl, buildDunePackage, ocaml, csexp, sexplib0 }: +# Version can be selected with the 'version' argument, see generic.nix. +{ lib, fetchurl, buildDunePackage, ocaml, csexp, sexplib0, callPackage, ... }@args: -# for compat with ocaml-lsp -let source = - if lib.versionAtLeast ocaml.version "4.13" - then { - version = "0.26.0"; - sha256 = "sha256-AxSUq3cM7xCo9qocvrVmDkbDqmwM1FexEP7IWadeh30="; - } else { - version = "0.20.0"; - sha256 = "sha256-JtmNCgwjbCyUE4bWqdH5Nc2YSit+rekwS43DcviIfgk="; - }; -in +let + # for compat with ocaml-lsp + version_arg = + if lib.versionAtLeast ocaml.version "4.13" then {} else { version = "0.20.0"; }; -buildDunePackage rec { + inherit (callPackage ./generic.nix (args // version_arg)) src version; + +in buildDunePackage rec { pname = "ocamlformat-rpc-lib"; - inherit (source) version; - - src = fetchurl { - url = "https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/ocamlformat-${version}.tbz"; - inherit (source) sha256; - }; + inherit src version; minimalOCamlVersion = "4.08"; duneVersion = "3"; diff --git a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix index a2456dbef3b9..4c3b6607737d 100644 --- a/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix +++ b/pkgs/development/ocaml-modules/ocamlformat/ocamlformat.nix @@ -1,3 +1,4 @@ +# Version can be selected with the 'version' argument, see generic.nix. { lib , callPackage , buildDunePackage @@ -5,10 +6,10 @@ , re , ocamlformat-lib , menhir -, version ? "0.26.0" -}: +, ... +}@args: -let inherit (callPackage ./generic.nix { inherit version; }) src library_deps; +let inherit (callPackage ./generic.nix args) src version library_deps; in lib.throwIf (lib.versionAtLeast ocaml.version "5.0" && !lib.versionAtLeast version "0.23") diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 047577557659..1173079caaec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16896,7 +16896,7 @@ with pkgs; ocamlformat # latest version ocamlformat_0_19_0 ocamlformat_0_20_0 ocamlformat_0_20_1 ocamlformat_0_21_0 ocamlformat_0_22_4 ocamlformat_0_23_0 ocamlformat_0_24_1 ocamlformat_0_25_1 - ocamlformat_0_26_0; + ocamlformat_0_26_0 ocamlformat_0_26_1; inherit (ocamlPackages) odig; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 01010c77061b..95c2ea7b4185 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -1273,6 +1273,7 @@ let ocamlformat_0_24_1 = ocamlformat.override { version = "0.24.1"; }; ocamlformat_0_25_1 = ocamlformat.override { version = "0.25.1"; }; ocamlformat_0_26_0 = ocamlformat.override { version = "0.26.0"; }; + ocamlformat_0_26_1 = ocamlformat.override { version = "0.26.1"; }; ocamlformat = callPackage ../development/ocaml-modules/ocamlformat/ocamlformat.nix {};