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.scm170
1 files changed, 100 insertions, 70 deletions
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7fad276b4e..1b12b4121a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -191,10 +191,10 @@ OCaml and can effectively bootstrap OCaml 4.07.
This package produces a native @command{ocamlc} and a bytecode @command{ocamllex}.")
(license license:expat))))
-(define-public ocaml-5.0
+(define-public ocaml-5.1
(package
(name "ocaml")
- (version "5.0.0")
+ (version "5.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -203,7 +203,7 @@ This package produces a native @command{ocamlc} and a bytecode @command{ocamllex
(file-name (git-file-name name version))
(sha256
(base32
- "1p0p8wldrnbr61wfy3x4122017g4k5gjvfwlg3mvlqn8r2fxn2m5"))))
+ "1x3a6cyibmmyhqxq2y6vvj1bj3rngqkvppilchsmsn76p8nh8hcr"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
@@ -906,8 +906,8 @@ useful for installing OCaml packages without requiring the entirety of
OPAM.")
(properties
;; opam-installer is used as a tool and not as a library, we can use the
- ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam-installer))))))
+ ;; OCaml 4.14 compiled opam until opam is compatible with OCaml 5.1.
+ `((ocaml5.1-variant . ,(delay opam-installer))))))
(define ocaml-opam-repository
(package
@@ -1102,8 +1102,8 @@ name = Guix Builder")
(inputs (list ocaml-opam-client))
(properties
;; OPAM is used as a tool and not as a library, we can use the OCaml 4.14
- ;; compiled opam until opam is compatible with OCaml 5.0.
- `((ocaml5.0-variant . ,(delay opam))))))
+ ;; compiled opam until opam is compatible with OCaml 5.1.
+ `((ocaml5.1-variant . ,(delay opam))))))
(define-public ocaml-opam-monorepo
(package
@@ -1382,6 +1382,36 @@ Knuth’s LR(1) parser construction technique.")
;; are QPL licensed.
(license (list license:gpl2+ license:qpl))))
+(define-public ocaml5.1-menhir
+ (package
+ (name "ocaml-menhir")
+ (version "20231231")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.inria.fr/fpottier/menhir.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12a1zxbkipa2i0k7ay0frfzyibpdvh3hr0rcq18kgsp924wp9q5x"))))
+ (build-system dune-build-system)
+ (inputs
+ (list ocaml))
+ (arguments
+ `(#:tests? #f)) ; No check target
+ (properties `((ocaml5.1-variant . ,(delay (strip-ocaml5.1-variant ocaml5.1-menhir)))))
+ (home-page "https://gallium.inria.fr/~fpottier/menhir/")
+ (synopsis "Parser generator")
+ (description "Menhir is a parser generator. It turns high-level grammar
+specifications, decorated with semantic actions expressed in the OCaml
+programming language into parsers, again expressed in OCaml. It is based on
+Knuth’s LR(1) parser construction technique.")
+ ;; The file src/standard.mly and all files listed in src/mnehirLib.mlpack
+ ;; that have an *.ml or *.mli extension are GPL licensed. All other files
+ ;; are QPL licensed.
+ (license (list license:gpl2+ license:qpl))))
+
(define-public ocaml-bigarray-compat
(package
(name "ocaml-bigarray-compat")
@@ -1615,12 +1645,12 @@ compilers that can directly deal with packages.")
(native-inputs
(list m4 ocaml-4.09))))
-(define-public ocaml5.0-findlib
+(define-public ocaml5.1-findlib
(package
(inherit ocaml-findlib)
- (name "ocaml5.0-findlib")
+ (name "ocaml5.1-findlib")
(native-inputs
- (list m4 ocaml-5.0))))
+ (list m4 ocaml-5.1))))
(define-public ocaml-ounit2
(package
@@ -1953,8 +1983,8 @@ Descriptions of projects, libraries and executables are provided in
(define-public ocaml4.09-dune-bootstrap
(package-with-ocaml4.09 dune-bootstrap))
-(define-public ocaml5.0-dune-bootstrap
- (package-with-ocaml5.0 dune-bootstrap))
+(define-public ocaml5.1-dune-bootstrap
+ (package-with-ocaml5.1 dune-bootstrap))
(define-public dune-configurator
(package
@@ -1977,7 +2007,7 @@ Descriptions of projects, libraries and executables are provided in
(propagated-inputs
(list ocaml-csexp))
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))
- (ocaml5.0-variant . ,(delay ocaml5.0-dune-configurator))))
+ (ocaml5.1-variant . ,(delay ocaml5.1-dune-configurator))))
(synopsis "Dune helper library for gathering system configuration")
(description "Dune-configurator is a small library that helps writing
OCaml scripts that test features available on the system, in order to generate
@@ -2002,16 +2032,16 @@ config.h files for instance. Among other things, dune-configurator allows one t
(propagated-inputs
`(("ocaml-csexp" ,ocaml4.09-csexp)))))
-(define-public ocaml5.0-dune-configurator
+(define-public ocaml5.1-dune-configurator
(package
(inherit dune-configurator)
- (name "ocaml5.0-dune-configurator")
+ (name "ocaml5.1-dune-configurator")
(arguments
`(,@(package-arguments dune-configurator)
- #:dune ,ocaml5.0-dune-bootstrap
- #:ocaml ,ocaml-5.0
- #:findlib ,ocaml5.0-findlib))
- (propagated-inputs (list ocaml5.0-csexp))))
+ #:dune ,ocaml5.1-dune-bootstrap
+ #:ocaml ,ocaml-5.1
+ #:findlib ,ocaml5.1-findlib))
+ (propagated-inputs (list ocaml5.1-csexp))))
(define-public dune
(package
@@ -2020,7 +2050,7 @@ config.h files for instance. Among other things, dune-configurator allows one t
(list dune-configurator))
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))
(ocaml4.09-variant . ,(delay ocaml4.09-dune))
- (ocaml5.0-variant . ,(delay ocaml5.0-dune))))))
+ (ocaml5.1-variant . ,(delay ocaml5.1-dune))))))
(define-public ocaml4.09-dune
(package
@@ -2042,11 +2072,11 @@ config.h files for instance. Among other things, dune-configurator allows one t
(base32
"0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))))
-(define-public ocaml5.0-dune
+(define-public ocaml5.1-dune
(package
- (inherit ocaml5.0-dune-bootstrap)
+ (inherit ocaml5.1-dune-bootstrap)
(propagated-inputs
- (list ocaml5.0-dune-configurator))))
+ (list ocaml5.1-dune-configurator))))
(define-public ocaml-pp
(package
@@ -2172,7 +2202,7 @@ executables and libraries")))
(propagated-inputs
(list ocaml-result))
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp))
- (ocaml5.0-variant . ,(delay ocaml5.0-csexp))))
+ (ocaml5.1-variant . ,(delay ocaml5.1-csexp))))
(home-page "https://github.com/ocaml-dune/csexp")
(synopsis "Parsing and printing of S-expressions in Canonical form")
(description "This library provides minimal support for Canonical
@@ -2201,17 +2231,17 @@ module of this library is parameterised by the type of S-expressions.")
(propagated-inputs
`(("ocaml-result" ,ocaml4.09-result)))))
-(define-public ocaml5.0-csexp
+(define-public ocaml5.1-csexp
(package
(inherit ocaml-csexp)
- (name "ocaml5.0-csexp")
+ (name "ocaml5.1-csexp")
(arguments
- `(#:ocaml ,ocaml-5.0
- #:findlib ,ocaml5.0-findlib
+ `(#:ocaml ,ocaml-5.1
+ #:findlib ,ocaml5.1-findlib
,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
- ((#:dune _) ocaml5.0-dune-bootstrap))))
+ ((#:dune _) ocaml5.1-dune-bootstrap))))
(propagated-inputs
- `(("ocaml-result" ,ocaml5.0-result)))))
+ `(("ocaml-result" ,ocaml5.1-result)))))
(define-public ocaml-migrate-parsetree
(package
@@ -2332,7 +2362,7 @@ bitsrings in Erlang style as primitives to the language.")))
(arguments
`(#:dune ,dune-bootstrap))
(properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))
- (ocaml5.0-variant . ,(delay ocaml5.0-result))))
+ (ocaml5.1-variant . ,(delay ocaml5.1-result))))
(home-page "https://github.com/janestreet/result")
(synopsis "Compatibility Result module")
(description "Uses the new result type defined in OCaml >= 4.03 while
@@ -2349,14 +2379,14 @@ defined in this library.")
#:ocaml ,ocaml-4.09
#:findlib ,ocaml4.09-findlib))))
-(define-public ocaml5.0-result
+(define-public ocaml5.1-result
(package
(inherit ocaml-result)
- (name "ocaml5.0-result")
+ (name "ocaml5.1-result")
(arguments
- `(#:dune ,ocaml5.0-dune-bootstrap
- #:ocaml ,ocaml-5.0
- #:findlib ,ocaml5.0-findlib))))
+ `(#:dune ,ocaml5.1-dune-bootstrap
+ #:ocaml ,ocaml-5.1
+ #:findlib ,ocaml5.1-findlib))))
(define-public ocaml-iso8601
(package
@@ -3169,8 +3199,8 @@ to which allows adding and looking up bindings in a type safe manner.")
OCaml with fibers.")
(license license:isc)))
-(define-public ocaml5.0-eio
- (package-with-ocaml5.0 ocaml-eio))
+(define-public ocaml5.1-eio
+ (package-with-ocaml5.1 ocaml-eio))
(define ocaml-eio-luv
(package
@@ -3183,8 +3213,8 @@ OCaml with fibers.")
(description "@code{Eio_luv} provides a cross-platform backend for
@code{Ocaml Eio}'s APIs using luv (libuv)")))
-(define-public ocaml5.0-eio-luv
- (package-with-ocaml5.0 ocaml-eio-luv))
+(define-public ocaml5.1-eio-luv
+ (package-with-ocaml5.1 ocaml-eio-luv))
(define-public ocaml-uring
(package
@@ -3236,8 +3266,8 @@ OCaml with fibers.")
@code{Ocaml Eio} APIs, plus a low-level API that can be used directly
(in non-portable code).")))
-(define-public ocaml5.0-eio-linux
- (package-with-ocaml5.0 ocaml-eio-linux))
+(define-public ocaml5.1-eio-linux
+ (package-with-ocaml5.1 ocaml-eio-linux))
(define ocaml-eio-main
(package
@@ -3256,8 +3286,8 @@ OCaml with fibers.")
(description "@code{Eio_main} selects an appropriate backend (e.g.
@samp{eio_linux} or @samp{eio_luv}), depending on your platform.")))
-(define-public ocaml5.0-eio-main
- (package-with-ocaml5.0 ocaml-eio-main))
+(define-public ocaml5.1-eio-main
+ (package-with-ocaml5.1 ocaml-eio-main))
(define-public ocaml-lwt
(package
@@ -5707,7 +5737,7 @@ long and size_t whose sizes depend on the host platform.")
("integers" ,ocaml-integers)))
(inputs
(list libffi))
- (properties `((ocaml5.0-variant . ,(delay ocaml5.0-ctypes))))
+ (properties `((ocaml5.1-variant . ,(delay ocaml5.1-ctypes))))
(synopsis "Library for binding to C libraries using pure OCaml")
(description "Ctypes is a library for binding to C libraries using pure
OCaml. The primary aim is to make writing C extensions as straightforward as
@@ -5718,12 +5748,12 @@ functions that you want to call, then bind directly to those functions -- all
without writing or generating any C!")
(license license:expat)))
-(define-public ocaml5.0-ctypes
- ;; Contains fix to support OCaml 5.0
+(define-public ocaml5.1-ctypes
+ ;; Contains fix to support OCaml 5.1
;; (https://github.com/ocamllabs/ocaml-ctypes/pull/709)
(let ((commit "52ff621f47dbc1ee5a90c30af0ae0474549946b4")
(revision "0"))
- (package-with-ocaml5.0
+ (package-with-ocaml5.1
(package
(inherit ocaml-ctypes)
(name "ocaml-ctypes")
@@ -6098,7 +6128,7 @@ serializers and deserializers from type definitions.")
(arguments '(#:package "merlin-lib"
#:tests? #f)) ; no tests
(propagated-inputs (list ocaml-csexp ocaml-menhir))
- (properties `((ocaml5.0-variant . ,(delay ocaml5.0-merlin-lib))))
+ (properties `((ocaml5.1-variant . ,(delay ocaml5.1-merlin-lib))))
(home-page "https://ocaml.github.io/merlin/")
(synopsis "Merlin libraries")
(description "These libraries provides access to low-level compiler
@@ -6110,7 +6140,7 @@ interfaces and the standard higher-level merlin protocol.")
(package
(inherit ocaml-merlin-lib)
(name "ocaml-merlin-lib")
- (version "4.7.1-500")
+ (version "4.13.1-501")
(source
(origin
(method git-fetch)
@@ -6120,11 +6150,11 @@ interfaces and the standard higher-level merlin protocol.")
(file-name (git-file-name name version))
(sha256
(base32
- "05a87i2dkzv800nwb6y7b2j45avg8gs3gzb5a98wrj1i5zjqwh01"))))
+ "05k07hfxxdcfzis7n2fsa2a2kd1f06dharkyyv8vixmrgzffn2c3"))))
(properties '())))
-(define-public ocaml5.0-merlin-lib
- (package-with-ocaml5.0 ocaml-merlin-lib-500))
+(define-public ocaml5.1-merlin-lib
+ (package-with-ocaml5.1 ocaml-merlin-lib-500))
(define-public ocaml-dot-merlin-reader
(package
@@ -6133,19 +6163,19 @@ interfaces and the standard higher-level merlin protocol.")
(arguments '(#:package "dot-merlin-reader"
#:tests? #f)) ; no tests
(propagated-inputs (list ocaml-merlin-lib))
- (properties `((ocaml5.0-variant . ,(delay ocaml5.0-dot-merlin-reader))))
+ (properties `((ocaml5.1-variant . ,(delay ocaml5.1-dot-merlin-reader))))
(synopsis "Reads config files for @code{ocaml-merlin}")
(description "@code{ocaml-dot-merlin-reader} is an external reader for
@code{ocaml-merlin} configurations.")))
-(define-public ocaml5.0-dot-merlin-reader
- (package-with-ocaml5.0
+(define-public ocaml5.1-dot-merlin-reader
+ (package-with-ocaml5.1
(package
(inherit ocaml-merlin-lib-500)
(name "ocaml-dot-merlin-reader")
(arguments '(#:package "dot-merlin-reader"
#:tests? #f)) ; no tests
- (propagated-inputs (list ocaml5.0-merlin-lib))
+ (propagated-inputs (list ocaml5.1-merlin-lib))
(synopsis "Reads config files for @code{ocaml-merlin}")
(description "@code{ocaml-dot-merlin-reader} is an external reader for
@code{ocaml-merlin} configurations."))))
@@ -6163,7 +6193,7 @@ interfaces and the standard higher-level merlin protocol.")
(when tests?
(invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
(propagated-inputs (list ocaml-merlin-lib ocaml-yojson))
- (properties `((ocaml5.0-variant . ,(delay ocaml5.0-merlin))))
+ (properties `((ocaml5.1-variant . ,(delay ocaml5.1-merlin))))
(native-inputs
(list ocaml-dot-merlin-reader ; required for tests
ocaml-ppxlib
@@ -6176,8 +6206,8 @@ External contributors added support for Visual Studio Code, Sublime Text and
Atom.")
(license license:expat)))
-(define-public ocaml5.0-merlin
- (package-with-ocaml5.0
+(define-public ocaml5.1-merlin
+ (package-with-ocaml5.1
(package
(inherit ocaml-merlin-lib-500)
(name "ocaml-merlin")
@@ -6431,7 +6461,7 @@ rules than the default pretty printer in Sexplib.")
(build-system dune-build-system)
(propagated-inputs
(list ocaml-sexplib0))
- (properties `((ocaml5.0-variant . ,(delay ocaml5.0-base))))
+ (properties `((ocaml5.1-variant . ,(delay ocaml5.1-base))))
(synopsis
"Full standard library replacement for OCaml")
(description
@@ -6446,12 +6476,12 @@ provided by companion libraries such as
@url{https://github.com/janestreet/stdio, ocaml-stdio}.")
(license license:expat)))
-(define-public ocaml5.0-base
+(define-public ocaml5.1-base
;; This version contains fixes for OCaml 5.0
;; (see https://github.com/ocaml/opam-repository/pull/21851)
(let ((commit "423dbad212f55506767d758b1ceb2d6e0ee8e7f5")
(revision "0"))
- (package-with-ocaml5.0
+ (package-with-ocaml5.1
(package
(inherit ocaml-base)
(name "ocaml-base")
@@ -6462,7 +6492,7 @@ provided by companion libraries such as
(uri (git-reference
(url "https://github.com/kit-ty-kate/base")
(commit commit)))
- (file-name (git-file-name "ocaml5.0-base" version))
+ (file-name (git-file-name "ocaml5.1-base" version))
(sha256
(base32
"15vsiv3q53l1bzrvqgspf3lp2104s9dzw62z3nl75f53jvjvsyf6"))))
@@ -7369,7 +7399,7 @@ useful errors on failure.")
ocaml-migrate-parsetree
ocaml-re))
(properties `((upstream-name . "ppx_expect")
- (ocaml5.0-variant . ,(delay ocaml5.0-ppx-expect))))
+ (ocaml5.1-variant . ,(delay ocaml5.1-ppx-expect))))
(home-page "https://github.com/janestreet/ppx_expect")
(synopsis "Cram like framework for OCaml")
(description "Expect-test is a framework for writing tests in OCaml, similar
@@ -7379,12 +7409,12 @@ output-generating code, interleaved with @code{%expect} extension expressions
to denote the expected output.")
(license license:asl2.0)))
-(define-public ocaml5.0-ppx-expect
+(define-public ocaml5.1-ppx-expect
;; Contains fixes for OCaml 5.0
;; (https://github.com/janestreet/ppx_expect/pull/39/).
(let ((commit "83edfc1ee779e8dcdd975e26715c2e688326befa")
(revision "0"))
- (package-with-ocaml5.0
+ (package-with-ocaml5.1
(package
(inherit ocaml-ppx-expect)
(name "ocaml-ppx-expect")
@@ -9235,15 +9265,15 @@ document and by the text width.")
ocaml-uunf
ocaml-uutf
ocaml-pprint))
- (properties `((ocaml5.0-variant . ,(delay ocaml5.0-crowbar))))
+ (properties `((ocaml5.1-variant . ,(delay ocaml5.1-crowbar))))
(synopsis "Ocaml library for tests, let a fuzzer find failing cases")
(description "Crowbar is a library for testing code, combining
QuickCheck-style property-based testing and the magical bug-finding powers of
@uref{http://lcamtuf.coredump.cx/afl/, afl-fuzz}.")
(license license:expat)))
-(define-public ocaml5.0-crowbar
- (package-with-ocaml5.0
+(define-public ocaml5.1-crowbar
+ (package-with-ocaml5.1
(package
(inherit ocaml-crowbar)
;; Tests require ocaml-calendar which does not work with OCaml 5.0