Merge pull request #227229 from Julow/ocamlformat_0_25_1

Ocamlformat 0 25 1
This commit is contained in:
Théo Zimmermann 2023-06-29 08:57:36 +02:00 committed by GitHub
commit db0b790828
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 116 additions and 52 deletions

View file

@ -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";

View 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
]);
}

View file

@ -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;
};
}

View file

@ -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 ];
};
}

View file

@ -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 {};
}

View file

@ -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;
};
}

View file

@ -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 { };

View file

@ -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 { };