[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/05: gnu: ocaml-mcl: Build with latest OCaml.
From: |
guix-commits |
Subject: |
02/05: gnu: ocaml-mcl: Build with latest OCaml. |
Date: |
Thu, 11 Apr 2019 11:22:10 -0400 (EDT) |
rekado pushed a commit to branch master
in repository guix.
commit b24aaeec45fdfe0359759b3dff084f0ec52dd73a
Author: Ricardo Wurmus <address@hidden>
Date: Thu Apr 11 17:03:23 2019 +0200
gnu: ocaml-mcl: Build with latest OCaml.
* gnu/packages/machine-learning.scm (ocaml-mcl)[arguments]: Remove #:ocaml
and #:findlib arguments; patch code in build phase.
[native-inputs]: Add ocamlbuild.
---
gnu/packages/machine-learning.scm | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/machine-learning.scm
b/gnu/packages/machine-learning.scm
index 10aff22..c97f51a 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -315,18 +315,36 @@ networks) based on simulation of (stochastic) flow in
graphs.")
"1l5jbhwjpsj38x8b9698hfpkv75h8hn3kj0gihjhn8ym2cwwv110"))))
(build-system ocaml-build-system)
(arguments
- `(#:ocaml ,ocaml-4.02
- #:findlib ,ocaml4.02-findlib
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-paths
(lambda _
(substitute* "configure"
- (("SHELL = /bin/sh") (string-append "SHELL = "(which "sh"))))
+ (("/bin/sh") (which "sh")))
(substitute* "setup.ml"
(("LDFLAGS=-fPIC")
- (string-append "LDFLAGS=-fPIC\"; \"SHELL=" (which "sh"))))
+ (string-append "LDFLAGS=-fPIC\"; \"SHELL=" (which "sh")))
+ (("-std=c89") "-std=gnu99")
+
+ ;; This is a mutable string, which is no longer supported. Use
+ ;; a byte buffer instead.
+ (("String.make \\(String.length s\\)")
+ "Bytes.make (String.length s)")
+
+ ;; These two belong together.
+ (("OASISString.replace_chars")
+ "Bytes.to_string (OASISString.replace_chars")
+ ((" s;")
+ " s);"))
+ (substitute* "myocamlbuild.ml"
+ (("std=c89") "std=gnu99"))
+ ;; Since we build with a more recent OCaml, we have to use C99 or
+ ;; later. This causes problems with the old C code.
+ (substitute* "src/impala/matrix.c"
+ (("restrict") "restrict_"))
#t)))))
+ (native-inputs
+ `(("ocamlbuild" ,ocamlbuild)))
(home-page "https://github.com/fhcrc/mcl")
(synopsis "OCaml wrappers around MCL")
(description