summary refs log tree commit diff
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2019-06-06 15:08:42 +0200
committerJulien Lepiller <julien@lepiller.eu>2019-06-06 15:10:38 +0200
commit6c79cee2e30ccfae6aee40c84e8c160f4b4fe76f (patch)
treeb4b0c206e40da8c3ee189b5623e0869a5fc949be
parent38f06188dff161a36a0dcdcfea0f9c356a0d774c (diff)
downloadguix-6c79cee2e30ccfae6aee40c84e8c160f4b4fe76f.tar.gz
gnu: ocaml-cmdliner: Fix non determinism.
* gnu/packages/ocaml.scm (ocaml-cmdliner)[arguments]: Patch build.ml to
fix a file ordering issue.
-rw-r--r--gnu/packages/ocaml.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 08b4fcf2b0..492149af9a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1627,7 +1627,13 @@ spans without being subject to operating system calendar time adjustments.")
                                          "/lib/ocaml/site-lib/cmdliner"))
        #:phases
        (modify-phases %standard-phases
-         (delete 'configure))))
+         (delete 'configure)
+         (add-before 'build 'fix-source-file-order
+           (lambda _
+             (substitute* "build.ml"
+               (("Sys.readdir dir")
+                "let a = Sys.readdir dir in Array.sort String.compare a; a"))
+             #t)))))
     (home-page "http://erratique.ch/software/cmdliner")
     (synopsis "Declarative definition of command line interfaces for OCaml")
     (description "Cmdliner is a module for the declarative definition of command