mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 22:08:16 -05:00
gnu: ocaml: Update to 4.7.0.
Update ocaml to the latest version and fixes dependent packages by updating them or by adding new inputs, such as ocaml-num and ocamlbuild, that were removed from the core ocaml package. Rename packages that cannot be built with the new compiler with an ocaml4.02 prefix. Add ocaml4.02 dependencies. * gnu/packages/ocaml.scm (ocaml): Update to 4.7.0. (ocaml-4.02, ocamlbuild, camlp4-4.02, ocaml-num, ocaml4.02-menhir) (ocaml4.02-lablgtk, ocaml4.02-findlib, ocaml4.02-ounit, ocaml4.02-camlzip) (ocaml4.02-ocamlmod, ocaml4.02-zarith, ocaml4.02-qcheck, ocaml4.02-qtest) (ocaml4.02-stringext, ocaml4.02-bisect, dune, ocaml-migrate-parsetree) (ocaml-ppx-tools-versioned, ocaml-ppx-tools-versioned) (ocaml4.02-bitstring, ocaml4.02-result, ocaml4.02-topkg, ocaml4.02-rresult) (ocaml4.02-sqlite3, ocaml4.02-csv, ocaml4.02-mtime, ocaml4.02-cmdliner) (ocaml4.02-fmt, ocaml4.02-astring, ocaml4.02-alcotest, ocaml4.02-ppx-tools) (ocaml4.02-react, ocaml4.02-ssl, ocaml4.02-lwt, ocaml-lwt-log) (ocaml4.02-lwt-log, ocaml4.02-logs, ocaml4.02-fpath, ocaml4.02-bos) (ocaml4.02-xmlm, ocaml4.02-ulex, ocaml4.02-uchar, ocaml4.02-uutf) (ocaml4.02-jsonm, ocaml4.02-ocurl, ocaml4.02-base64, ocaml4.02-omake) (ocaml4.02-batteries, ocaml4.02-pcre, ocaml4.02-oasis) (ocaml4.02-js-build-tools, ocaml4.02-cppo, ocaml-seq, ocaml4.02-seq) (ocaml4.02-re, ocaml4.02-ocplib-endian, ocaml4.02-easy-format) (ocaml4.02-piqilib, ocaml4.02-uuidm, ocaml4.02-graph, ocaml4.02-piqi) (ocaml4.02-camomile, ocaml4.02-zed, ocaml4.02-lambda-term): New packages. (opam): Update to 2.0.0. (camlp4): Update to 4.07+1. (camlp5): Update to 7.06. (hevea): Update to 2.32. (coq)[inputs]: Add ocaml-num. (emacs-tuareg): Update to 2.2.0. (ocaml-menhir)[native-inputs]: Add ocamlbuild. (ocaml-lablgtk): Update to 2.18.6. (unison)[inputs]: Use ocaml-4.02. (ocaml-findlib): Update to 1.8.0. (ocaml-ounit)[native-inputs]: Add ocamlbuild. (ocamlmod): Update to 0.0.9. (ocaml-frontc)[arguments]: Use ocaml-4.02. (ocaml-qcheck)[native-inputs]: Add ocamlbuild. (ocaml-qtest)[native-inputs]: Remove ocaml-findlib and add ocamlbuild. (ocaml-stringext)[native-inputs]: Add ocamlbuild. (ocaml-bisect): Update to 1.3.1. (ocaml4.01-bisect): Downgrade to 1.3. (ocaml-bitstring): Update to 3.1.0. (ocaml-topkg)[native-inputs]: Add ocamlbuild. (ocaml-rresult)[native-inputs]: Add ocamlbuild. (ocaml-sqlite3)[native-inputs]: Add ocamlbuild. (ocaml-csv)[native-inputs]: Add ocamlbuild. (ocaml-mtime)[native-inputs]: Add ocamlbuild. (ocaml-cmdliner)[native-inputs]: Add ocamlbuild. (ocaml-fmt)[native-inputs]: Add ocamlbuild. (ocaml-astring)[native-inputs]: Add ocamlbuild. (ocaml-alcotest)[native-inputs]: Add ocamlbuild. (ocaml-ppx-tools)[native-inputs]: Add ocamlbuild. (ocaml-react)[native-inputs]: Add ocamlbuild. (ocaml-ssl)[arguments]: Return #t in phases. (ocaml-lwt): Update to 4.1.0. (ocaml-logs)[native-inputs]: Add ocamlbuild. (ocaml-fpath)[native-inputs]: Add ocamlbuild. (ocaml-bos)[native-inputs]: Add ocamlbuild. (ocaml-xmlm): Update to 1.3.0. (ocaml-ulex): Update to 1.2.0. (ocaml-uchar)[native-inputs]: Add ocamlbuild. (ocaml-uutf): Update to 1.0.1. (ocaml-jsonm): Update to 1.0.1. (ocaml-ocurl): Update to 0.8.2. (ocaml-base64)[native-inputs]: Add ocamlbuild. (ocamlify)[native-inputs]: Use ocaml-4.02. (omake): Update to 0.10.3. (ocaml-batteries): Update to 2.9.0. (ocaml-pcre)[native-inputs]: Add ocamlbuild. (ocaml-expect): Update 0.0.6. (ocaml4.02-fileutils): Update to 0.5.3. (ocaml-oasis): Update 0.4.11. (ocaml-js-build-tools)[native-inputs]: Add ocamlbuild. (ocaml-bin-prot): Rename to ocaml4.02-bin-prot. (ocaml-fieldslib): Rename to ocaml4.02-fieldslib. (ocaml-ppx-core): Rename to ocaml4.02-ppx-core. (ocaml-ppx-optcomp): Rename to ocaml4.02-ppx-optcomp. (ocaml-ppx-driver): Rename to ocaml4.02-ppx-driver. (ocaml-cppo): Update to 1.6.5. (ocaml-ppx-deriving): Rename to ocaml4.02-ppx-deriving. (ocaml-ppx-type-conv): Rename to ocaml4.02-ppx-type-conv. (ocaml-ppx-inline-test): Rename to ocaml4.02-ppx-inline-test. (ocaml-ppx-bench): Rename to ocaml4.02-ppx-bench. (ocaml-ppx-compare): Rename to ocaml4.02-ppx-compare. (ocaml-sexplib): Rename to ocaml4.02-sexplib. (ocaml-typerep): Rename to ocaml4.02-typerep. (ocaml-variantslib): Rename to ocaml4.02-variantslib. (ocaml-ppx-sexp-conv): Rename to ocaml4.02-ppx-sexp-conv. (ocaml-ppx-variants-conv): Rename to ocaml4.02-ppx-variants-conv. (ocaml-ppx-here): Rename to ocaml4.02-ppx-here. (ocaml-ppx-assert): Rename to ocaml4.02-ppx-assert. (ocaml-ppx-enumerate): Rename to ocaml4.02-ppx-enumerate. (ocaml-ppx-let): Rename to ocaml4.02-ppx-let. (ocaml-ppx-typerep-conv): Rename to ocaml4.02-ppx-typerep-conv. (ocaml-ppx-sexp-value): Rename to ocaml4.02-ppx-sexp-value. (ocaml-ppx-pipebang): Rename to ocaml4.02-ppx-pipebang. (ocaml-ppx-bin-prot): Rename to ocaml4.02-ppx-bin-prot. (ocaml-ppx-fail): Rename to ocaml4.02-ppx-fail. (ocaml-ppx-custom-printf): Rename to ocaml4.02-ppx-custom-printf. (ocaml-ppx-sexp-message): Rename to ocaml4.02-ppx-sexp-message. (ocaml-ppx-fields-conv): Rename to ocaml4.02-ppx-fields-conv. (ocaml-re): Update to 1.8.0. (ocaml-ppx-expect): Rename to ocaml4.02-ppx-expect. (ocaml-ppx-jane): Rename to ocaml4.02-ppx-jane. (ocaml-core-kernel): Rename to ocaml4.02-core-kernel. (ocaml-async-kernel): Rename to ocaml4.02-async-kernel. (ocaml-async-rpc-kernel): Rename to ocaml4.02-async-rpc-kernel. (ocaml-core): Rename to ocaml4.02-core. (ocaml-async-unix): Rename to ocaml4.02-async-unix. (ocaml-async-extra): Rename to ocaml4.02-async-extra. (ocaml-async): Rename to ocaml4.02-async. (ocaml-ocplib-endian)[native-inputs]: Update to 1.0. (ocaml-cstruct): Rename to ocaml4.02-cstruct. (ocaml-hex): Rename to ocaml4.02-hex. (ocaml-ezjsonm): Rename to ocaml4.02-ezjsonm. (ocaml-uri): Rename to ocaml4.02-uri. (optcomp): Use ocaml-4.02. (ocaml-piqilib): Update to 0.6.14. (ocaml-uuidm)[native-inputs]: Add ocamlbuild. (ocaml-graph): Update to 1.8.8. (ocaml-piqi): Update to 0.7.6. (bap): Update to 1.3.0. (ocaml-camomile): Update to 1.0.1. (ocaml-jbuilder): Use ocaml-4.02. (ocaml-lambda-term): Update to 1.13. (ocaml-utop): Update to 2.2.0. (ocaml-integers)[native-inputs]: Add ocamlbuild. (ocaml-ctypes): Update to 0.14.0. (ocaml-ocb-stubblr)[native-inputs]: Add ocamlbuild. (ocaml-tsdl)[native-inputs]: Add ocamlbuild. * gnu/packages/machine-learning.scm (ocaml-mcl): Use ocaml-4.02. * gnu/packages/maths.scm (cubicle): Update to 1.1.2. * gnu/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch: Update patch. * guix/build-system/ocaml.scm: (default-ocaml4.02, default-ocaml4.02-findlib) (package-with-ocaml4.02, strip-ocaml4.02-variant): New variables.
This commit is contained in:
parent
5a0affba3f
commit
564cf93f2a
5 changed files with 1899 additions and 746 deletions
|
@ -8,6 +8,7 @@
|
||||||
;;; Copyright © 2018 Mark Meyer <mark@ofosos.org>
|
;;; Copyright © 2018 Mark Meyer <mark@ofosos.org>
|
||||||
;;; Copyright © 2018 Ben Woodcroft <donttrustben@gmail.com>
|
;;; Copyright © 2018 Ben Woodcroft <donttrustben@gmail.com>
|
||||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||||
|
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -300,7 +301,9 @@ (define-public ocaml-mcl
|
||||||
"1l5jbhwjpsj38x8b9698hfpkv75h8hn3kj0gihjhn8ym2cwwv110"))))
|
"1l5jbhwjpsj38x8b9698hfpkv75h8hn3kj0gihjhn8ym2cwwv110"))))
|
||||||
(build-system ocaml-build-system)
|
(build-system ocaml-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:ocaml ,ocaml-4.02
|
||||||
|
#:findlib ,ocaml4.02-findlib
|
||||||
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-before 'configure 'patch-paths
|
(add-before 'configure 'patch-paths
|
||||||
(lambda _
|
(lambda _
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
|
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
|
||||||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||||
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
|
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
|
||||||
|
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -3988,37 +3989,52 @@ (define-public z3
|
||||||
(define-public cubicle
|
(define-public cubicle
|
||||||
(package
|
(package
|
||||||
(name "cubicle")
|
(name "cubicle")
|
||||||
(version "1.1.1")
|
(version "1.1.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://cubicle.lri.fr/cubicle-"
|
(uri (string-append "http://cubicle.lri.fr/cubicle-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1sny9c4fm14k014pk62ibpwbrjjirkx8xmhs9jg7q1hk7y7x3q2h"))))
|
"10kk80jdmpdvql88sdjsh7vqzlpaphd8vip2lp47aarxjkwjlz1q"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("ocaml" ,ocaml)
|
`(("automake" ,automake)
|
||||||
|
("ocaml" ,ocaml)
|
||||||
("which" ,(@@ (gnu packages base) which))))
|
("which" ,(@@ (gnu packages base) which))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
`(("z3" ,z3)))
|
`(("ocaml-num" ,ocaml-num)
|
||||||
|
("z3" ,z3)))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags (list "--with-z3")
|
`(#:configure-flags (list "--with-z3")
|
||||||
|
#:make-flags (list "QUIET=")
|
||||||
#:tests? #f
|
#:tests? #f
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-before 'configure 'configure-for-release
|
(add-before 'configure 'configure-for-release
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "Makefile.in"
|
(substitute* "Makefile.in"
|
||||||
(("SVNREV=") "#SVNREV="))))
|
(("SVNREV=") "#SVNREV="))
|
||||||
|
#t))
|
||||||
(add-before 'configure 'fix-/bin/sh
|
(add-before 'configure 'fix-/bin/sh
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "configure"
|
(substitute* "configure"
|
||||||
(("/bin/sh") (which "sh")))))
|
(("-/bin/sh") (string-append "-" (which "sh"))))
|
||||||
|
#t))
|
||||||
(add-before 'configure 'fix-smt-z3wrapper.ml
|
(add-before 'configure 'fix-smt-z3wrapper.ml
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "Makefile.in"
|
(substitute* "Makefile.in"
|
||||||
(("\\\\n") "")))))))
|
(("\\\\n") ""))
|
||||||
|
#t))
|
||||||
|
(add-before 'configure 'fix-ocaml-num
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "Makefile.in"
|
||||||
|
(("= \\$\\(FUNCTORYLIB\\)")
|
||||||
|
(string-append "= -I "
|
||||||
|
(assoc-ref inputs "ocaml-num")
|
||||||
|
"/lib/ocaml/site-lib"
|
||||||
|
" $(FUNCTORYLIB)")))
|
||||||
|
#t)))))
|
||||||
(home-page "http://cubicle.lri.fr/")
|
(home-page "http://cubicle.lri.fr/")
|
||||||
(synopsis "Model checker for array-based systems")
|
(synopsis "Model checker for array-based systems")
|
||||||
(description "Cubicle is a model checker for verifying safety properties
|
(description "Cubicle is a model checker for verifying safety properties
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,16 +1,28 @@
|
||||||
From 26cac62fe0154cf65c06faaee10805531e9dade8 Mon Sep 17 00:00:00 2001
|
From bc3b353cb2f26cf10aa5c5caebddf6d3d5b1e318 Mon Sep 17 00:00:00 2001
|
||||||
From: Julien Lepiller <julien@lepiller.eu>
|
From: Julien Lepiller <julien@lepiller.eu>
|
||||||
Date: Wed, 14 Dec 2016 14:14:59 +0100
|
Date: Fri, 21 Sep 2018 22:31:29 +0200
|
||||||
Subject: [PATCH] fix camlp4 in another directory
|
Subject: [PATCH] fix camlp4 in another directory
|
||||||
|
|
||||||
---
|
---
|
||||||
Makefile | 11 ++++++-----
|
Makefile | 11 ++++++-----
|
||||||
configure | 13 ++++++++++++-
|
configure | 13 ++++++++++++-
|
||||||
myocamlbuild.ml | 2 +-
|
tests/Makefile | 2 +-
|
||||||
3 files changed, 19 insertions(+), 7 deletions(-)
|
tests/camlp4-comments/Makefile | 2 +-
|
||||||
|
tests/camlp4-exclude-file/Makefile | 2 +-
|
||||||
|
tests/camlp4-exclude/Makefile | 2 +-
|
||||||
|
tests/camlp4-instrument-fast/Makefile | 2 +-
|
||||||
|
tests/camlp4-instrument/Makefile | 2 +-
|
||||||
|
tests/combine-expr/Makefile | 2 +-
|
||||||
|
tests/ppx-comments/Makefile | 2 +-
|
||||||
|
tests/ppx-exclude-file/Makefile | 2 +-
|
||||||
|
tests/ppx-exclude/Makefile | 2 +-
|
||||||
|
tests/ppx-instrument-fast/Makefile | 2 +-
|
||||||
|
tests/ppx-instrument/Makefile | 2 +-
|
||||||
|
tests/report/Makefile | 2 +-
|
||||||
|
15 files changed, 31 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
diff --git a/Makefile b/Makefile
|
||||||
index 4a8ce17..d94a6d5 100644
|
index b0980ee..6697922 100644
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -25,7 +25,7 @@ PATH_BUILD=$(PATH_BASE)/_build
|
@@ -25,7 +25,7 @@ PATH_BUILD=$(PATH_BASE)/_build
|
||||||
|
@ -24,7 +36,7 @@ index 4a8ce17..d94a6d5 100644
|
||||||
# DEFINITIONS
|
# DEFINITIONS
|
||||||
@@ -33,7 +33,8 @@ PATH_INSTALL=$(PATH_OCAML_PREFIX)/lib/ocaml/bisect
|
@@ -33,7 +33,8 @@ PATH_INSTALL=$(PATH_OCAML_PREFIX)/lib/ocaml/bisect
|
||||||
PROJECT_NAME=bisect
|
PROJECT_NAME=bisect
|
||||||
OCAMLBUILD=$(PATH_OCAML_PREFIX)/bin/ocamlbuild
|
OCAMLBUILD=ocamlbuild
|
||||||
OCAMLBUILD_ENV=WARNINGS=$(WARNINGS) PATH_OCAML_PREFIX=$(PATH_OCAML_PREFIX)
|
OCAMLBUILD_ENV=WARNINGS=$(WARNINGS) PATH_OCAML_PREFIX=$(PATH_OCAML_PREFIX)
|
||||||
-OCAMLBUILD_FLAGS=-classic-display -no-links
|
-OCAMLBUILD_FLAGS=-classic-display -no-links
|
||||||
+CAMLP4_INCLUDE=$(shell test -z $(CAMLP4_LIBDIR) || echo "-cflags -I,$(CAMLP4_LIBDIR)")
|
+CAMLP4_INCLUDE=$(shell test -z $(CAMLP4_LIBDIR) || echo "-cflags -I,$(CAMLP4_LIBDIR)")
|
||||||
|
@ -42,13 +54,13 @@ index 4a8ce17..d94a6d5 100644
|
||||||
- cp $(PATH_BUILD)/src/syntax/bisect_ppx.byte $(PATH_OCAML_PREFIX)/bin; \
|
- cp $(PATH_BUILD)/src/syntax/bisect_ppx.byte $(PATH_OCAML_PREFIX)/bin; \
|
||||||
+ cp $(PATH_BUILD)/src/syntax/bisect_ppx.byte $(PREFIX)/bin; \
|
+ cp $(PATH_BUILD)/src/syntax/bisect_ppx.byte $(PREFIX)/bin; \
|
||||||
fi; \
|
fi; \
|
||||||
- (test -x $(PATH_OCAML_PREFIX)/bin/ocamlopt && cp $(PATH_BUILD)/src/report/report.native $(PATH_OCAML_PREFIX)/bin/bisect-report.opt || true); \
|
- (which ocamlopt && cp $(PATH_BUILD)/src/report/report.native $(PATH_OCAML_PREFIX)/bin/bisect-report.opt || true); \
|
||||||
+ (test -x $(PATH_OCAML_PREFIX)/bin/ocamlopt && cp $(PATH_BUILD)/src/report/report.native $(PREFIX)/bin/bisect-report.opt || true); \
|
+ (which ocamlopt && cp $(PATH_BUILD)/src/report/report.native $(PREFIX)/bin/bisect-report.opt || true); \
|
||||||
if [ -x "$(PATH_OCAMLFIND)" ]; then \
|
if [ -x "$(PATH_OCAMLFIND)" ]; then \
|
||||||
$(PATH_OCAMLFIND) query $(PROJECT_NAME) && $(PATH_OCAMLFIND) remove $(PROJECT_NAME) || true; \
|
$(PATH_OCAMLFIND) query $(PROJECT_NAME) && $(PATH_OCAMLFIND) remove $(PROJECT_NAME) || true; \
|
||||||
$(PATH_OCAMLFIND) install $(PROJECT_NAME) META -optional \
|
$(PATH_OCAMLFIND) install $(PROJECT_NAME) META -optional \
|
||||||
diff --git a/configure b/configure
|
diff --git a/configure b/configure
|
||||||
index bb7ebf4..61a3095 100755
|
index bb7ebf4..43ef46b 100755
|
||||||
--- a/configure
|
--- a/configure
|
||||||
+++ b/configure
|
+++ b/configure
|
||||||
@@ -21,7 +21,9 @@
|
@@ -21,7 +21,9 @@
|
||||||
|
@ -79,7 +91,7 @@ index bb7ebf4..61a3095 100755
|
||||||
ppx='TRUE';;
|
ppx='TRUE';;
|
||||||
*)
|
*)
|
||||||
- echo "usage: $0 [-ocaml-prefix <path>] [-ocamlfind <path>] [-no-native-dynlink] [-devel]";
|
- echo "usage: $0 [-ocaml-prefix <path>] [-ocamlfind <path>] [-no-native-dynlink] [-devel]";
|
||||||
+ echo "usage: $0 [-prefix <path>] [-ocaml-prefix <path>] [-ocamlfind <path>] [-no-native-dynlink] [-devel]";
|
+ echo "usage: $0 [-prefix <path>] [-ocaml-prefix <path>] [-camlp4-prefix <path>] [-ocamlfind <path>] [-no-native-dynlink] [-devel]";
|
||||||
exit 1;;
|
exit 1;;
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
|
@ -93,33 +105,179 @@ index bb7ebf4..61a3095 100755
|
||||||
# make options
|
# make options
|
||||||
make_quiet=`make -f - <<EOF
|
make_quiet=`make -f - <<EOF
|
||||||
default: gnumake
|
default: gnumake
|
||||||
@@ -67,11 +76,13 @@ EOF`
|
@@ -66,7 +75,9 @@ EOF`
|
||||||
|
|
||||||
# file creation
|
# file creation
|
||||||
echo "# timestamp: `date`" > Makefile.config
|
echo "# timestamp: `date`" > Makefile.config
|
||||||
|
+echo "PREFIX=$prefix" >> Makefile.config
|
||||||
echo "PATH_OCAML_PREFIX=$ocaml_prefix" >> Makefile.config
|
echo "PATH_OCAML_PREFIX=$ocaml_prefix" >> Makefile.config
|
||||||
+echo "PATH_CAMLP4_PREFIX=$camlp4_prefix" >> Makefile.config
|
+echo "PATH_CAMLP4_PREFIX=$camlp4_prefix" >> Makefile.config
|
||||||
echo "PATH_OCAMLFIND=$ocamlfind" >> Makefile.config
|
echo "PATH_OCAMLFIND=$ocamlfind" >> Makefile.config
|
||||||
echo "NATIVE_DYNLINK=$native_dynlink" >> Makefile.config
|
echo "NATIVE_DYNLINK=$native_dynlink" >> Makefile.config
|
||||||
echo "WARNINGS=$devel" >> Makefile.config
|
echo "WARNINGS=$devel" >> Makefile.config
|
||||||
echo "NO_CAMLP4=$no_camlp4" >> Makefile.config
|
diff --git a/tests/Makefile b/tests/Makefile
|
||||||
echo "PPX=$ppx" >> Makefile.config
|
index 1aba27f..9642323 100644
|
||||||
echo "MAKE_QUIET=$make_quiet" >> Makefile.config
|
--- a/tests/Makefile
|
||||||
+echo "PREFIX=$prefix" >> Makefile.config
|
+++ b/tests/Makefile
|
||||||
echo "" >> Makefile.config
|
@@ -41,7 +41,7 @@ one: FORCE
|
||||||
echo 'Makefile.config successfully created'
|
else \
|
||||||
diff --git a/myocamlbuild.ml b/myocamlbuild.ml
|
echo "Running tests for '$(NAME)'..." | tee -a _log; \
|
||||||
index 8aa25fd..09a7d48 100644
|
(cd $(NAME) && \
|
||||||
--- a/myocamlbuild.ml
|
- $(MAKE) PATH_OCAML_BIN=$(PATH_OCAML_PREFIX)/bin \
|
||||||
+++ b/myocamlbuild.ml
|
+ $(MAKE) PATH_OCAML_BIN=$(PATH_OCAML_PREFIX)/bin PATH_CAMLP4_PREFIX=$(PATH_CAMLP4_PREFIX) \
|
||||||
@@ -70,7 +70,7 @@ let () =
|
COMPILER=ocamlc EXECUTABLE=bytecode RUN=./ LIB_EXT=cma EXE_SUFFIX='' \
|
||||||
| After_rules ->
|
REPORT=../../_build/src/report/report.byte && \
|
||||||
let camlp4of =
|
cd ..) || echo '*** error' >> _log; \
|
||||||
try
|
diff --git a/tests/camlp4-comments/Makefile b/tests/camlp4-comments/Makefile
|
||||||
- let path_bin = Filename.concat (Sys.getenv "PATH_OCAML_PREFIX") "bin" in
|
index 33fca72..a918118 100644
|
||||||
+ let path_bin = Filename.concat (Sys.getenv "PATH_CAMLP4_PREFIX") "bin" in
|
--- a/tests/camlp4-comments/Makefile
|
||||||
Filename.concat path_bin "camlp4of"
|
+++ b/tests/camlp4-comments/Makefile
|
||||||
with _ -> "camlp4of" in
|
@@ -2,7 +2,7 @@ default:
|
||||||
flag ["ocaml"; "compile"; "pp_camlp4of"] (S[A"-pp"; A camlp4of]);
|
@rm -fr *.result *.cmp
|
||||||
--
|
@for file in *.ml; do \
|
||||||
2.7.4
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo $$file -o $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo $$file -o $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
diff --git a/tests/camlp4-exclude-file/Makefile b/tests/camlp4-exclude-file/Makefile
|
||||||
|
index ab13983..e2520fa 100644
|
||||||
|
--- a/tests/camlp4-exclude-file/Makefile
|
||||||
|
+++ b/tests/camlp4-exclude-file/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo $$file -exclude-file exclusions -o $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo $$file -exclude-file exclusions -o $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
diff --git a/tests/camlp4-exclude/Makefile b/tests/camlp4-exclude/Makefile
|
||||||
|
index 18aada4..d71a7bc 100644
|
||||||
|
--- a/tests/camlp4-exclude/Makefile
|
||||||
|
+++ b/tests/camlp4-exclude/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo $$file -exclude 'f.*' -o $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo $$file -exclude 'f.*' -o $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
diff --git a/tests/camlp4-instrument-fast/Makefile b/tests/camlp4-instrument-fast/Makefile
|
||||||
|
index f60767f..8506e38 100644
|
||||||
|
--- a/tests/camlp4-instrument-fast/Makefile
|
||||||
|
+++ b/tests/camlp4-instrument-fast/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo -mode fast $$file -o $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo -mode fast $$file -o $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
diff --git a/tests/camlp4-instrument/Makefile b/tests/camlp4-instrument/Makefile
|
||||||
|
index 33fca72..a918118 100644
|
||||||
|
--- a/tests/camlp4-instrument/Makefile
|
||||||
|
+++ b/tests/camlp4-instrument/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo $$file -o $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/camlp4o$(EXE_SUFFIX) str.cma ../../_build/bisect_pp.cmo $$file -o $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cmp
|
||||||
|
diff --git a/tests/combine-expr/Makefile b/tests/combine-expr/Makefile
|
||||||
|
index 46ae9eb..e8e2af2 100644
|
||||||
|
--- a/tests/combine-expr/Makefile
|
||||||
|
+++ b/tests/combine-expr/Makefile
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-COMPILE_FLAGS=-I ../../_build -pp '$(PATH_OCAML_BIN)/camlp4o str.cma -I ../../_build bisect_pp.cmo' bisect.$(LIB_EXT) $(FLAGS)
|
||||||
|
+COMPILE_FLAGS=-I ../../_build -pp '$(PATH_CAMLP4_PREFIX)/bin/camlp4o str.cma -I ../../_build bisect_pp.cmo' bisect.$(LIB_EXT) $(FLAGS)
|
||||||
|
|
||||||
|
default: clean compile run report
|
||||||
|
|
||||||
|
diff --git a/tests/ppx-comments/Makefile b/tests/ppx-comments/Makefile
|
||||||
|
index f8c645a..667526f 100644
|
||||||
|
--- a/tests/ppx-comments/Makefile
|
||||||
|
+++ b/tests/ppx-comments/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/ocamlc -c -I ../../_build -ppx '../../_build/src/syntax/bisect_ppx.byte' -dsource $$file 2> $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/ocamlc -c -I ../../_build -ppx '../../_build/src/syntax/bisect_ppx.byte' -dsource $$file 2> $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
diff --git a/tests/ppx-exclude-file/Makefile b/tests/ppx-exclude-file/Makefile
|
||||||
|
index a575a77..0dd1a20 100644
|
||||||
|
--- a/tests/ppx-exclude-file/Makefile
|
||||||
|
+++ b/tests/ppx-exclude-file/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/ocamlc -c -I ../../_build -ppx '../../_build/src/syntax/bisect_ppx.byte -exclude-file exclusions' -dsource $$file 2> $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/ocamlc -c -I ../../_build -ppx '../../_build/src/syntax/bisect_ppx.byte -exclude-file exclusions' -dsource $$file 2> $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
diff --git a/tests/ppx-exclude/Makefile b/tests/ppx-exclude/Makefile
|
||||||
|
index a517af4..f502a42 100644
|
||||||
|
--- a/tests/ppx-exclude/Makefile
|
||||||
|
+++ b/tests/ppx-exclude/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/ocamlc -c -I ../../_build -ppx "../../_build/src/syntax/bisect_ppx.byte -exclude 'f.*'" -dsource $$file 2> $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/ocamlc -c -I ../../_build -ppx "../../_build/src/syntax/bisect_ppx.byte -exclude 'f.*'" -dsource $$file 2> $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
diff --git a/tests/ppx-instrument-fast/Makefile b/tests/ppx-instrument-fast/Makefile
|
||||||
|
index da78bb6..1195988 100644
|
||||||
|
--- a/tests/ppx-instrument-fast/Makefile
|
||||||
|
+++ b/tests/ppx-instrument-fast/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/ocamlc -c -I ../../_build -ppx '../../_build/src/syntax/bisect_ppx.byte -mode fast' -dsource $$file 2> $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/ocamlc -c -I ../../_build -ppx '../../_build/src/syntax/bisect_ppx.byte -mode fast' -dsource $$file 2> $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
diff --git a/tests/ppx-instrument/Makefile b/tests/ppx-instrument/Makefile
|
||||||
|
index f8c645a..667526f 100644
|
||||||
|
--- a/tests/ppx-instrument/Makefile
|
||||||
|
+++ b/tests/ppx-instrument/Makefile
|
||||||
|
@@ -2,7 +2,7 @@ default:
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
@for file in *.ml; do \
|
||||||
|
echo " testing '$$file' ..."; \
|
||||||
|
- $(PATH_OCAML_BIN)/ocamlc -c -I ../../_build -ppx '../../_build/src/syntax/bisect_ppx.byte' -dsource $$file 2> $$file.result; \
|
||||||
|
+ $(PATH_CAMLP4_PREFIX)/bin/ocamlc -c -I ../../_build -ppx '../../_build/src/syntax/bisect_ppx.byte' -dsource $$file 2> $$file.result; \
|
||||||
|
diff -q $$file.reference $$file.result || exit 1; \
|
||||||
|
done
|
||||||
|
@rm -fr *.result *.cm*
|
||||||
|
diff --git a/tests/report/Makefile b/tests/report/Makefile
|
||||||
|
index a7ffe44..a968bf9 100644
|
||||||
|
--- a/tests/report/Makefile
|
||||||
|
+++ b/tests/report/Makefile
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-COMPILE_FLAGS=-I ../../_build -pp '$(PATH_OCAML_BIN)/camlp4o str.cma -I ../../_build bisect_pp.cmo' bisect.$(LIB_EXT) $(FLAGS)
|
||||||
|
+COMPILE_FLAGS=-I ../../_build -pp '$(PATH_CAMLP4_PREFIX)/bin/camlp4o str.cma -I ../../_build bisect_pp.cmo' bisect.$(LIB_EXT) $(FLAGS)
|
||||||
|
XMLLINT=$(shell which xmllint)
|
||||||
|
|
||||||
|
default: clean compile run report
|
||||||
|
--
|
||||||
|
2.18.0
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
|
;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
|
||||||
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
|
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
|
@ -28,7 +28,9 @@ (define-module (guix build-system ocaml)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:export (%ocaml-build-system-modules
|
#:export (%ocaml-build-system-modules
|
||||||
package-with-ocaml4.01
|
package-with-ocaml4.01
|
||||||
|
package-with-ocaml4.02
|
||||||
strip-ocaml4.01-variant
|
strip-ocaml4.01-variant
|
||||||
|
strip-ocaml4.02-variant
|
||||||
ocaml-build
|
ocaml-build
|
||||||
ocaml-build-system))
|
ocaml-build-system))
|
||||||
|
|
||||||
|
@ -82,6 +84,14 @@ (define (default-ocaml4.01-findlib)
|
||||||
(let ((module (resolve-interface '(gnu packages ocaml))))
|
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||||
(module-ref module 'ocaml4.01-findlib)))
|
(module-ref module 'ocaml4.01-findlib)))
|
||||||
|
|
||||||
|
(define (default-ocaml4.02)
|
||||||
|
(let ((ocaml (resolve-interface '(gnu packages ocaml))))
|
||||||
|
(module-ref ocaml 'ocaml-4.02)))
|
||||||
|
|
||||||
|
(define (default-ocaml4.02-findlib)
|
||||||
|
(let ((module (resolve-interface '(gnu packages ocaml))))
|
||||||
|
(module-ref module 'ocaml4.02-findlib)))
|
||||||
|
|
||||||
(define* (package-with-explicit-ocaml ocaml findlib old-prefix new-prefix
|
(define* (package-with-explicit-ocaml ocaml findlib old-prefix new-prefix
|
||||||
#:key variant-property)
|
#:key variant-property)
|
||||||
"Return a procedure of one argument, P. The procedure creates a package
|
"Return a procedure of one argument, P. The procedure creates a package
|
||||||
|
@ -139,12 +149,24 @@ (define package-with-ocaml4.01
|
||||||
"ocaml-" "ocaml4.01-"
|
"ocaml-" "ocaml4.01-"
|
||||||
#:variant-property 'ocaml4.01-variant))
|
#:variant-property 'ocaml4.01-variant))
|
||||||
|
|
||||||
|
(define package-with-ocaml4.02
|
||||||
|
(package-with-explicit-ocaml (delay (default-ocaml4.02))
|
||||||
|
(delay (default-ocaml4.02-findlib))
|
||||||
|
"ocaml-" "ocaml4.02-"
|
||||||
|
#:variant-property 'ocaml4.02-variant))
|
||||||
|
|
||||||
(define (strip-ocaml4.01-variant p)
|
(define (strip-ocaml4.01-variant p)
|
||||||
"Remove the 'ocaml4.01-variant' property from P."
|
"Remove the 'ocaml4.01-variant' property from P."
|
||||||
(package
|
(package
|
||||||
(inherit p)
|
(inherit p)
|
||||||
(properties (alist-delete 'ocaml4.01-variant (package-properties p)))))
|
(properties (alist-delete 'ocaml4.01-variant (package-properties p)))))
|
||||||
|
|
||||||
|
(define (strip-ocaml4.02-variant p)
|
||||||
|
"Remove the 'ocaml4.02-variant' property from P."
|
||||||
|
(package
|
||||||
|
(inherit p)
|
||||||
|
(properties (alist-delete 'ocaml4.02-variant (package-properties p)))))
|
||||||
|
|
||||||
(define* (lower name
|
(define* (lower name
|
||||||
#:key source inputs native-inputs outputs system target
|
#:key source inputs native-inputs outputs system target
|
||||||
(ocaml (default-ocaml))
|
(ocaml (default-ocaml))
|
||||||
|
|
Loading…
Reference in a new issue