Merge pull request #227229 from Julow/ocamlformat_0_25_1
Ocamlformat 0 25 1
This commit is contained in:
commit
db0b790828
8 changed files with 116 additions and 52 deletions
|
@ -8196,6 +8196,13 @@
|
|||
githubId = 21160136;
|
||||
name = "Julien Moutinho";
|
||||
};
|
||||
Julow = {
|
||||
email = "jules@j3s.fr";
|
||||
matrix = "@juloo:matrix.org";
|
||||
github = "Julow";
|
||||
githubId = 2310568;
|
||||
name = "Jules Aguillon";
|
||||
};
|
||||
jumper149 = {
|
||||
email = "felixspringer149@gmail.com";
|
||||
github = "jumper149";
|
||||
|
|
63
pkgs/development/ocaml-modules/ocamlformat/generic.nix
Normal file
63
pkgs/development/ocaml-modules/ocamlformat/generic.nix
Normal file
|
@ -0,0 +1,63 @@
|
|||
{ lib, fetchurl, ocaml-ng, version }:
|
||||
|
||||
# The ocamlformat package have been split into two in version 0.25.1:
|
||||
# one for the library and one for the executable.
|
||||
# Both have the same sources and very similar dependencies.
|
||||
|
||||
with ocaml-ng.ocamlPackages;
|
||||
|
||||
rec {
|
||||
tarballName = "ocamlformat-${version}.tbz";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/${tarballName}";
|
||||
sha256 = {
|
||||
"0.19.0" = "0ihgwl7d489g938m1jvgx8azdgq9f5np5mzqwwya797hx2m4dz32";
|
||||
"0.20.0" = "sha256-JtmNCgwjbCyUE4bWqdH5Nc2YSit+rekwS43DcviIfgk=";
|
||||
"0.20.1" = "sha256-fTpRZFQW+ngoc0T6A69reEUAZ6GmHkeQvxspd5zRAjU=";
|
||||
"0.21.0" = "sha256-KhgX9rxYH/DM6fCqloe4l7AnJuKrdXSe6Y1XY3BXMy0=";
|
||||
"0.22.4" = "sha256-61TeK4GsfMLmjYGn3ICzkagbc3/Po++Wnqkb2tbJwGA=";
|
||||
"0.23.0" = "sha256-m9Pjz7DaGy917M1GjyfqG5Lm5ne7YSlJF2SVcDHe3+0=";
|
||||
"0.24.0" = "sha256-Zil0wceeXmq2xy0OVLxa/Ujl4Dtsmc4COyv6Jo7rVaM=";
|
||||
"0.24.1" = "sha256-AjQl6YGPgOpQU3sjcaSnZsFJqZV9BYB+iKAE0tX0Qc4=";
|
||||
"0.25.1" = "sha256-3I8qMwyjkws2yssmI7s2Dti99uSorNKT29niJBpv0z0=";
|
||||
}."${version}";
|
||||
};
|
||||
|
||||
odoc-parser_v = odoc-parser.override {
|
||||
version = if lib.versionAtLeast version "0.24.0" then
|
||||
"2.0.0"
|
||||
else if lib.versionAtLeast version "0.20.1" then
|
||||
"1.0.1"
|
||||
else
|
||||
"0.9.0";
|
||||
};
|
||||
|
||||
cmdliner_v =
|
||||
if lib.versionAtLeast version "0.21.0" then cmdliner_1_1 else cmdliner_1_0;
|
||||
|
||||
library_deps = [
|
||||
base
|
||||
cmdliner_v
|
||||
dune-build-info
|
||||
fix
|
||||
fpath
|
||||
menhirLib
|
||||
menhirSdk
|
||||
ocp-indent
|
||||
stdio
|
||||
uuseg
|
||||
uutf
|
||||
] ++ lib.optionals (lib.versionAtLeast version "0.20.0") [
|
||||
either
|
||||
ocaml-version
|
||||
] ++ lib.optionals (lib.versionAtLeast version "0.22.4") [ csexp ]
|
||||
++ (if lib.versionOlder version "0.25.1" then
|
||||
[ odoc-parser_v ]
|
||||
else [
|
||||
camlp-streams
|
||||
result
|
||||
astring
|
||||
]);
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{ lib, callPackage, ocaml-ng, version ? "0.25.1" }:
|
||||
|
||||
with ocaml-ng.ocamlPackages;
|
||||
|
||||
let inherit (callPackage ./generic.nix { inherit version; }) src library_deps;
|
||||
|
||||
in assert (lib.versionAtLeast version "0.25.1");
|
||||
|
||||
buildDunePackage {
|
||||
pname = "ocamlformat-lib";
|
||||
inherit src version;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
duneVersion = "3";
|
||||
|
||||
nativeBuildInputs = [ menhir ];
|
||||
|
||||
propagatedBuildInputs = library_deps;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/ocaml-ppx/ocamlformat";
|
||||
description = "Auto-formatter for OCaml code (library)";
|
||||
maintainers = with lib.maintainers; [ Zimmi48 marsam Julow ];
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
|
@ -30,6 +30,6 @@ buildDunePackage rec {
|
|||
homepage = "https://github.com/ocaml-ppx/ocamlformat";
|
||||
description = "Auto-formatter for OCaml code (RPC mode)";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ Zimmi48 marsam ];
|
||||
maintainers = with maintainers; [ Zimmi48 marsam Julow ];
|
||||
};
|
||||
}
|
|
@ -12,6 +12,7 @@ rec {
|
|||
ocamlformat_0_22_4 = ocamlformat.override { version = "0.22.4"; };
|
||||
ocamlformat_0_23_0 = ocamlformat.override { version = "0.23.0"; };
|
||||
ocamlformat_0_24_1 = ocamlformat.override { version = "0.24.1"; };
|
||||
ocamlformat_0_25_1 = ocamlformat.override { version = "0.25.1"; };
|
||||
|
||||
ocamlformat = callPackage ./generic.nix {};
|
||||
}
|
||||
|
|
|
@ -1,66 +1,31 @@
|
|||
{ lib, fetchurl, fetchzip, ocaml-ng
|
||||
, version ? "0.24.1"
|
||||
, tarballName ? "ocamlformat-${version}.tbz",
|
||||
}:
|
||||
{ lib, callPackage, ocaml-ng, version ? "0.25.1" }:
|
||||
|
||||
let src =
|
||||
fetchurl {
|
||||
url = "https://github.com/ocaml-ppx/ocamlformat/releases/download/${version}/${tarballName}";
|
||||
sha256 = {
|
||||
"0.19.0" = "0ihgwl7d489g938m1jvgx8azdgq9f5np5mzqwwya797hx2m4dz32";
|
||||
"0.20.0" = "sha256-JtmNCgwjbCyUE4bWqdH5Nc2YSit+rekwS43DcviIfgk=";
|
||||
"0.20.1" = "sha256-fTpRZFQW+ngoc0T6A69reEUAZ6GmHkeQvxspd5zRAjU=";
|
||||
"0.21.0" = "sha256-KhgX9rxYH/DM6fCqloe4l7AnJuKrdXSe6Y1XY3BXMy0=";
|
||||
"0.22.4" = "sha256-61TeK4GsfMLmjYGn3ICzkagbc3/Po++Wnqkb2tbJwGA=";
|
||||
"0.23.0" = "sha256-m9Pjz7DaGy917M1GjyfqG5Lm5ne7YSlJF2SVcDHe3+0=";
|
||||
"0.24.0" = "sha256-Zil0wceeXmq2xy0OVLxa/Ujl4Dtsmc4COyv6Jo7rVaM=";
|
||||
"0.24.1" = "sha256-AjQl6YGPgOpQU3sjcaSnZsFJqZV9BYB+iKAE0tX0Qc4=";
|
||||
}."${version}";
|
||||
};
|
||||
ocamlPackages = ocaml-ng.ocamlPackages;
|
||||
in
|
||||
with ocaml-ng.ocamlPackages;
|
||||
|
||||
with ocamlPackages;
|
||||
let
|
||||
inherit (callPackage ../../../ocaml-modules/ocamlformat/generic.nix {
|
||||
inherit version;
|
||||
})
|
||||
src library_deps;
|
||||
|
||||
buildDunePackage {
|
||||
in buildDunePackage {
|
||||
pname = "ocamlformat";
|
||||
inherit src version;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
duneVersion = "3";
|
||||
|
||||
nativeBuildInputs = [
|
||||
menhir
|
||||
];
|
||||
nativeBuildInputs =
|
||||
if lib.versionAtLeast version "0.25.1" then [ ] else [ menhir ];
|
||||
|
||||
buildInputs = [
|
||||
base
|
||||
dune-build-info
|
||||
fix
|
||||
fpath
|
||||
menhirLib
|
||||
menhirSdk
|
||||
ocp-indent
|
||||
re
|
||||
stdio
|
||||
uuseg
|
||||
uutf
|
||||
]
|
||||
++ lib.optionals (lib.versionAtLeast version "0.20.0") [ ocaml-version either ]
|
||||
++ (if lib.versionAtLeast version "0.24.0"
|
||||
then [ (odoc-parser.override { version = "2.0.0"; }) ]
|
||||
else if lib.versionAtLeast version "0.20.1"
|
||||
then [ (odoc-parser.override { version = "1.0.1"; }) ]
|
||||
else [ (odoc-parser.override { version = "0.9.0"; }) ])
|
||||
++ (if lib.versionAtLeast version "0.21.0"
|
||||
then [ cmdliner_1_1 ]
|
||||
else [ cmdliner_1_0 ])
|
||||
++ lib.optionals (lib.versionAtLeast version "0.22.4") [ csexp ];
|
||||
buildInputs = [ re ] ++ library_deps
|
||||
++ lib.optionals (lib.versionAtLeast version "0.25.1")
|
||||
[ (ocamlformat-lib.override { inherit version; }) ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/ocaml-ppx/ocamlformat";
|
||||
description = "Auto-formatter for OCaml code";
|
||||
maintainers = [ lib.maintainers.Zimmi48 lib.maintainers.marsam ];
|
||||
maintainers = with lib.maintainers; [ Zimmi48 marsam Julow ];
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16280,7 +16280,7 @@ with pkgs;
|
|||
inherit (callPackage ../development/tools/ocaml/ocamlformat { })
|
||||
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_22_4 ocamlformat_0_23_0 ocamlformat_0_24_1 ocamlformat_0_25_1;
|
||||
|
||||
orc = callPackage ../development/compilers/orc { };
|
||||
|
||||
|
|
|
@ -1170,7 +1170,9 @@ let
|
|||
|
||||
ocamlc-loc = callPackage ../development/ocaml-modules/ocamlc-loc { };
|
||||
|
||||
ocamlformat-rpc-lib = callPackage ../development/ocaml-modules/ocamlformat-rpc-lib { };
|
||||
ocamlformat-lib = callPackage ../development/ocaml-modules/ocamlformat/ocamlformat-lib.nix { };
|
||||
|
||||
ocamlformat-rpc-lib = callPackage ../development/ocaml-modules/ocamlformat/ocamlformat-rpc-lib.nix { };
|
||||
|
||||
ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
|
||||
|
||||
|
|
Loading…
Reference in a new issue