summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Girol <symphorien@users.noreply.github.com>2022-07-19 04:51:30 +0000
committerGitHub <noreply@github.com>2022-07-19 06:51:30 +0200
commit23432ed4fcf6e3a466c6f6e616834871f65ca621 (patch)
tree6ae658857cbb7ba97b5bf068c1664e9324cdf51c
parent3ee8d4c909cae4e2a1b1aac8e5b4a379e79ec3a9 (diff)
downloadnixpkgs-23432ed4fcf6e3a466c6f6e616834871f65ca621.tar
nixpkgs-23432ed4fcf6e3a466c6f6e616834871f65ca621.tar.gz
nixpkgs-23432ed4fcf6e3a466c6f6e616834871f65ca621.tar.bz2
nixpkgs-23432ed4fcf6e3a466c6f6e616834871f65ca621.tar.lz
nixpkgs-23432ed4fcf6e3a466c6f6e616834871f65ca621.tar.xz
nixpkgs-23432ed4fcf6e3a466c6f6e616834871f65ca621.tar.zst
nixpkgs-23432ed4fcf6e3a466c6f6e616834871f65ca621.zip
ocamlPackage.odoc: 1.5.3 -> 2.1.1 (#181884)
build tested by:
fnix build -f.  ocaml-ng.ocamlPackages_4_{05,06,07,08,09,10,11,12,13,14}.odoc
fnix build -f.  ocaml-ng.ocamlPackages_4_{08,09,10,11,12,13,14}.{odoc,curly,mdx}

curly and mdx are the only reverse dependencies in ocaml-modules
according to grep
-rw-r--r--pkgs/development/ocaml-modules/odoc/default.nix25
1 files changed, 16 insertions, 9 deletions
diff --git a/pkgs/development/ocaml-modules/odoc/default.nix b/pkgs/development/ocaml-modules/odoc/default.nix
index 68c06cc4c6f..3e25ba37fd1 100644
--- a/pkgs/development/ocaml-modules/odoc/default.nix
+++ b/pkgs/development/ocaml-modules/odoc/default.nix
@@ -1,25 +1,32 @@
 { lib, fetchurl, buildDunePackage, ocaml
 , astring, cmdliner, cppo, fpath, result, tyxml
-, markup, alcotest, yojson, sexplib, jq
+, markup, yojson, sexplib0, jq
+, odoc-parser, ppx_expect, bash, fmt
 }:
 
 buildDunePackage rec {
   pname = "odoc";
-  version = "1.5.3";
-
-  minimumOCamlVersion = "4.02";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "https://github.com/ocaml/odoc/releases/download/${version}/odoc-${version}.tbz";
-    sha256 = "0idzidmz7y10xkwcf4aih0mdvkipxk1gzi4anhnbbi2q2s0nzdzj";
+    sha256 = "sha256-9XTb0ozQ/DorlVJcS7ld320fZAi7T+EhV/pTeIT5h/0=";
   };
 
-  useDune2 = true;
+  # dune 3 is required for tests to pass
+  duneVersion = if doCheck then "3" else "2";
+
+  buildInputs = [ astring cmdliner cppo fpath result tyxml odoc-parser fmt ];
 
-  buildInputs = [ astring cmdliner cppo fpath result tyxml ];
+  checkInputs = [ markup yojson sexplib0 jq ppx_expect bash ];
+  doCheck = lib.versionAtLeast ocaml.version "4.08";
 
-  checkInputs = [ alcotest markup yojson sexplib jq ];
-  doCheck = lib.versionAtLeast ocaml.version "4.05";
+  preCheck = ''
+    # some run.t files check the content of patchShebangs-ed scripts, so patch
+    # them as well
+    find test \( -name '*.sh' -o -name 'run.t' \)  -execdir sed 's@#!/bin/sh@#!${bash}/bin/sh@' -i '{}' \;
+    patchShebangs test
+  '';
 
   meta = {
     description = "A documentation generator for OCaml";