diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2019-04-11 17:03:23 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2019-04-11 17:17:22 +0200 |
commit | b24aaeec45fdfe0359759b3dff084f0ec52dd73a (patch) | |
tree | 5b6650fec58e5e852818bca272f931a79f8563a0 | |
parent | ddb5dc08a738d9f6611c710da499363d0e8f9977 (diff) | |
download | patches-b24aaeec45fdfe0359759b3dff084f0ec52dd73a.tar patches-b24aaeec45fdfe0359759b3dff084f0ec52dd73a.tar.gz |
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.
-rw-r--r-- | gnu/packages/machine-learning.scm | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 10aff22206..c97f51aec7 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 |