summaryrefslogtreecommitdiff
path: root/gnu/packages/ocaml.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r--gnu/packages/ocaml.scm70
1 files changed, 67 insertions, 3 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9408697ed8..131bf22a4b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2269,6 +2269,7 @@ immutability.")
("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
("ocaml-uuidm" ,ocaml-uuidm)
("ocaml-uutf" ,ocaml-uutf)))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-alcotest))))
(home-page "https://github.com/mirage/alcotest")
(synopsis "Lightweight OCaml test framework")
(description "Alcotest exposes simple interface to perform unit tests. It
@@ -2279,6 +2280,22 @@ displayed at the end of the run (with the full logs ready to inspect), with a
simple (yet expressive) query language to select the tests to run.")
(license license:isc)))
+(define-public ocaml4.07-alcotest
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-alcotest)
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mirage/alcotest")
+ (commit version)))
+ (file-name (git-file-name "ocaml-alcotest" version))
+ (sha256
+ (base32
+ "1frwi185z4aadmaf0vp8xk5227nyg7nmh28ijj5l7ncjr5slvhz8"))))
+ (properties '()))))
+
(define-public ocaml-ppx-tools
(package
(name "ocaml-ppx-tools")
@@ -2403,8 +2420,7 @@ for mapping files in memory. This function is the same as the
(arguments
`(#:package "lwt"))
(native-inputs
- `(("ocaml-bisect-ppx" ,ocaml-bisect-ppx)
- ("ocaml-cppo" ,ocaml-cppo)
+ `(("ocaml-cppo" ,ocaml-cppo)
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)))
@@ -3354,6 +3370,7 @@ standard iterator type starting from 4.07.")
`(("ocaml-seq" ,ocaml-seq)))
(native-inputs
`(("ounit" ,ocaml-ounit)))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-re))))
(home-page "https://github.com/ocaml/ocaml-re/")
(synopsis "Regular expression library for OCaml")
(description "Pure OCaml regular expressions with:
@@ -3366,6 +3383,19 @@ standard iterator type starting from 4.07.")
@end enumerate")
(license license:expat)))
+(define-public ocaml4.07-re
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-re)
+ (arguments
+ `(#:test-target "."
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-dune-version
+ (lambda _
+ (delete-file "dune-project"))))))
+ (properties '()))))
+
(define-public ocaml-ocplib-endian
(package
(name "ocaml-ocplib-endian")
@@ -6584,7 +6614,8 @@ combinators.")
(arguments
;; Tests require ocamlformat which would lead to circular dependencies
'(#:tests? #f))
- (properties '((upstream-name . "bisect_ppx")))
+ (properties `((upstream-name . "bisect_ppx")
+ (ocaml4.07-variant . ,(delay ocaml4.07-bisect-ppx))))
(home-page "https://github.com/aantron/bisect_ppx")
(synopsis "Code coverage for OCaml")
(description "Bisect_ppx helps you test thoroughly. It is a small
@@ -6596,6 +6627,33 @@ Usage is simple - add package bisect_ppx when building tests, run your tests,
then run the Bisect_ppx report tool on the generated visitation files.")
(license license:mpl2.0)))
+(define-public ocaml4.07-bisect-ppx
+ (package-with-ocaml4.07
+ (package
+ (inherit ocaml-bisect-ppx)
+ (version "2.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aantron/bisect_ppx")
+ (commit version)))
+ (file-name (git-file-name "ocaml-bisect-ppx" version))
+ (sha256
+ (base32
+ "1njs8xc108rrpx5am5zhhcn6vjva7rsphm8034qp5lgyvnhfgh7q"))))
+ (propagated-inputs
+ `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
+ ,@(package-propagated-inputs ocaml-bisect-ppx)))
+ (native-inputs
+ `(("ocaml-ounit2" ,ocaml-ounit2)))
+ (arguments
+ `(#:test-target "."
+ ;; tests require git and network
+ #:tests? #f))
+ (properties '((upstream-name . "bisect_ppx"))))))
+
(define-public ocaml-odoc
(package
(name "ocaml-odoc")
@@ -6682,6 +6740,12 @@ language understood by ocamldoc.")
(file-name (git-file-name name version))
(sha256
(base32 "0z2nisg1vb5xlk41hqw8drvj90v52wli7zvnih6a844cg6xsvvj2"))))
+ (inputs
+ `(("ocaml-alcotest" ,ocaml-alcotest)
+ ("ocaml-markup" ,ocaml-markup)
+ ("ocaml-sexplib" ,ocaml-sexplib)
+ ("ocaml-re" ,ocaml-re)
+ ("ocaml-uutf" ,ocaml-uutf)))
(properties '()))))
(define-public ocaml4.07-fftw3