ocaml-ng.ocamlPackages_5_4: init at 5.4.0 (#449330)

This commit is contained in:
Vincent Laporte
2025-10-14 04:39:54 +00:00
committed by GitHub
12 changed files with 89 additions and 36 deletions
+6
View File
@@ -0,0 +1,6 @@
import ./generic.nix {
major_version = "5";
minor_version = "4";
patch_version = "0";
sha256 = "sha256-36qKLhHHmbwXZdi+9EkRQG7l9IAwJxkDgqk5+IyRImY=";
}
@@ -48,6 +48,6 @@ buildDunePackage rec {
description = "Build and execute typed scientific workflows";
maintainers = [ lib.maintainers.vbgl ];
license = lib.licenses.gpl2;
meta.broken = lib.versionAtLeast ppxlib.version "0.36";
broken = lib.versionAtLeast ppxlib.version "0.36";
};
}
@@ -2,6 +2,7 @@
lib,
buildDunePackage,
fetchurl,
ocaml,
domain-local-await,
domain-local-timeout,
alcotest,
@@ -29,7 +30,7 @@ buildDunePackage rec {
backoff
];
doCheck = true;
doCheck = !lib.versionAtLeast ocaml.version "5.4";
nativeCheckInputs = [ mdx.bin ];
checkInputs = [
alcotest
@@ -1,5 +1,6 @@
{
lib,
ocaml,
buildDunePackage,
fetchFromGitHub,
menhir,
@@ -9,34 +10,36 @@
yojson,
}:
buildDunePackage rec {
pname = "morbig";
version = "0.11.0";
lib.throwIf (lib.versionAtLeast ocaml.version "5.4")
"morbig is not available for OCaml ${ocaml.version}"
src = fetchFromGitHub {
owner = "colis-anr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-fOBaJHHP/Imi9UDLflI52OdKDcmMxpl+NH3pfofmv/o=";
};
buildDunePackage
rec {
pname = "morbig";
version = "0.11.0";
duneVersion = "3";
src = fetchFromGitHub {
owner = "colis-anr";
repo = pname;
rev = "v${version}";
hash = "sha256-fOBaJHHP/Imi9UDLflI52OdKDcmMxpl+NH3pfofmv/o=";
};
nativeBuildInputs = [
menhir
];
nativeBuildInputs = [
menhir
];
propagatedBuildInputs = [
menhirLib
ppx_deriving_yojson
visitors
yojson
];
propagatedBuildInputs = [
menhirLib
ppx_deriving_yojson
visitors
yojson
];
meta = with lib; {
homepage = "https://github.com/colis-anr/${pname}";
description = "Static parser for POSIX Shell";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ niols ];
};
}
meta = with lib; {
homepage = "https://github.com/colis-anr/${pname}";
description = "Static parser for POSIX Shell";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ niols ];
};
}
@@ -2,6 +2,7 @@
lib,
buildDunePackage,
fetchurl,
fetchpatch,
cppo,
uutf,
lwt,
@@ -18,6 +19,12 @@ buildDunePackage rec {
sha256 = "sha256-dGWfsUBz20Q4mJiRqyTyS++Bqkl9rBbZpn+aHJwgCCQ=";
};
# Compatibility with OCaml 5.4
patches = fetchpatch {
url = "https://github.com/pqwy/notty/commit/a4d62f467e257196a5192da2184bd021dfd948b7.patch";
hash = "sha256-p1eUuCvQKLj8uBeGyT2+i9WOYy4rk84pf9L3QioJDNY=";
};
nativeBuildInputs = [ cppo ];
propagatedBuildInputs = [
@@ -9,7 +9,9 @@
lib,
ocaml,
version ?
if lib.versionAtLeast ocaml.version "5.3" then
if lib.versionAtLeast ocaml.version "5.4" then
"1.24.0"
else if lib.versionAtLeast ocaml.version "5.3" then
"1.23.1"
else if lib.versionAtLeast ocaml.version "5.2" then
"1.21.0"
@@ -26,6 +28,11 @@
let
params =
{
"1.24.0" = {
name = "lsp";
minimalOCamlVersion = "5.3";
sha256 = "sha256-TVoaIVf2EvbALY+DjZferKX4GyOt08XOpcts7Ot7N1c=";
};
"1.23.1" = {
name = "lsp";
minimalOCamlVersion = "5.3";
@@ -23,7 +23,9 @@
ocamlformat-rpc-lib,
ocaml,
version ?
if lib.versionAtLeast ocaml.version "5.3" then
if lib.versionAtLeast ocaml.version "5.4" then
"1.24.0"
else if lib.versionAtLeast ocaml.version "5.3" then
"1.23.1"
else if lib.versionAtLeast ocaml.version "5.2" then
"1.21.0"
+9 -1
View File
@@ -1,4 +1,5 @@
{
fetchpatch,
buildDunePackage,
ocf,
ppxlib,
@@ -10,7 +11,14 @@ buildDunePackage {
inherit (ocf) src version;
duneVersion = "3";
patches = [
# Support for ppxlib ≥ 0.37
(fetchpatch {
url = "https://framagit.org/zoggy/ocf/-/commit/38b1f6420e5c01b3ea6b2fed99b6b62e4c848dc0.patch";
hash = "sha256-GymTdK/dOYGianvNIKkl9OhBGW+4dX5TqAkQuEF5FmA=";
includes = [ "*.ml" ];
})
];
buildInputs = [
ppxlib
@@ -1,13 +1,17 @@
{
lib,
fetchurl,
fetchFromGitHub,
buildDunePackage,
ocaml,
version ?
if lib.versionAtLeast ocaml.version "4.07" then
if lib.versionAtLeast ocaml.version "4.08" then
if lib.versionAtLeast ocaml.version "4.11" then
if lib.versionAtLeast ocaml.version "5.03" then "0.36.2" else "0.33.0"
if lib.versionAtLeast ocaml.version "5.03" then
if lib.versionAtLeast ocaml.version "5.04" then "0.37.0" else "0.36.2"
else
"0.33.0"
else
"0.24.0"
else
@@ -91,6 +95,10 @@ let
sha256 = "sha256-yHVgB9jKwTeahGEUYQDB1hHH327MGpoKqb3ewNbk5xs=";
min_version = "4.08";
};
"0.37.0" = {
sha256 = "sha256-LiI4N+fOzDvISkMkMsCnL04dW+kWXJwzdy8VbbhdsLM=";
min_version = "4.08";
};
}
."${version}";
in
@@ -106,10 +114,11 @@ else
pname = "ppxlib";
inherit version;
src = fetchurl {
url = "https://github.com/ocaml-ppx/ppxlib/releases/download/${version}/ppxlib-${version}.tbz";
inherit (param) sha256;
};
src =
param.src or (fetchurl {
url = "https://github.com/ocaml-ppx/ppxlib/releases/download/${version}/ppxlib-${version}.tbz";
inherit (param) sha256;
});
propagatedBuildInputs = [
ocaml-compiler-libs
@@ -9,6 +9,12 @@ buildDunePackage {
inherit (xtmpl) src version;
# Fix for ppxlib ≥ 0.37
postPatch = ''
substituteInPlace ppx/ppx_xtmpl.ml --replace-fail 'Parse.longident b' \
'Astlib.Longident.parse s'
'';
buildInputs = [
ppxlib
xtmpl
@@ -29,6 +29,7 @@
"5.2.0" = "5.3-502";
"5.2.1" = "5.3-502";
"5.3.0" = "5.6-503";
"5.4.0" = "5.6-504";
}
."${ocaml.version}",
}:
@@ -47,6 +48,7 @@ let
"5.3-502" = "sha256-LOpG8SOX+m4x7wwNT14Rwc/ZFu5JQgaUAFyV67OqJLw=";
"5.4.1-503" = "sha256-SbO0x3jBISX8dAXnN5CwsxLV15dJ3XPUg4tlYqJTMCI=";
"5.6-503" = "sha256-sNytCSqq96I/ZauaCJ6HYb1mXMcjV5CeCsbCGC9PwtQ=";
"5.6-504" = "sha256-gtZIpBgNbVqjoIMhjii/GX9OnxR4hN6TArtoEa2Yt38=";
};
in
+2
View File
@@ -2317,6 +2317,8 @@ rec {
ocamlPackages_5_3 = mkOcamlPackages (callPackage ../development/compilers/ocaml/5.3.nix { });
ocamlPackages_5_4 = mkOcamlPackages (callPackage ../development/compilers/ocaml/5.4.nix { });
ocamlPackages_latest = ocamlPackages_5_3;
ocamlPackages = ocamlPackages_5_3;