summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2022-04-30 16:54:43 +0200
committerJulien Lepiller <julien@lepiller.eu>2022-04-30 18:00:43 +0200
commitd0da63c576e3e3149d88120edc260c9be79dabdf (patch)
tree9217649500a86a8525cff3743be9414c501e2a99 /gnu/packages
parent3ee7e8c5b9b44e948a9132870771c98f90eda79d (diff)
downloadguix-d0da63c576e3e3149d88120edc260c9be79dabdf.tar.gz
gnu: ocaml-num: Fix race condition.
* gnu/packages/ocaml.scm (ocaml-num)[arguments]: Fix race condition.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/ocaml.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fa98f6525d..85bf4d064b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1045,6 +1045,19 @@ written in Objective Caml.")
        (sha256
         (base32 "1vzdnvpj5dbj3ifx03v25pj2jj1ccav072v4d29pk1czdba2lzfc"))))
     (build-system dune-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-race
+           (lambda _
+             ;; There's a race between bng.o and bng_generic.c.  Both depend on
+             ;; the architecture specific bng.c, but only the latter declares
+             ;; the dependency.
+             (mkdir-p "_build/default/src")
+             (for-each
+               (lambda (f)
+                 (copy-file f (string-append "_build/default/" f)))
+               (find-files "src" "bng_.*\\.c")))))))
     (home-page "https://github.com/ocaml/num")
     (synopsis "Arbitrary-precision integer and rational arithmetic")
     (description "OCaml-Num contains the legacy Num library for