From 15f220b07ced65b6ca8ed862249bf180b5ace9ca Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 16 Mar 2022 17:30:39 +0100 Subject: [PATCH] ocamlPackages.buildDunePackage: add support for dune 3 --- pkgs/build-support/ocaml/dune.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix index 18e8784cfab..f82bac7d199 100644 --- a/pkgs/build-support/ocaml/dune.nix +++ b/pkgs/build-support/ocaml/dune.nix @@ -1,8 +1,11 @@ -{ lib, stdenv, ocaml, findlib, dune_1, dune_2 }: +{ lib, stdenv, ocaml, findlib, dune_1, dune_2, dune_3 }: { pname, version, nativeBuildInputs ? [], enableParallelBuilding ? true, ... }@args: -let Dune = if args.useDune2 or true then dune_2 else dune_1; in +let Dune = + let dune-version = args . duneVersion or (if args.useDune2 or true then "2" else "1"); in + { "1" = dune_1; "2" = dune_2; "3" = dune_3; }."${dune-version}" +; in if (args ? minimumOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimumOCamlVersion) || (args ? minimalOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimalOCamlVersion) @@ -31,7 +34,7 @@ stdenv.mkDerivation ({ runHook postInstall ''; -} // (builtins.removeAttrs args [ "minimalOCamlVersion" ]) // { +} // (builtins.removeAttrs args [ "minimalOCamlVersion" "duneVersion" ]) // { name = "ocaml${ocaml.version}-${pname}-${version}";