From 8920ea683ba9b60dbc01f7e2b409266ef6ae6da3 Mon Sep 17 00:00:00 2001 From: Ulrik Strid Date: Thu, 20 Oct 2022 17:35:19 +0200 Subject: [PATCH] ocamlPackages.zed: 3.1.0 -> 3.2.0, ocamlPackages.lambdaterm: 3.2.0 -> 3.3.1 (#196362) * ocamlPackage.zed: 3.1.0 -> 3.2.0 * ocamlPackages.lambda-term: 3.2.0 -> 3.3.1 * ocamlPackages.utop: 2.9.2 -> 2.10.0 * ocamlPackages.prof_spacetime: mark as broken --- .../ocaml-modules/lambda-term/default.nix | 13 +++++---- .../ocaml-modules/prof_spacetime/default.nix | 2 ++ .../development/ocaml-modules/zed/default.nix | 28 +++++++++++++++---- pkgs/development/tools/ocaml/utop/default.nix | 27 +++++++++++++++--- 4 files changed, 55 insertions(+), 15 deletions(-) diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix index e44fdbe3ee8..239cbca4298 100644 --- a/pkgs/development/ocaml-modules/lambda-term/default.nix +++ b/pkgs/development/ocaml-modules/lambda-term/default.nix @@ -1,9 +1,9 @@ -{ lib, fetchFromGitHub, buildDunePackage, ocaml, zed, lwt_log, lwt_react, mew_vi }: +{ lib, fetchFromGitHub, buildDunePackage, ocaml, zed, lwt_log, lwt_react, mew_vi, uucp, logs }: let params = if lib.versionAtLeast ocaml.version "4.08" then { - version = "3.2.0"; - sha256 = "sha256:048k26644wq5wlwk0j179dxrxyz9nxqqq4vvhyh6pqpgxdajd44i"; + version = "3.3.1"; + sha256 = "sha256-C124bhdrY+XzL93zzNEbCr+U+7CYBZDm0hlAw+iqat4="; } else { version = "3.1.0"; sha256 = "1k0ykiz0vhpyyj9fkss29ajas4fh1xh449j702xkvayqipzj1mkg"; @@ -14,7 +14,9 @@ buildDunePackage rec { pname = "lambda-term"; inherit (params) version; - useDune2 = true; + duneVersion = if lib.versionAtLeast ocaml.version "4.08" then "3" else "2"; + + strictDeps = true; src = fetchFromGitHub { owner = "ocaml-community"; @@ -23,7 +25,8 @@ buildDunePackage rec { inherit (params) sha256; }; - propagatedBuildInputs = [ zed lwt_log lwt_react mew_vi ]; + propagatedBuildInputs = [ zed lwt_log lwt_react mew_vi ] + ++ lib.optional (lib.versionAtLeast version "3.3.1") [ uucp logs ] ; meta = { description = "Terminal manipulation library for OCaml"; diff --git a/pkgs/development/ocaml-modules/prof_spacetime/default.nix b/pkgs/development/ocaml-modules/prof_spacetime/default.nix index bfbd466bad6..3df59e329aa 100644 --- a/pkgs/development/ocaml-modules/prof_spacetime/default.nix +++ b/pkgs/development/ocaml-modules/prof_spacetime/default.nix @@ -1,6 +1,7 @@ { buildDunePackage , lib , fetchFromGitHub +, ocaml , cmdliner , spacetime_lib , yojson @@ -38,6 +39,7 @@ buildDunePackage rec { description = "A viewer for OCaml spacetime profiles"; license = lib.licenses.mit; maintainers = [ lib.maintainers.symphorien ]; + broken = true; # 2022-10-20, doesn't work with updated lambda-term inherit (src.meta) homepage; }; } diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix index a7889523bcc..db9efd22749 100644 --- a/pkgs/development/ocaml-modules/zed/default.nix +++ b/pkgs/development/ocaml-modules/zed/default.nix @@ -1,20 +1,36 @@ -{ lib, buildDunePackage, fetchFromGitHub, camomile, react, charInfo_width }: +{ lib, buildDunePackage, fetchFromGitHub, ocaml, react, charInfo_width, result, uchar, uutf, uucp, uuseg }: + +let + switch = + if lib.versionAtLeast ocaml.version "4.08" + then + { + version = "3.2.0"; + sha256 = "sha256-6yKHE30nVFXo8hGdCx+GO4VYYGbi802aMdN2XuYMJ7w="; + duneVersion = "3"; + propagatedBuildInputs = [ react result uchar uutf uucp uuseg ]; + } + else + { + version = "3.1.0"; + sha256 = "04vr1a94imsghm98iigc35rhifsz0rh3qz2qm0wam2wvp6vmrx0p"; + duneVersion = "2"; + propagatedBuildInputs = [ charInfo_width react ]; + }; +in buildDunePackage rec { pname = "zed"; - version = "3.1.0"; - useDune2 = true; + inherit (switch) version duneVersion propagatedBuildInputs; src = fetchFromGitHub { owner = "ocaml-community"; repo = pname; rev = version; - sha256 = "04vr1a94imsghm98iigc35rhifsz0rh3qz2qm0wam2wvp6vmrx0p"; + sha256 = switch.sha256; }; - propagatedBuildInputs = [ charInfo_width react ]; - meta = { description = "Abstract engine for text edition in OCaml"; longDescription = '' diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix index 195ae47a163..5d500339ff6 100644 --- a/pkgs/development/tools/ocaml/utop/default.nix +++ b/pkgs/development/tools/ocaml/utop/default.nix @@ -1,22 +1,41 @@ { lib, stdenv, fetchurl, ocaml, findlib , lambda-term, cppo, makeWrapper, buildDunePackage +, zed, logs, lwt, react, lwt_react }: +let + switch = + if lib.versionAtLeast ocaml.version "4.08" + then + { + version = "2.10.0"; + sha256 = "sha256-R10WovnqYcYCrDJnPuIQx2zHaPchSYfXDAaVMsJ4LQA="; + duneVersion = "3"; + propagatedBuildInputs = [ lambda-term zed logs ]; + } + else + { + version = "2.9.2"; + sha256 = "sha256-kvFBCe69TRQIWvZV47SH7ISus9k8afGRw5WLKzKqw08="; + duneVersion = "2"; + propagatedBuildInputs = [ lambda-term ]; + }; +in + buildDunePackage rec { pname = "utop"; - version = "2.9.2"; + + inherit (switch) version duneVersion propagatedBuildInputs; minimalOCamlVersion = "4.03"; src = fetchurl { url = "https://github.com/ocaml-community/utop/releases/download/${version}/utop-${version}.tbz"; - sha256 = "sha256-kvFBCe69TRQIWvZV47SH7ISus9k8afGRw5WLKzKqw08="; + sha256 = switch.sha256; }; nativeBuildInputs = [ makeWrapper cppo ]; - propagatedBuildInputs = [ lambda-term ]; - postFixup = let path = "etc/utop/env";