diff options
Diffstat (limited to 'gnu/packages/ocaml.scm')
-rw-r--r-- | gnu/packages/ocaml.scm | 170 |
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 |