summaryrefslogtreecommitdiff
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
parent3ee7e8c5b9b44e948a9132870771c98f90eda79d (diff)
downloadguix-patches-d0da63c576e3e3149d88120edc260c9be79dabdf.tar
guix-patches-d0da63c576e3e3149d88120edc260c9be79dabdf.tar.gz
gnu: ocaml-num: Fix race condition.
* gnu/packages/ocaml.scm (ocaml-num)[arguments]: Fix race condition.
-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