ocamlformat: 0.24.1 -> 0.25.1
The ocamlformat package have been split into two in version 0.25.1: one for the library and one for the executable. This adds both packages at the same time. They have the same sources and very similar dependencies, for which the definition is shared.
This commit is contained in:
parent
982a15389b
commit
26775c3659
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 = [ lib.maintainers.Zimmi48 lib.maintainers.marsam ];
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
|
@ -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,61 +1,26 @@
|
|||
{ 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";
|
||||
|
|
|
@ -15814,7 +15814,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 { };
|
||||
|
||||
|
|
|
@ -1163,7 +1163,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 New Issue
Block a user