diff --git a/pkgs/development/ocaml-modules/odoc-parser/default.nix b/pkgs/development/ocaml-modules/odoc-parser/default.nix index 90e99427ec09..5d22d2d71238 100644 --- a/pkgs/development/ocaml-modules/odoc-parser/default.nix +++ b/pkgs/development/ocaml-modules/odoc-parser/default.nix @@ -1,23 +1,22 @@ -{ lib, fetchurl, buildDunePackage, ocaml, astring, result, camlp-streams, version ? "2.0.0" }: +{ lib, fetchurl, buildDunePackage, ocaml, astring, result, camlp-streams, version ? "2.4.2" }: let param = { + "2.4.2" = { + sha256 = "sha256-Vjz9uybsijDnN6nPKFoG4LuulT9I4lu7D2n3qZwrpAs="; + }; "2.0.0" = { sha256 = "sha256-QHkZ+7DrlXYdb8bsZ3dijZSqGQc0O9ymeLGIC6+zOSI="; - extraBuildInputs = [ camlp-streams ]; }; "1.0.1" = { sha256 = "sha256-orvo5CAbYOmAurAeluQfK6CwW6P1C0T3WDfoovuQfSw="; - extraBuildInputs = [ camlp-streams ]; }; "1.0.0" = { sha256 = "sha256-tqoI6nGp662bK+vE2h7aDXE882dObVfRBFnZNChueqE="; max_version = "5.0"; - extraBuildInputs = []; }; "0.9.0" = { sha256 = "sha256-3w2tG605v03mvmZsS2O5c71y66O3W+n3JjFxIbXwvXk="; max_version = "5.0"; - extraBuildInputs = []; }; }."${version}"; in @@ -31,11 +30,14 @@ buildDunePackage rec { minimalOCamlVersion = "4.02"; src = fetchurl { - url = "https://github.com/ocaml-doc/odoc-parser/releases/download/${version}/odoc-parser-${version}.tbz"; + url = if lib.versionAtLeast version "2.4" + then "https://github.com/ocaml/odoc/releases/download/${version}/odoc-${version}.tbz" + else "https://github.com/ocaml-doc/odoc-parser/releases/download/${version}/odoc-parser-${version}.tbz"; inherit (param) sha256; }; - propagatedBuildInputs = [ astring result ] ++ param.extraBuildInputs; + propagatedBuildInputs = [ astring result ] ++ + lib.optional (lib.versionAtLeast version "1.0.1") camlp-streams; meta = { description = "Parser for Ocaml documentation comments"; diff --git a/pkgs/development/ocaml-modules/odoc/default.nix b/pkgs/development/ocaml-modules/odoc/default.nix index 18be9801a9c0..92d605be157a 100644 --- a/pkgs/development/ocaml-modules/odoc/default.nix +++ b/pkgs/development/ocaml-modules/odoc/default.nix @@ -1,4 +1,5 @@ { lib, fetchurl, buildDunePackage, ocaml +, ocaml-crunch , astring, cmdliner, cppo, fpath, result, tyxml , markup, yojson, sexplib0, jq , odoc-parser, ppx_expect, bash, fmt @@ -6,14 +7,9 @@ buildDunePackage rec { pname = "odoc"; - version = "2.2.1"; + inherit (odoc-parser) version src; - src = fetchurl { - url = "https://github.com/ocaml/odoc/releases/download/${version}/odoc-${version}.tbz"; - sha256 = "sha256-F4blO/CCT+HHx7gdKn2EaEal0RZ3lp5jljYfd6OBaAM="; - }; - - nativeBuildInputs = [ cppo ]; + nativeBuildInputs = [ cppo ocaml-crunch ]; buildInputs = [ astring cmdliner fpath result tyxml odoc-parser fmt ]; nativeCheckInputs = [ bash jq ];