-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpackage-defs.json
1 lines (1 loc) · 150 KB
/
package-defs.json
1
{"__opam_nix_env":{},"__opam_nix_regen":null,"astring":{"authors":["The astring programmers"],"bug-reports":"https://github.com/dbuenzli/astring/issues","build":[["ocaml","pkg/pkg.ml","build","--pinned","%{pinned}%"]],"depends":[{"conditions":[{"arg":"4.05.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"id":"build"}],"val":"topkg"}],"description":"\nAstring exposes an alternative `String` module for OCaml. This module\ntries to balance minimality and expressiveness for basic, index-free,\nstring processing and provides types and functions for substrings,\nstring sets and string maps.\n\nRemaining compatible with the OCaml `String` module is a non-goal. The\n`String` module exposed by Astring has exception safe functions,\nremoves deprecated and rarely used functions, alters some signatures\nand names, adds a few missing functions and fully exploits OCaml's\nnewfound string immutability.\n\nAstring depends only on the OCaml standard library. It is distributed\nunder the ISC license.\n","dev-repo":"git+http://erratique.ch/repos/astring.git","doc":"https://erratique.ch/software/astring/doc","files-contents":{},"homepage":"https://erratique.ch/software/astring","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"astring","opam-version":"2.0","synopsis":"Alternative String module for OCaml","tags":["string","org:erratique"],"url":{"section":{"archive":"https://erratique.ch/software/astring/releases/astring-0.8.5.tbz","checksum":"e148907c24157d1df43bec89b58b3ec8"}},"version":"0.8.5"},"base":{"authors":["Jane Street Group, LLC"],"bug-reports":"https://github.com/janestreet/base/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.14.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"lhs":{"arg":"v0.16","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"v0.17","prefix_relop":"lt"}}],"val":"sexplib0"},{"conditions":[{"arg":"2.0.0","prefix_relop":"geq"}],"val":"dune"},"dune-configurator"],"description":"\nFull standard library replacement for OCaml\n\nBase is a complete and portable alternative to the OCaml standard\nlibrary. It provides all standard functionalities one would expect\nfrom a language standard library. It uses consistent conventions\nacross all of its module.\n\nBase aims to be usable in any context. As a result system dependent\nfeatures such as I/O are not offered by Base. They are instead\nprovided by companion libraries such as stdio:\n\n https://github.com/janestreet/stdio\n","dev-repo":"git+https://github.com/janestreet/base.git","doc":"https://ocaml.janestreet.com/ocaml-core/latest/doc/base/index.html","files-contents":{},"homepage":"https://github.com/janestreet/base","isLocal":false,"license":"MIT","maintainer":"Jane Street developers","name":"base","opam-version":"2.0","synopsis":"Full standard library replacement for OCaml","url":{"section":{"checksum":["md5=04572fc23a4651604cfcab83f720cb4c","sha512=69380ed392faf4495459f97f70a10a6959fce71d2e6ba093472fc272141646307fd7872407de855dfa48ef0435f6587eae5aa50f4a67eac40a9e1946d0c3c070"],"src":"https://github.com/janestreet/base/archive/refs/tags/v0.16.3.tar.gz"}},"version":"v0.16.3"},"base-bigarray":{"description":"\nBigarray library distributed with the OCaml compiler\n","files-contents":{},"isLocal":false,"maintainer":"https://github.com/ocaml/opam-repository/issues","name":"base-bigarray","opam-version":"2.0","version":"base"},"base-bytes":{"authors":" ","depends":[{"conditions":[{"arg":"4.02.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.5.3","prefix_relop":"geq"}],"val":"ocamlfind"}],"files-contents":{},"homepage":" ","isLocal":false,"maintainer":" ","name":"base-bytes","opam-version":"2.0","synopsis":"Bytes library distributed with the OCaml compiler","version":"base"},"base-domains":{"depends":[{"lhs":{"conditions":[{"arg":"5.0","prefix_relop":"geq"}],"val":"ocaml"},"logop":"or","rhs":{"conditions":[{"lhs":{"lhs":{"lhs":{"lhs":{"lhs":{"arg":"4.14.0+domains","prefix_relop":"eq"},"logop":"or","rhs":{"arg":"4.12.0+domains+effects","prefix_relop":"eq"}},"logop":"or","rhs":{"arg":"4.12.0+domains","prefix_relop":"eq"}},"logop":"or","rhs":{"arg":"4.10.0+multicore","prefix_relop":"eq"}},"logop":"or","rhs":{"arg":"4.10.0+multicore+no-effect-syntax","prefix_relop":"eq"}},"logop":"or","rhs":{"arg":"4.06.1+multicore","prefix_relop":"eq"}}],"val":"ocaml-variants"}}],"description":"\nDomains-based parallelism distributed with the Multicore OCaml compiler\"\n","files-contents":{},"isLocal":false,"maintainer":"https://github.com/ocaml-multicore/multicore-opam/issues","name":"base-domains","opam-version":"2.0","version":"base"},"base-nnp":{"depends":{"lhs":{"lhs":"base-domains","logop":"or","rhs":"ocaml-option-nnp"},"logop":"or","rhs":{"conditions":[{"arg":"4.06.1+no-naked-pointers+flambda","prefix_relop":"eq"}],"val":"ocaml-variants"}},"description":"\nInstalled when the compiler does not permit naked pointers in\nthe heap. Prior to OCaml 5.00.0, this mode was expressly selected\nby configuring with --disable-naked-pointers. The shared memory\nparallelism added in OCaml 5.00.0 requires this mode.\n","files-contents":{},"isLocal":false,"maintainer":"https://github.com/ocaml/opam-repository/issues","name":"base-nnp","opam-version":"2.0","synopsis":"Naked pointers prohibited in the OCaml heap","version":"base"},"base-threads":{"description":"\nThreads library distributed with the OCaml compiler\n","files-contents":{},"isLocal":false,"maintainer":"https://github.com/ocaml/opam-repository/issues","name":"base-threads","opam-version":"2.0","version":"base"},"base-unix":{"description":"\nUnix library distributed with the OCaml compiler\n","files-contents":{},"isLocal":false,"maintainer":"https://github.com/ocaml/opam-repository/issues","name":"base-unix","opam-version":"2.0","version":"base"},"bigstringaf":{"authors":["Spiros Eliopoulos <[email protected]>"],"bug-reports":"https://github.com/inhabitedtype/bigstringaf/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"conflicts":[{"conditions":[{"arg":"6.0.0","prefix_relop":"lt"}],"val":"mirage-xen"},"ocaml-freestanding",{"conditions":[{"arg":"3.5.0","prefix_relop":"lt"}],"val":"js_of_ocaml"}],"depends":[{"conditions":[{"arg":"3.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"3.0","prefix_relop":"geq"}],"val":"dune-configurator"},{"conditions":[{"id":"with-test"}],"val":"alcotest"},{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"}],"description":"\nBigstring intrinsics and fast blits based on memcpy/memmove\n\nThe OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not\nwidely-known, sometimes misused, and so programs that use Bigstrings are slower\nthan they have to be. And even if a library got that part right and exposed the\nintrinsics properly, the compiler doesn't have any fast blits between\nBigstrings and other string-like types.\n\nSo here they are. Go crazy.\n","dev-repo":"git+https://github.com/inhabitedtype/bigstringaf.git","files-contents":{},"homepage":"https://github.com/inhabitedtype/bigstringaf","isLocal":false,"license":"BSD-3-clause","maintainer":"Spiros Eliopoulos <[email protected]>","name":"bigstringaf","opam-version":"2.0","synopsis":"Bigstring intrinsics and fast blits based on memcpy/memmove","url":{"section":{"checksum":"md5=909fdc277cf03096a35b565325d5314a","src":"https://github.com/inhabitedtype/bigstringaf/archive/0.9.1.tar.gz"}},"version":"0.9.1"},"camlp-streams":{"authors":["Daniel de Rauglaudre","Xavier Leroy"],"bug-reports":"https://github.com/ocaml/camlp-streams/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"2.7","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.02.3","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\n\nThis package provides two library modules:\n- Stream: imperative streams, with in-place update and memoization\n of the latest element produced.\n- Genlex: a small parameterized lexical analyzer producing streams\n of tokens from streams of characters.\n\nThe two modules are designed for use with Camlp4 and Camlp5:\n- The stream patterns and stream expressions of Camlp4/Camlp5 consume\n and produce data of type 'a Stream.t.\n- The Genlex tokenizer can be used as a simple lexical analyzer for\n Camlp4/Camlp5-generated parsers.\n\nThe Stream module can also be used by hand-written recursive-descent\nparsers, but is not very convenient for this purpose.\n\nThe Stream and Genlex modules have been part of the OCaml standard library\nfor a long time, and have been distributed as part of the core OCaml system.\nThey will be removed from the OCaml standard library at some future point,\nbut will be maintained and distributed separately in this camlpstreams package.\n","dev-repo":"git+https://github.com/ocaml/camlp-streams.git","files-contents":{},"homepage":"https://github.com/ocaml/camlp-streams","isLocal":false,"license":"LGPL-2.1-only WITH OCaml-LGPL-linking-exception","maintainer":["Florian Angeletti <[email protected]>","Xavier Leroy <[email protected]>"],"name":"camlp-streams","opam-version":"2.0","synopsis":"The Stream and Genlex libraries for use with Camlp4 and Camlp5","url":{"section":{"checksum":["md5=afc874b25f7a1f13e8f5cfc1182b51a7","sha512=2efa8dd4a636217c8d49bac1e4e7e5558fc2f45cfea66514140a59fd99dd08d61fb9f1e17804997ff648b71b13820a5d4a1eb70fed9d848aa2abd6e41f853c86"],"src":"https://github.com/ocaml/camlp-streams/archive/v5.0.1.tar.gz"}},"version":"5.0.1"},"camomile":{"authors":["Yoriyuki Yamagata"],"bug-reports":"https://github.com/savonet/Camomile/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"--promote-install-files=false","@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}],["dune","install","-p",{"id":"name"},"--create-install-files",{"id":"name"}]],"depends":[{"conditions":[{"arg":"3.4","prefix_relop":"geq"}],"val":"dune"},"dune-site","camlp-streams",{"conditions":[{"id":"with-test"}],"val":"stdlib-random"},{"conditions":[{"arg":"4.13","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\nCamomile is a Unicode library for OCaml. Camomile provides Unicode character\ntype, UTF-8, UTF-16, UTF-32 strings, conversion to/from about 200 encodings,\ncollation and locale-sensitive case mappings, and more. The library is currently\ndesigned for Unicode Standard 3.2.","dev-repo":"git+https://github.com/savonet/Camomile.git","doc":"https://savonet.github.io/Camomile/","files-contents":{},"homepage":"https://github.com/savonet/Camomile","isLocal":false,"license":"LGPL-2.0-or-later WITH OCaml-LGPL-linking-exception","maintainer":["[email protected]"],"name":"camomile","opam-version":"2.0","synopsis":"A Unicode library","url":{"section":{"checksum":["md5=41e02d124c3fa29ea511110d2c6532de","sha512=b0ae3d921f65390e8ec88a04901dd097b568db9f9ae70fb328e9d3ddb2dd8922b9a8e8da9ace91ad9cb5f6a1310ae5b6ba502e287d6c828f4d60622289316ac8"],"src":"https://github.com/savonet/Camomile/archive/refs/tags/v2.0.0.tar.gz"}},"version":"2.0.0"},"chrome-trace":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"This library offers no backwards compatibility guarantees. Use at your own risk.","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"chrome-trace","opam-version":"2.0","synopsis":"Chrome trace event generation library","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"cmdliner":{"authors":"The cmdliner programmers","bug-reports":"https://github.com/dbuenzli/cmdliner/issues","build":[{"id":"make"},"all","PREFIX=%{prefix}%"],"depends":[{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"}],"description":"Cmdliner allows the declarative definition of command line interfaces\nfor OCaml.\n\nIt provides a simple and compositional mechanism to convert command\nline arguments to OCaml values and pass them to your functions. The\nmodule automatically handles syntax errors, help messages and UNIX man\npage generation. It supports programs with single or multiple commands\nand respects most of the [POSIX][1] and [GNU][2] conventions.\n\nCmdliner has no dependencies and is distributed under the ISC license.\n\n[1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html\n[2]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html\n\nHome page: http://erratique.ch/software/cmdliner","dev-repo":"git+https://erratique.ch/repos/cmdliner.git","doc":"https://erratique.ch/software/cmdliner/doc","files-contents":{},"homepage":"https://erratique.ch/software/cmdliner","install":[[{"id":"make"},"install","LIBDIR=%{_:lib}%","DOCDIR=%{_:doc}%"],[{"id":"make"},"install-doc","LIBDIR=%{_:lib}%","DOCDIR=%{_:doc}%"]],"isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"cmdliner","opam-version":"2.0","synopsis":"Declarative definition of command line interfaces for OCaml","tags":["cli","system","declarative","org:erratique"],"url":{"section":{"checksum":"sha512=6fcd6a59a6fbc6986b1aecdc3e4ce7a0dc43c65a16b427d6caa5504b10b51384f6b0bc703af646b09f5f1caeb6827b37d4480ce350ca8006204c850785f2810b","src":"https://erratique.ch/software/cmdliner/releases/cmdliner-1.2.0.tbz"}},"version":"1.2.0"},"cppo":{"authors":"Martin Jambon","bug-reports":"https://github.com/ocaml-community/cppo/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],{"conditions":[{"id":"with-test"}],"val":["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}]},{"conditions":[{"id":"with-doc"}],"val":["dune","build","-p",{"id":"name"},"@doc"]}],"depends":[{"conditions":[{"arg":"4.02.3","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.10","prefix_relop":"geq"}],"val":"dune"},"base-unix"],"description":"Cppo is an equivalent of the C preprocessor for OCaml programs.\nIt allows the definition of simple macros and file inclusion.\n\nCppo is:\n\n* more OCaml-friendly than cpp\n* easy to learn without consulting a manual\n* reasonably fast\n* simple to install and to maintain","dev-repo":"git+https://github.com/ocaml-community/cppo.git","doc":"https://ocaml-community.github.io/cppo","files-contents":{},"homepage":"https://github.com/ocaml-community/cppo","isLocal":false,"license":"BSD-3-Clause","maintainer":["Martin Jambon <[email protected]>","Yishuai Li <[email protected]>"],"name":"cppo","opam-version":"2.0","synopsis":"Code preprocessor like cpp for OCaml","url":{"section":{"checksum":["md5=d23ffe85ac7dc8f0afd1ddf622770d09","sha512=26ff5a7b7f38c460661974b23ca190f0feae3a99f1974e0fd12ccf08745bd7d91b7bc168c70a5385b837bfff9530e0e4e41cf269f23dd8cf16ca658008244b44"],"src":"https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz"}},"version":"1.6.9"},"csexp":{"authors":["Quentin Hocquet <[email protected]>","Jane Street Group, LLC <[email protected]>","Jeremie Dimino <[email protected]>"],"bug-reports":"https://github.com/ocaml-dune/csexp/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.4","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\n\nThis library provides minimal support for Canonical S-expressions\n[1]. Canonical S-expressions are a binary encoding of S-expressions\nthat is super simple and well suited for communication between\nprograms.\n\nThis library only provides a few helpers for simple applications. If\nyou need more advanced support, such as parsing from more fancy input\nsources, you should consider copying the code of this library given\nhow simple parsing S-expressions in canonical form is.\n\nTo avoid a dependency on a particular S-expression library, the only\nmodule of this library is parameterised by the type of S-expressions.\n\n[1] https://en.wikipedia.org/wiki/Canonical_S-expressions\n","dev-repo":"git+https://github.com/ocaml-dune/csexp.git","doc":"https://ocaml-dune.github.io/csexp/","files-contents":{},"homepage":"https://github.com/ocaml-dune/csexp","isLocal":false,"license":"MIT","maintainer":["Jeremie Dimino <[email protected]>"],"name":"csexp","opam-version":"2.0","synopsis":"Parsing and printing of S-expressions in Canonical form","url":{"section":{"checksum":["sha256=1a14dd04bb4379a41990248550628c77913a9c07f3c35c1370b6960e697787ff","sha512=be281018bcfc20d4db14894ef51c4b836d6338d2fdfe22e63d46f405f8dea7349e16f1c0ecd65f73d4c85a2a80e618cdbb8c9dafcbb9f229f04f1adca5b1973c"],"src":"https://github.com/ocaml-dune/csexp/releases/download/1.5.2/csexp-1.5.2.tbz"}},"version":"1.5.2","x-commit-hash":"e6c4768e10c61bcb04d09748744dad55602149c6"},"cstruct":{"authors":["Anil Madhavapeddy","Richard Mortier","Thomas Gazagnaire","Pierre Chambart","David Kaloper","Jeremy Yallop","David Scott","Mindy Preston","Thomas Leonard","Anton Kochkov","Etienne Millon"],"bug-reports":"https://github.com/mirage/ocaml-cstruct/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],{"conditions":[{"id":"with-test"}],"val":["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}]}],"conflicts":[{"conditions":[{"arg":"3.5.0","prefix_relop":"lt"}],"val":"js_of_ocaml"}],"depends":[{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"2.0.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"id":"with-test"}],"val":"alcotest"},{"conditions":[{"arg":"0.8.9","prefix_relop":"geq"}],"val":"fmt"},{"conditions":[{"id":"with-test"}],"val":"crowbar"}],"description":"\nCstruct is a library and syntax extension to make it easier to access C-like\nstructures directly from OCaml. It supports both reading and writing to these\nstructures, and they are accessed via the `Bigarray` module.","dev-repo":"git+https://github.com/mirage/ocaml-cstruct.git","doc":"https://mirage.github.io/ocaml-cstruct/","files-contents":{},"homepage":"https://github.com/mirage/ocaml-cstruct","isLocal":false,"license":"ISC","maintainer":"[email protected]","name":"cstruct","opam-version":"2.0","synopsis":"Access C-like structures directly from OCaml","tags":["org:mirage","org:ocamllabs"],"url":{"section":{"checksum":["sha256=9a78073392580e8349148fa3ab4b1b2e989dc9d30d07401b04c96b7c60f03e62","sha512=8d33fe6b3707a3994d0225cd33cadde0bb2ca834ef01096e3df33a08e4a8c6d02ebccddf558a73988b8a5595b65fdc10de61efbf872c6c9e55c719c7e19c463d"],"src":"https://github.com/mirage/ocaml-cstruct/releases/download/v6.2.0/cstruct-6.2.0.tbz"}},"version":"6.2.0","x-commit-hash":"8c7c94a038aae72dc89c994551c9d2c690895607"},"domain-local-await":{"authors":["Vesa Karvonen <[email protected]>"],"bug-reports":"https://github.com/ocaml-multicore/domain-local-await/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.3","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.12.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.0.0","prefix_relop":"geq"}],"val":"thread-table"},{"conditions":[{"lhs":{"arg":"1.7.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"alcotest"},{"conditions":[{"lhs":{"arg":"1.10.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"mdx"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"A low level mechanism intended for writing higher level libraries that need to block in a scheduler friendly manner.","dev-repo":"git+https://github.com/ocaml-multicore/domain-local-await.git","files-contents":{},"homepage":"https://github.com/ocaml-multicore/domain-local-await","isLocal":false,"license":"ISC","maintainer":["Vesa Karvonen <[email protected]>"],"name":"domain-local-await","opam-version":"2.0","synopsis":"A scheduler independent blocking mechanism","url":{"section":{"checksum":["sha256=2a28d683489349da9bc245dde4aaf7ffde2eac39bc405498da53261a352ec46a","sha512=dba7f1d3053f711f3d4887acbc8f30abd5b26c379321aa2247b3162919bae4b28e8de8b687f815c478cfbb58ee438597a94968cfe10e7f0a0a1aaad88cfeb13c"],"src":"https://github.com/ocaml-multicore/domain-local-await/releases/download/1.0.0/domain-local-await-1.0.0.tbz"}},"version":"1.0.0","x-commit-hash":"c0bc225ec413eb783424bfc941ed31af9b1cbdff"},"domain-name":{"authors":"Hannes Mehnert <[email protected]>","bug-reports":"https://github.com/hannesm/domain-name/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],{"conditions":[{"id":"with-test"}],"val":["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}]}],"depends":[{"conditions":[{"arg":"4.04.2","prefix_relop":"geq"}],"val":"ocaml"},"dune",{"conditions":[{"id":"with-test"}],"val":"alcotest"}],"description":"\nA domain name is a sequence of labels separated by dots, such as `foo.example`.\nEach label may contain any bytes. The length of each label may not exceed 63\ncharactes. The total length of a domain name is limited to 253 (byte\nrepresentation is 255), but other protocols (such as SMTP) may apply even\nsmaller limits. A domain name label is case preserving, comparison is done in a\ncase insensitive manner.\n","dev-repo":"git+https://github.com/hannesm/domain-name.git","doc":"https://hannesm.github.io/domain-name/doc","files-contents":{},"homepage":"https://github.com/hannesm/domain-name","isLocal":false,"license":"ISC","maintainer":"Hannes Mehnert <[email protected]>","name":"domain-name","opam-version":"2.0","synopsis":"RFC 1035 Internet domain names","url":{"section":{"checksum":["sha256=a5c06e22845895201973e812fe3019274d1db81c0a7873da6c8007c4ad2108c5","sha512=f25aedb1ddf6ab8c49b1545cf88f4990114a9e7954d91cabf260e6ce470abd42dd135e8a55084262a77d4c9ee4bff6dc00c71307b23a48d82d50593b910ee173"],"src":"https://github.com/hannesm/domain-name/releases/download/v0.4.0/domain-name-0.4.0.tbz"}},"version":"0.4.0","x-commit-hash":"e9833486ee40ef2c49c43dd72976022a627b4a34"},"dune":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[["ocaml","boot/bootstrap.ml","-j",{"id":"jobs"}],["./_boot/dune.exe","build","dune.install","--release","--profile","dune-bootstrap","-j",{"id":"jobs"}]],"conflicts":[{"conditions":[{"arg":"3.4.0","prefix_relop":"lt"}],"val":"merlin"},{"conditions":[{"arg":"1.3.0","prefix_relop":"lt"}],"val":"ocaml-lsp-server"},{"conditions":[{"arg":"2.3.0","prefix_relop":"lt"}],"val":"dune-configurator"},{"conditions":[{"arg":"2.0.1","prefix_relop":"lt"}],"val":"odoc"},{"conditions":[{"arg":"1.3.0","prefix_relop":"lt"}],"val":"dune-release"},{"conditions":[{"arg":"3.6.0","prefix_relop":"lt"}],"val":"js_of_ocaml-compiler"},{"conditions":[{"arg":"transition","prefix_relop":"eq"}],"val":"jbuilder"}],"depends":[{"group":[{"lhs":{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},"logop":"or","rhs":{"group":[{"lhs":{"conditions":[{"lhs":{"arg":"4.02","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"4.08~~","prefix_relop":"lt"}}],"val":"ocaml"},"logop":"and","rhs":"ocamlfind-secondary"}]}}]},"base-unix","base-threads"],"description":"\n\ndune is a build system that was designed to simplify the release of\nJane Street packages. It reads metadata from \"dune\" files following a\nvery simple s-expression syntax.\n\ndune is fast, has very low-overhead, and supports parallel builds on\nall platforms. It has no system dependencies; all you need to build\ndune or packages using dune is OCaml. You don't need make or bash\nas long as the packages themselves don't use bash explicitly.\n\ndune supports multi-package development by simply dropping multiple\nrepositories into the same directory.\n\nIt also supports multi-context builds, such as building against\nseveral opam roots/switches simultaneously. This helps maintaining\npackages across several versions of OCaml and gives cross-compilation\nfor free.\n","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"dune","opam-version":"2.0","synopsis":"Fast, portable, and opinionated build system","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"dune-build-info":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\nThe build-info library allows to access information about how the\nexecutable was built, such as the version of the project at which it\nwas built or the list of statically linked libraries with their\nversions. It supports reporting the version from the version control\nsystem during development to get an precise reference of when the\nexecutable was built.\n","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"dune-build-info","opam-version":"2.0","synopsis":"Embed build information inside executable","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"dune-configurator":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.04.0","prefix_relop":"geq"}],"val":"ocaml"},"base-unix",{"conditions":[{"arg":"1.5.0","prefix_relop":"geq"}],"val":"csexp"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\ndune-configurator is a small library that helps writing OCaml scripts that\ntest features available on the system, in order to generate config.h\nfiles for instance.\nAmong other things, dune-configurator allows one to:\n- test if a C program compiles\n- query pkg-config\n- import #define from OCaml header files\n- generate config.h file\n","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"dune-configurator","opam-version":"2.0","synopsis":"Helper library for gathering system configuration","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"dune-private-libs":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"1.5.0","prefix_relop":"geq"}],"val":"csexp"},{"conditions":[{"arg":"1.1.0","prefix_relop":"geq"}],"val":"pp"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"dyn"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"stdune"},{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\n!!!!!!!!!!!!!!!!!!!!!!\n!!!!! DO NOT USE !!!!!\n!!!!!!!!!!!!!!!!!!!!!!\n\nThis package contains code that is shared between various dune-xxx\npackages. However, it is not meant for public consumption and provides\nno stability guarantee.\n","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"dune-private-libs","opam-version":"2.0","synopsis":"Private libraries of Dune","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"dune-rpc":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},"csexp","ordering","dyn","xdg",{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"stdune"},{"conditions":[{"arg":"1.1.0","prefix_relop":"geq"}],"val":"pp"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"Library to connect and control a running dune instance","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"dune-rpc","opam-version":"2.0","synopsis":"Communicate with dune using rpc","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"dune-site":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"dune-private-libs"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"dune-site","opam-version":"2.0","synopsis":"Embed locations information inside executable and libraries","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"dyn":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"ordering"},{"conditions":[{"arg":"1.1.0","prefix_relop":"geq"}],"val":"pp"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"Dynamic type","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"dyn","opam-version":"2.0","synopsis":"Dynamic type","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"eio":{"authors":["Anil Madhavapeddy","Thomas Leonard"],"bug-reports":"https://github.com/ocaml-multicore/eio/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"conflicts":[{"conditions":[{"arg":"5.0.0~beta1","prefix_relop":"lt"}],"val":"ocaml-base-compiler"},{"conditions":[{"arg":"5.0.0~beta1","prefix_relop":"lt"}],"val":"ocaml-variants"},{"conditions":[{"arg":"5.0.0~beta1","prefix_relop":"lt"}],"val":"ocaml-system"},{"conditions":[{"arg":"0.3","prefix_relop":"lt"}],"val":"seq"}],"depends":[{"conditions":[{"arg":"3.9","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"5.0.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"0.9.0","prefix_relop":"geq"}],"val":"bigstringaf"},{"conditions":[{"arg":"6.0.1","prefix_relop":"geq"}],"val":"cstruct"},"lwt-dllist",{"conditions":[{"arg":"0.1.0","prefix_relop":"geq"}],"val":"optint"},{"conditions":[{"arg":"0.2.0","prefix_relop":"geq"}],"val":"psq"},{"conditions":[{"arg":"0.8.9","prefix_relop":"geq"}],"val":"fmt"},{"conditions":[{"arg":"0.8.1","prefix_relop":"geq"}],"val":"hmap"},{"conditions":[{"arg":"0.1.0","prefix_relop":"geq"}],"val":"domain-local-await"},{"conditions":[{"lhs":{"arg":"0.2","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"crowbar"},{"conditions":[{"arg":"2.0.0","prefix_relop":"geq"}],"val":"mtime"},{"conditions":[{"lhs":{"arg":"2.2.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"mdx"},{"conditions":[{"lhs":{"arg":"0.1.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"dscheck"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"An effect-based IO API for multicore OCaml with fibers.","dev-repo":"git+https://github.com/ocaml-multicore/eio.git","doc":"https://ocaml-multicore.github.io/eio/","files-contents":{},"homepage":"https://github.com/ocaml-multicore/eio","isLocal":false,"license":"ISC","maintainer":["[email protected]"],"name":"eio","opam-version":"2.0","synopsis":"Effect-based direct-style IO API for OCaml","url":{"section":{"checksum":["sha256=d84847ce85ffb78641496ad24be3c6ab5cc2c6885cedad6ae257ecac59d926a0","sha512=fbcbc8e7e8eaaeacd6c7b3be04fec19b356f900307b2cc1bf6c1cd6bd538c4ea59ab2c7d936fac00c52a3277737671759f1584025c24e0a7727447609c633821"],"src":"https://github.com/ocaml-multicore/eio/releases/download/v0.12/eio-0.12.tbz"}},"version":"0.12","x-commit-hash":"ad7149dc297b856c9bedd692e5809538fd27a4e2"},"eio_linux":{"authors":["Anil Madhavapeddy","Thomas Leonard"],"bug-reports":"https://github.com/ocaml-multicore/eio/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.9","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"lhs":{"arg":"1.7.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"alcotest"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"eio"},{"conditions":[{"lhs":{"arg":"2.2.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"mdx"},{"conditions":[{"arg":"0.7.0","prefix_relop":"geq"}],"val":"logs"},{"conditions":[{"arg":"0.8.9","prefix_relop":"geq"}],"val":"fmt"},{"conditions":[{"lhs":{"arg":"1.1.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"cmdliner"},{"conditions":[{"arg":"0.5","prefix_relop":"geq"}],"val":"uring"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"An Eio implementation for Linux using io-uring.","dev-repo":"git+https://github.com/ocaml-multicore/eio.git","doc":"https://ocaml-multicore.github.io/eio/","files-contents":{},"homepage":"https://github.com/ocaml-multicore/eio","isLocal":false,"license":"ISC","maintainer":["[email protected]"],"name":"eio_linux","opam-version":"2.0","synopsis":"Eio implementation for Linux using io-uring","url":{"section":{"checksum":["sha256=d84847ce85ffb78641496ad24be3c6ab5cc2c6885cedad6ae257ecac59d926a0","sha512=fbcbc8e7e8eaaeacd6c7b3be04fec19b356f900307b2cc1bf6c1cd6bd538c4ea59ab2c7d936fac00c52a3277737671759f1584025c24e0a7727447609c633821"],"src":"https://github.com/ocaml-multicore/eio/releases/download/v0.12/eio-0.12.tbz"}},"version":"0.12","x-commit-hash":"ad7149dc297b856c9bedd692e5809538fd27a4e2"},"eio_main":{"authors":["Anil Madhavapeddy","Thomas Leonard"],"bug-reports":"https://github.com/ocaml-multicore/eio/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.9","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"lhs":{"arg":"2.2.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"mdx"},{"conditions":[{"lhs":{"arg":"0.3.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"kcas"},{"conditions":[{"lhs":{"arg":"2.0.2","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"yojson"},{"conditions":[{"lhs":{"arg":{"id":"version"},"prefix_relop":"eq"},"logop":"and","rhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"linux"}}],"val":"eio_linux"},{"conditions":[{"lhs":{"arg":{"id":"version"},"prefix_relop":"eq"},"logop":"and","rhs":{"lhs":{"id":"os"},"relop":"neq","rhs":"win32"}}],"val":"eio_posix"},{"conditions":[{"lhs":{"arg":{"id":"version"},"prefix_relop":"eq"},"logop":"and","rhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"win32"}}],"val":"eio_windows"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"Selects an appropriate Eio backend for the current platform.","dev-repo":"git+https://github.com/ocaml-multicore/eio.git","doc":"https://ocaml-multicore.github.io/eio/","files-contents":{},"homepage":"https://github.com/ocaml-multicore/eio","isLocal":false,"license":"ISC","maintainer":["[email protected]"],"name":"eio_main","opam-version":"2.0","synopsis":"Effect-based direct-style IO mainloop for OCaml","url":{"section":{"checksum":["sha256=d84847ce85ffb78641496ad24be3c6ab5cc2c6885cedad6ae257ecac59d926a0","sha512=fbcbc8e7e8eaaeacd6c7b3be04fec19b356f900307b2cc1bf6c1cd6bd538c4ea59ab2c7d936fac00c52a3277737671759f1584025c24e0a7727447609c633821"],"src":"https://github.com/ocaml-multicore/eio/releases/download/v0.12/eio-0.12.tbz"}},"version":"0.12","x-ci-accept-failures":["macos-homebrew"],"x-commit-hash":"ad7149dc297b856c9bedd692e5809538fd27a4e2"},"eio_posix":{"authors":["Anil Madhavapeddy","Thomas Leonard"],"bug-reports":"https://github.com/ocaml-multicore/eio/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.9","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"eio"},{"conditions":[{"arg":"0.2","prefix_relop":"geq"}],"val":"iomux"},{"conditions":[{"lhs":{"arg":"2.2.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"mdx"},{"conditions":[{"arg":"0.8.9","prefix_relop":"geq"}],"val":"fmt"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"An Eio implementation for most Unix-like platforms","dev-repo":"git+https://github.com/ocaml-multicore/eio.git","doc":"https://ocaml-multicore.github.io/eio/","files-contents":{},"homepage":"https://github.com/ocaml-multicore/eio","isLocal":false,"license":"ISC","maintainer":["[email protected]"],"name":"eio_posix","opam-version":"2.0","synopsis":"Eio implementation for POSIX systems","url":{"section":{"checksum":["sha256=d84847ce85ffb78641496ad24be3c6ab5cc2c6885cedad6ae257ecac59d926a0","sha512=fbcbc8e7e8eaaeacd6c7b3be04fec19b356f900307b2cc1bf6c1cd6bd538c4ea59ab2c7d936fac00c52a3277737671759f1584025c24e0a7727447609c633821"],"src":"https://github.com/ocaml-multicore/eio/releases/download/v0.12/eio-0.12.tbz"}},"version":"0.12","x-commit-hash":"ad7149dc297b856c9bedd692e5809538fd27a4e2"},"either":{"authors":["Craig Ferguson <[email protected]>"],"bug-reports":"https://github.com/mirage/either/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"2.0","prefix_relop":"geq"}],"val":"dune"}],"description":"\nProjects that want to use the Either module defined in OCaml 4.12.0 while\nstaying compatible with older versions of OCaml should use this library\ninstead.\n","dev-repo":"git+https://github.com/mirage/either.git","doc":"https://mirage.github.io/either","files-contents":{},"homepage":"https://github.com/mirage/either","isLocal":false,"license":"MIT","maintainer":["Craig Ferguson <[email protected]>"],"name":"either","opam-version":"2.0","synopsis":"Compatibility Either module","url":{"section":{"checksum":["sha256=bf674de3312dee7b7215f07df1e8a96eb3d679164b8a918cdd95b8d97e505884","sha512=147854c09f897dd028b18a9f19acea8666107aaa7b1aab3c92f568af531364f57298edcaf3897d74246d3857d52e9bfb7ad0fc39220d988d9f14694ca1d5e9ed"],"src":"https://github.com/mirage/either/releases/download/1.0.0/either-1.0.0.tbz"}},"version":"1.0.0","x-commit-hash":"a270ceac58e3e5bed6fe7e8bfb7132b14ee9c322"},"fiber":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml-dune/fiber/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"lhs":{"id":"ocaml:version"},"relop":"geq","rhs":"4.13"}}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.6","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-test"}],"val":"ppx_expect"},"dyn","stdune",{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"dev-repo":"git+https://github.com/ocaml-dune/fiber.git","files-contents":{},"homepage":"https://github.com/ocaml-dune/fiber","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"fiber","opam-version":"2.0","synopsis":"Dune's monadic structured concurrency library","url":{"section":{"checksum":["sha256=8648a15ae93fe6942999ce36887429a3913b62829c4714e520cc0e7a1c3b9682","sha512=348b28b28ffd87de035e90753f677658e8ad58421caf3ac086e4c0bbab8508fa5fe2f55d137c425afaf790ebcf45291e16d70eac5cb766b6d9786f042b58b19b"],"src":"https://github.com/ocaml-dune/fiber/releases/download/3.7.0/fiber-lwt-3.7.0.tbz"}},"version":"3.7.0","x-commit-hash":"dd66893a530759da26b66bd1c8939fd77f369afb"},"fix":{"authors":["François Pottier <[email protected]>"],"bug-reports":"[email protected]","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.03","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.3","prefix_relop":"geq"}],"val":"dune"}],"dev-repo":"git+https://gitlab.inria.fr/fpottier/fix.git","files-contents":{},"homepage":"https://gitlab.inria.fr/fpottier/fix","isLocal":false,"license":"LGPL-2.0-only","maintainer":"[email protected]","name":"fix","opam-version":"2.0","synopsis":"Algorithmic building blocks for memoization, recursion, and more","url":{"section":{"checksum":["md5=2a4afa633128c5010677222f7b3c9451","sha512=30d446ba6c19aef78b52d9831eb26f8f6ac10e88bd1eff36d16fbbfb32278b2637e31e63a160aec4abbbfdb1e7612ed25d68c936f4cbf2073e51d713ff3a8adf"],"src":"https://gitlab.inria.fr/fpottier/fix/-/archive/20230505/archive.tar.gz"}},"version":"20230505"},"fmt":{"authors":["The fmt programmers"],"bug-reports":"https://github.com/dbuenzli/fmt/issues","build":[["ocaml","pkg/pkg.ml","build","--dev-pkg","%{dev}%","--with-base-unix","%{base-unix:installed}%","--with-cmdliner","%{cmdliner:installed}%"]],"conflicts":[{"conditions":[{"arg":"0.9.8","prefix_relop":"lt"}],"val":"cmdliner"}],"depends":[{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.0.3","prefix_relop":"geq"}}],"val":"topkg"}],"depopts":["base-unix","cmdliner"],"description":"\nFmt exposes combinators to devise `Format` pretty-printing functions.\n\nFmt depends only on the OCaml standard library. The optional `Fmt_tty`\nlibrary that allows to setup formatters for terminal color output\ndepends on the Unix library. The optional `Fmt_cli` library that\nprovides command line support for Fmt depends on [`Cmdliner`][cmdliner].\n\nFmt is distributed under the ISC license.\n\n[cmdliner]: http://erratique.ch/software/cmdliner\n\nHome page: http://erratique.ch/software/fmt","dev-repo":"git+https://erratique.ch/repos/fmt.git","doc":"https://erratique.ch/software/fmt/doc/","files-contents":{},"homepage":"https://erratique.ch/software/fmt","isLocal":false,"license":["ISC"],"maintainer":["Daniel Bünzli <daniel.buenzl [email protected]>"],"name":"fmt","opam-version":"2.0","synopsis":"OCaml Format pretty-printer combinators","tags":["string","format","pretty-print","org:erratique"],"url":{"section":{"checksum":"sha512=66cf4b8bb92232a091dfda5e94d1c178486a358cdc34b1eec516d48ea5acb6209c0dfcb416f0c516c50ddbddb3c94549a45e4a6d5c5fd1c81d3374dec823a83b","src":"https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz"}},"version":"0.9.0"},"fpath":{"authors":["The fpath programmers"],"bug-reports":"https://github.com/dbuenzli/fpath/issues","build":[["ocaml","pkg/pkg.ml","build",{"conditions":[{"id":"dev"}],"val":"--dev-pkg=true"}]],"depends":[{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"0.9.0","prefix_relop":"geq"}}],"val":"topkg"},"astring"],"description":"\nFpath is an OCaml module for handling file system paths with POSIX or\nWindows conventions. Fpath processes paths without accessing the file\nsystem and is independent from any system library.\n\nFpath depends on [Astring][astring] and is distributed under the ISC\nlicense.\n\n[astring]: http://erratique.ch/software/astring\n","dev-repo":"git+https://erratique.ch/repos/fpath.git","doc":"https://erratique.ch/software/fpath/doc","files-contents":{},"homepage":"https://erratique.ch/software/fpath","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"fpath","opam-version":"2.0","synopsis":"File system paths for OCaml","tags":["file","system","path","org:erratique"],"url":{"section":{"archive":"https://erratique.ch/software/fpath/releases/fpath-0.7.3.tbz","checksum":"0740b530e8fed5b0adc5eee8463cfc2f"}},"version":"0.7.3"},"hmap":{"authors":["Daniel Bünzli <daniel.buenzl [email protected]>"],"bug-reports":"http://github.com/dbuenzli/hmap/issues","build":[["ocaml","pkg/pkg.ml","build","--pinned","%{pinned}%"]],"depends":[{"conditions":[{"arg":"4.02.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"id":"build"}],"val":"topkg"}],"description":"\nHmap provides heterogeneous value maps for OCaml. These maps bind keys\nto values with arbitrary types. Keys witness the type of the value\nthey are bound to which allows to add and lookup bindings in a type\nsafe manner.\n\nHmap has no dependency and is distributed under the ISC license.","dev-repo":"git+http://erratique.ch/repos/hmap.git","doc":"http://erratique.ch/software/hmap/doc","files-contents":{},"homepage":"http://erratique.ch/software/hmap","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"hmap","opam-version":"2.0","synopsis":"Heterogeneous value maps for OCaml","tags":["data-structure","org:erratique"],"url":{"section":{"checksum":"md5=04169252265a11d852e1547445177196","src":"http://erratique.ch/software/hmap/releases/hmap-0.8.1.tbz"}},"version":"0.8.1"},"iomux":{"authors":["Christiano Haesbaert"],"bug-reports":"https://github.com/haesbaert/ocaml-iomux/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"3.6","prefix_relop":"geq"}],"val":"dune"},"dune-configurator",{"conditions":[{"id":"with-test"}],"val":"alcotest"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"Low level bindings for Unix IO Multiplexers (poll/ppoll/kevent/epoll)","dev-repo":"git+https://github.com/haesbaert/ocaml-iomux.git","doc":"https://haesbaert.github.io/ocaml-iomux","files-contents":{},"homepage":"https://github.com/haesbaert/ocaml-iomux","isLocal":false,"license":"ISC","maintainer":["Christiano Haesbaert"],"name":"iomux","opam-version":"2.0","synopsis":"IO Multiplexer bindings","tags":["io","multiplexing","poll","ppoll","epoll","kevent","kqueue"],"url":{"section":{"checksum":["sha256=ccd277bd53afd011291cb882f18eb5d05f3bba23257d8368dbc7a3d07f8453e7","sha512=9f7cfde9b97699946e36f7dbb19d04bdd943b45729d23797c5d3200f5e0dd93de7ba172fa03e060ca8379f01bf04c7cd1369bae87430d416c911270c3b586a90"],"src":"https://github.com/haesbaert/ocaml-iomux/releases/download/v0.3/iomux-0.3.tbz"}},"version":"0.3","x-commit-hash":"b456e181582e2bc08217291bd135d7b61a727a84"},"ipaddr":{"authors":["David Sheets","Anil Madhavapeddy","Hugo Heuzard"],"bug-reports":"https://github.com/mirage/ocaml-ipaddr/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],{"conditions":[{"id":"with-test"}],"val":["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}]}],"depends":[{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.9.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"macaddr"},{"conditions":[{"arg":"0.3.0","prefix_relop":"geq"}],"val":"domain-name"},{"conditions":[{"id":"with-test"}],"val":"ounit2"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"v0.9.0","prefix_relop":"geq"}}],"val":"ppx_sexp_conv"}],"description":"\nFeatures:\n * Depends only on sexplib (conditionalization under consideration)\n * ounit2-based tests\n * IPv4 and IPv6 support\n * IPv4 and IPv6 CIDR prefix support\n * IPv4 and IPv6 [CIDR-scoped address](http://tools.ietf.org/html/rfc4291#section-2.3) support\n * `Ipaddr.V4` and `Ipaddr.V4.Prefix` modules are `Map.OrderedType`\n * `Ipaddr.V6` and `Ipaddr.V6.Prefix` modules are `Map.OrderedType`\n * `Ipaddr` and `Ipaddr.Prefix` modules are `Map.OrderedType`\n * `Ipaddr_unix` in findlib subpackage `ipaddr.unix` provides compatibility with the standard library `Unix` module\n * `Ipaddr_top` in findlib subpackage `ipaddr.top` provides top-level pretty printers (requires compiler-libs default since OCaml 4.0)\n * IP address scope classification\n * IPv4-mapped addresses in IPv6 (::ffff:0:0/96) are an embedding of IPv4\n * MAC-48 (Ethernet) address support\n * `Macaddr` is a `Map.OrderedType`\n * All types have sexplib serializers/deserializers\n","dev-repo":"git+https://github.com/mirage/ocaml-ipaddr.git","doc":"https://mirage.github.io/ocaml-ipaddr/","files-contents":{},"homepage":"https://github.com/mirage/ocaml-ipaddr","isLocal":false,"license":"ISC","maintainer":"[email protected]","name":"ipaddr","opam-version":"2.0","synopsis":"A library for manipulation of IP (and MAC) address representations","tags":["org:mirage","org:xapi-project"],"url":{"section":{"checksum":["sha256=62890b316e035792ad29af1ad971456d10defd525b74b53db1b67fa42375c178","sha512=d9742648e3e4fe3d0bc7a5b08e62d97dab5d52b6421712c0415b345ddeb63a2a5fbb61e3083e90ae8cf05009673975e2e2ece5e15bce256ccd34cbe78d810c83"],"src":"https://github.com/mirage/ocaml-ipaddr/releases/download/v5.5.0/ipaddr-5.5.0.tbz"}},"version":"5.5.0","x-commit-hash":"234c6009a221e23a7dd4883756e6b2cc0d7c663b"},"lambda-term":{"authors":["Jérémie Dimino"],"bug-reports":"https://github.com/ocaml-community/lambda-term/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},"logs",{"conditions":[{"arg":"4.2.0","prefix_relop":"geq"}],"val":"lwt"},"lwt_react",{"conditions":[{"lhs":{"arg":"0.5.0","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"0.6.0","prefix_relop":"lt"}}],"val":"mew_vi"},"react",{"conditions":[{"lhs":{"arg":"3.2.0","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"4.0","prefix_relop":"lt"}}],"val":"zed"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\nLambda-term is a cross-platform library for manipulating the terminal. It\nprovides an abstraction for keys, mouse events, colors, as well as a set of\nwidgets to write curses-like applications. The main objective of lambda-term is\nto provide a higher level functional interface to terminal manipulation than,\nfor example, ncurses, by providing a native OCaml interface instead of bindings\nto a C library. Lambda-term integrates with zed to provide text edition\nfacilities in console applications.","dev-repo":"git+https://github.com/ocaml-community/lambda-term.git","files-contents":{},"homepage":"https://github.com/ocaml-community/lambda-term","isLocal":false,"license":"BSD-3-Clause","maintainer":["ZAN DoYe <[email protected]>"],"name":"lambda-term","opam-version":"2.0","synopsis":"Terminal manipulation library for OCaml","url":{"section":{"checksum":["sha512=78648768644058337e22c79cf1fbb1a36472b24f11b1dc0461fc38419be6ec01b02d8d0ac45fed0bc99f91ba4c0f19d3bda113e834e064bee973b734527b9766"],"src":"https://github.com/ocaml-community/lambda-term/archive/refs/tags/3.3.2.tar.gz"}},"version":"3.3.2","x-commit-hash":"cade31f3c56f1e52fa6d297ddb78f37d09062761"},"logs":{"authors":["The logs programmers"],"bug-reports":"https://github.com/dbuenzli/logs/issues","build":[["ocaml","pkg/pkg.ml","build","--pinned","%{pinned}%","--with-js_of_ocaml","%{js_of_ocaml:installed}%","--with-fmt","%{fmt:installed}%","--with-cmdliner","%{cmdliner:installed}%","--with-lwt","%{lwt:installed}%","--with-base-threads","%{base-threads:installed}%"]],"conflicts":[{"conditions":[{"arg":"0.9.8","prefix_relop":"lt"}],"val":"cmdliner"},{"conditions":[{"arg":"3.3.0","prefix_relop":"lt"}],"val":"js_of_ocaml"}],"depends":[{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"id":"build"}],"val":"topkg"},{"conditions":[{"id":"with-test"}],"val":"mtime"}],"depopts":["js_of_ocaml","fmt","cmdliner","lwt","base-threads"],"description":"\nLogs provides a logging infrastructure for OCaml. Logging is performed\non sources whose reporting level can be set independently. Log message\nreport is decoupled from logging and is handled by a reporter.\n\nA few optional log reporters are distributed with the base library and\nthe API easily allows to implement your own.\n\n`Logs` has no dependencies. The optional `Logs_fmt` reporter on OCaml\nformatters depends on [Fmt][fmt]. The optional `Logs_browser`\nreporter that reports to the web browser console depends on\n[js_of_ocaml][jsoo]. The optional `Logs_cli` library that provides\ncommand line support for controlling Logs depends on\n[`Cmdliner`][cmdliner]. The optional `Logs_lwt` library that provides\nLwt logging functions depends on [`Lwt`][lwt]\n\nLogs and its reporters are distributed under the ISC license.\n\n[fmt]: http://erratique.ch/software/fmt\n[jsoo]: http://ocsigen.org/js_of_ocaml/\n[cmdliner]: http://erratique.ch/software/cmdliner\n[lwt]: http://ocsigen.org/lwt/\n","dev-repo":"git+https://erratique.ch/repos/logs.git","doc":"https://erratique.ch/software/logs/doc","files-contents":{},"homepage":"https://erratique.ch/software/logs","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"logs","opam-version":"2.0","synopsis":"Logging infrastructure for OCaml","tags":["log","system","org:erratique"],"url":{"section":{"archive":"https://erratique.ch/software/logs/releases/logs-0.7.0.tbz","checksum":"2bf021ca13331775e33cf34ab60246f7"}},"version":"0.7.0"},"lwt":{"authors":["Jérôme Vouillon","Jérémie Dimino"],"bug-reports":"https://github.com/ocsigen/lwt/issues","build":[["dune","exec","-p",{"id":"name"},"src/unix/config/discover.exe","--","--save","--use-libev","%{conf-libev:installed}%"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.1.0","prefix_relop":"geq"}}],"val":"cppo"},{"conditions":[{"arg":"1.8.0","prefix_relop":"geq"}],"val":"dune"},"dune-configurator",{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},"ocplib-endian",{"conditions":[{"lhs":{"id":"dev"},"logop":"and","rhs":{"arg":"1.7.3-1","prefix_relop":"geq"}}],"val":"ocamlfind"}],"depopts":["base-threads","base-unix","conf-libev"],"description":"A promise is a value that may become determined in the future.\n\nLwt provides typed, composable promises. Promises that are resolved by I/O are\nresolved by Lwt in parallel.\n\nMeanwhile, OCaml code, including code creating and waiting on promises, runs in\na single thread by default. This reduces the need for locks or other\nsynchronization primitives. Code can be run in parallel on an opt-in basis.","dev-repo":"git+https://github.com/ocsigen/lwt.git","doc":"https://ocsigen.org/lwt","files-contents":{},"homepage":"https://github.com/ocsigen/lwt","isLocal":false,"license":"MIT","maintainer":["Raphaël Proust <[email protected]>","Anton Bachin <[email protected]>"],"name":"lwt","opam-version":"2.0","synopsis":"Promises and event-driven I/O","url":{"section":{"checksum":["md5=737039d29d45b2d2b35db6931c8d75c6","sha512=42e629920783428673b99c9d7a639237c9e6b35079b5d907bc67e7ea506acf9edadc48cec580bdcfd2410ed9412bf5e6bcc8b09de2fa7d35ce1490973d05ddd1"],"src":"https://github.com/ocsigen/lwt/archive/refs/tags/5.7.0.tar.gz"}},"version":"5.7.0"},"lwt-dllist":{"authors":["Jérôme Vouillon","Jérémie Dimino"],"bug-reports":"https://github.com/mirage/lwt-dllist/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],{"conditions":[{"id":"with-test"}],"val":["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}]}],"depends":[{"conditions":[{"arg":"4.02.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-test"}],"val":"lwt"},"dune"],"description":"\nA sequence is an object holding a list of elements which support\nthe following operations:\n\n- adding an element to the left or the right in time and space O(1)\n- taking an element from the left or the right in time and space O(1)\n- removing a previously added element from a sequence in time and space O(1)\n- removing an element while the sequence is being transversed.\n","dev-repo":"git+https://github.com/mirage/lwt-dllist.git","doc":"https://mirage.github.io/lwt-dllist/","files-contents":{},"homepage":"https://github.com/mirage/lwt-dllist","isLocal":false,"license":"MIT","maintainer":["Anil Madhavapeddy <[email protected]>"],"name":"lwt-dllist","opam-version":"2.0","synopsis":"Mutable doubly-linked list with Lwt iterators","url":{"section":{"checksum":["sha256=e86ce75e40f00d51514cf8b2e71e5184c4cb5dae96136be24613406cfc0dba6e","sha512=1df7e8e12e01a5d32e1db746f922e05f23a67c0d20e72a5b9126fead1e04decdb062081574b1c410c822305ef4eac990b7dd69f36673db8f50b9db2152abad80"],"src":"https://github.com/mirage/lwt-dllist/releases/download/v1.0.1/lwt-dllist-v1.0.1.tbz"}},"version":"1.0.1","x-commit-hash":"66a569e31cdb65e9eaab4e684e5d549ea4bc7517"},"lwt_react":{"authors":["Jérémie Dimino"],"bug-reports":"https://github.com/ocsigen/lwt/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"1.8.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"3.0.0","prefix_relop":"geq"}],"val":"lwt"},{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.0.0","prefix_relop":"geq"}],"val":"react"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.1.0","prefix_relop":"geq"}}],"val":"cppo"}],"dev-repo":"git+https://github.com/ocsigen/lwt.git","doc":"https://ocsigen.org/lwt/dev/api/Lwt_react","files-contents":{},"homepage":"https://github.com/ocsigen/lwt","isLocal":false,"license":"MIT","maintainer":["Anton Bachin <[email protected]>"],"name":"lwt_react","opam-version":"2.0","synopsis":"Helpers for using React with Lwt","url":{"section":{"checksum":["md5=e63979ee40a80d5b9e9e5545f33323b4","sha512=d616389bc9e0da11f25843ab7541ac2d40c9543700a89455f14115b339bbe58cef2b8acf0ae97fd54e15a4cb93149cfe1ebfda301aa93933045f76b7d9344160"],"src":"https://github.com/ocsigen/lwt/archive/5.6.0.tar.gz"}},"version":"1.2.0"},"macaddr":{"authors":["David Sheets","Anil Madhavapeddy","Hugo Heuzard"],"bug-reports":"https://github.com/mirage/ocaml-ipaddr/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],{"conditions":[{"id":"with-test"}],"val":["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}]}],"conflicts":[{"conditions":[{"arg":"3.0.0","prefix_relop":"lt"}],"val":"ipaddr"}],"depends":[{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.9.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"id":"with-test"}],"val":"ounit2"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"v0.9.0","prefix_relop":"geq"}}],"val":"ppx_sexp_conv"}],"description":"\nA library for manipulation of MAC address representations.\n\nFeatures:\n\n * ounit2-based tests\n * MAC-48 (Ethernet) address support\n * `Macaddr` is a `Map.OrderedType`\n * All types have sexplib serializers/deserializers optionally via the `Macaddr_sexp` library.\n ","dev-repo":"git+https://github.com/mirage/ocaml-ipaddr.git","doc":"https://mirage.github.io/ocaml-ipaddr/","files-contents":{},"homepage":"https://github.com/mirage/ocaml-ipaddr","isLocal":false,"license":"ISC","maintainer":"[email protected]","name":"macaddr","opam-version":"2.0","synopsis":"A library for manipulation of MAC address representations","tags":["org:mirage","org:xapi-project"],"url":{"section":{"checksum":["sha256=62890b316e035792ad29af1ad971456d10defd525b74b53db1b67fa42375c178","sha512=d9742648e3e4fe3d0bc7a5b08e62d97dab5d52b6421712c0415b345ddeb63a2a5fbb61e3083e90ae8cf05009673975e2e2ece5e15bce256ccd34cbe78d810c83"],"src":"https://github.com/mirage/ocaml-ipaddr/releases/download/v5.5.0/ipaddr-5.5.0.tbz"}},"version":"5.5.0","x-commit-hash":"234c6009a221e23a7dd4883756e6b2cc0d7c663b"},"menhir":{"authors":["François Pottier <[email protected]>","Yann Régis-Gianas <[email protected]>"],"bug-reports":"https://gitlab.inria.fr/fpottier/menhir/-/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"2.8.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"menhirLib"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"menhirSdk"}],"dev-repo":"git+https://gitlab.inria.fr/fpottier/menhir.git","files-contents":{},"homepage":"http://gitlab.inria.fr/fpottier/menhir","isLocal":false,"license":"GPL-2.0-only","maintainer":"[email protected]","name":"menhir","opam-version":"2.0","synopsis":"An LR(1) parser generator","url":{"section":{"checksum":["md5=8ff26b1e3685c472b7b3aba2fe938a43","sha512=334b9dcb1283a28b8547082a89536b1d439ff588290b8eaecdf4802c5f74dbc8d16ad6fc6c0820036183518d83e2cc273a75787a8b41137424c8e7ee82e2b50a"],"src":"https://gitlab.inria.fr/fpottier/menhir/-/archive/20230608/archive.tar.gz"}},"version":"20230608"},"menhirLib":{"authors":["François Pottier <[email protected]>","Yann Régis-Gianas <[email protected]>"],"bug-reports":"https://gitlab.inria.fr/fpottier/menhir/-/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"conflicts":[{"conditions":[{"arg":{"id":"version"},"prefix_relop":"neq"}],"val":"menhir"}],"depends":[{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"2.8.0","prefix_relop":"geq"}],"val":"dune"}],"dev-repo":"git+https://gitlab.inria.fr/fpottier/menhir.git","files-contents":{},"homepage":"http://gitlab.inria.fr/fpottier/menhir","isLocal":false,"license":"LGPL-2.0-only with OCaml-LGPL-linking-exception","maintainer":"[email protected]","name":"menhirLib","opam-version":"2.0","synopsis":"Runtime support library for parsers generated by Menhir","url":{"section":{"checksum":["md5=8ff26b1e3685c472b7b3aba2fe938a43","sha512=334b9dcb1283a28b8547082a89536b1d439ff588290b8eaecdf4802c5f74dbc8d16ad6fc6c0820036183518d83e2cc273a75787a8b41137424c8e7ee82e2b50a"],"src":"https://gitlab.inria.fr/fpottier/menhir/-/archive/20230608/archive.tar.gz"}},"version":"20230608"},"menhirSdk":{"authors":["François Pottier <[email protected]>","Yann Régis-Gianas <[email protected]>"],"bug-reports":"https://gitlab.inria.fr/fpottier/menhir/-/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"conflicts":[{"conditions":[{"arg":{"id":"version"},"prefix_relop":"neq"}],"val":"menhir"}],"depends":[{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"2.8.0","prefix_relop":"geq"}],"val":"dune"}],"dev-repo":"git+https://gitlab.inria.fr/fpottier/menhir.git","files-contents":{},"homepage":"http://gitlab.inria.fr/fpottier/menhir","isLocal":false,"license":"LGPL-2.0-only with OCaml-LGPL-linking-exception","maintainer":"[email protected]","name":"menhirSdk","opam-version":"2.0","synopsis":"Compile-time library for auxiliary tools related to Menhir","url":{"section":{"checksum":["md5=8ff26b1e3685c472b7b3aba2fe938a43","sha512=334b9dcb1283a28b8547082a89536b1d439ff588290b8eaecdf4802c5f74dbc8d16ad6fc6c0820036183518d83e2cc273a75787a8b41137424c8e7ee82e2b50a"],"src":"https://gitlab.inria.fr/fpottier/menhir/-/archive/20230608/archive.tar.gz"}},"version":"20230608"},"merlin-lib":{"authors":"The Merlin team","available":{"lhs":{"id":"opam-version"},"relop":"geq","rhs":"2.1.0"},"bug-reports":"https://github.com/ocaml/merlin/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"lhs":{"arg":"5.1","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"5.2","prefix_relop":"lt"}}],"val":"ocaml"},{"conditions":[{"arg":"2.9.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"1.5.1","prefix_relop":"geq"}],"val":"csexp"},{"conditions":[{"lhs":{"id":"dev"},"logop":"and","rhs":{"arg":"20201216","prefix_relop":"geq"}}],"val":"menhir"},{"conditions":[{"lhs":{"id":"dev"},"logop":"and","rhs":{"arg":"20201216","prefix_relop":"geq"}}],"val":"menhirLib"},{"conditions":[{"lhs":{"id":"dev"},"logop":"and","rhs":{"arg":"20201216","prefix_relop":"geq"}}],"val":"menhirSdk"}],"description":"These libraries provides access to low-level compiler interfaces and the\n standard higher-level merlin protocol. The library is provided as-is, is not\n thoroughly documented, and its public API might break with any new release.","dev-repo":"git+https://github.com/ocaml/merlin.git","files-contents":{},"flags":{"id":"avoid-version"},"homepage":"https://github.com/ocaml/merlin","isLocal":false,"license":"MIT","maintainer":"[email protected]","name":"merlin-lib","opam-version":"2.0","synopsis":"Merlin's libraries","url":{"section":{"checksum":["sha256=815adb67854b611830646de59c6b10a827c53284a9bd0513585ee138d4818983","sha512=a2c5af7b9240bc44ffe2dcfc60466598d6447dac4754fdc93e684c80c43bcbcb8f5e86e291423daccc986242c1558af1ffa70cd5973150bf2920bbd29b8f9533"],"src":"https://github.com/ocaml/merlin/releases/download/v4.9-501preview/merlin-4.9-501preview.tbz"}},"version":"4.9-501preview","x-commit-hash":"d8eeaf265880340d6af4e04346d3b5ca318a0452"},"mew":{"authors":["ZAN DoYe"],"bug-reports":"https://github.com/kandu/mew/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.02.3","prefix_relop":"geq"}],"val":"ocaml"},"result",{"conditions":[{"arg":"1.0.0","prefix_relop":"geq"}],"val":"trie"},{"conditions":[{"arg":"1.1.0","prefix_relop":"geq"}],"val":"dune"}],"description":"\nThis is the core module of mew, a general modal editing engine generator.","dev-repo":"git+https://github.com/kandu/mew.git","files-contents":{},"homepage":"https://github.com/kandu/mew","isLocal":false,"license":"MIT","maintainer":"[email protected]","name":"mew","opam-version":"2.0","synopsis":"Modal editing witch","url":{"section":{"checksum":"md5=2298149d1415cd804ab4e01f01ea10a0","src":"https://github.com/kandu/mew/archive/0.1.0.tar.gz"}},"version":"0.1.0"},"mew_vi":{"authors":["ZAN DoYe"],"bug-reports":"https://github.com/kandu/mew_vi/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.02.3","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"lhs":{"arg":"0.1.0","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"0.2","prefix_relop":"lt"}}],"val":"mew"},"react",{"conditions":[{"arg":"1.1.0","prefix_relop":"geq"}],"val":"dune"}],"description":"\nA vi-like modal editing engine generator.","dev-repo":"git+https://github.com/kandu/mew_vi.git","files-contents":{},"homepage":"https://github.com/kandu/mew_vi","isLocal":false,"license":"MIT","maintainer":"[email protected]","name":"mew_vi","opam-version":"2.0","synopsis":"Modal editing witch, VI interpreter","url":{"section":{"checksum":"md5=341e9a9a20383641015bf503952906bc","src":"https://github.com/kandu/mew_vi/archive/0.5.0.tar.gz"}},"version":"0.5.0"},"mtime":{"authors":"The mtime programmers","bug-reports":"https://github.com/dbuenzli/mtime/issues","build":["ocaml","pkg/pkg.ml","build","--dev-pkg","%{dev}%"],"depends":[{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"0.9.0","prefix_relop":"neq"}}],"val":"ocamlbuild"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.0.3","prefix_relop":"geq"}}],"val":"topkg"}],"description":"Mtime has platform independent support for monotonic wall-clock time\nin pure OCaml. This time increases monotonically and is not subject to\noperating system calendar time adjustments. The library has types to\nrepresent nanosecond precision timestamps and time spans.\n\nThe additional Mtime_clock library provide access to a system\nmonotonic clock.\n\nMtime has a no dependency. Mtime_clock depends on your system library\nor JavaScript runtime system. Mtime and its libraries are distributed\nunder the ISC license.\n\nHome page: <http://erratique.ch/software/mtime>","dev-repo":"git+https://erratique.ch/repos/mtime.git","doc":"https://erratique.ch/software/mtime/doc/","files-contents":{},"homepage":"https://erratique.ch/software/mtime","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"mtime","opam-version":"2.0","synopsis":"Monotonic wall-clock time for OCaml","tags":["time","monotonic","system","org:erratique"],"url":{"section":{"checksum":"sha512=2ebec45218901c08f73420aa3318c506f155b6c0df713e9856682e59d3246696821ea477ce3682af0bf4cafd0491b1d66904f8c0256e2cf831e93a0aea322f04","src":"https://erratique.ch/software/mtime/releases/mtime-2.0.0.tbz"}},"version":"2.0.0"},"ocaml":{"authors":["Xavier Leroy","Damien Doligez","Alain Frisch","Jacques Garrigue","Didier Rémy","Jérôme Vouillon"],"bug-reports":"https://github.com/ocaml/opam-repository/issues","build":["ocaml","%{ocaml-config:share}%/gen_ocaml_config.ml",{"id":"_:version"},{"id":"_:name"}],"build-env":[[{"lhs":{"id":"CAML_LD_LIBRARY_PATH"},"relop":"eq","rhs":""}],[{"lhs":{"id":"LSAN_OPTIONS"},"relop":"eq","rhs":"detect_leaks=0,exitcode=0"}],[{"lhs":{"id":"ASAN_OPTIONS"},"relop":"eq","rhs":"detect_leaks=0,exitcode=0"}]],"depends":[{"conditions":[{"arg":"3","prefix_relop":"geq"}],"val":"ocaml-config"},{"lhs":{"lhs":{"lhs":{"conditions":[{"lhs":{"arg":"5.1.0~","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"5.1.1~","prefix_relop":"lt"}}],"val":"ocaml-base-compiler"},"logop":"or","rhs":{"conditions":[{"lhs":{"arg":"5.1.0~","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"5.1.1~","prefix_relop":"lt"}}],"val":"ocaml-variants"}},"logop":"or","rhs":{"conditions":[{"lhs":{"arg":"5.1.0~","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"5.1.1~","prefix_relop":"lt"}}],"val":"ocaml-system"}},"logop":"or","rhs":{"conditions":[{"lhs":{"arg":"5.1.0~","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"5.1.1~","prefix_relop":"lt"}}],"val":"dkml-base-compiler"}}],"description":"\nThis package requires a matching implementation of OCaml,\nand polls it to initialise specific variables like `ocaml:native-dynlink`","files-contents":{},"flags":{"id":"conf"},"homepage":"https://ocaml.org","isLocal":false,"license":"LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception","maintainer":"[email protected]","name":"ocaml","opam-version":"2.0","setenv":[[{"lhs":{"id":"CAML_LD_LIBRARY_PATH"},"relop":"eq","rhs":"%{_:stubsdir}%"}],[{"env_update":"prepend","lhs":{"id":"CAML_LD_LIBRARY_PATH"},"rhs":"%{lib}%/stublibs"}],[{"lhs":{"id":"OCAML_TOPLEVEL_PATH"},"relop":"eq","rhs":"%{toplevel}%"}]],"synopsis":"The OCaml compiler (virtual package)","version":"5.1.0"},"ocaml-base-compiler":{"authors":"Xavier Leroy and many contributors","bug-reports":"https://github.com/ocaml/opam-repository/issues","build":[["./configure","--prefix=%{prefix}%","--docdir=%{doc}%/ocaml","-C",{"conditions":[{"lhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"openbsd"},"logop":"or","rhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"macos"}}],"val":"CC=cc"},{"conditions":[{"lhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"openbsd"},"logop":"or","rhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"macos"}}],"val":"ASPP=cc -c"}],[{"id":"make"},"-j%{jobs}%"]],"conflict-class":"ocaml-core-compiler","depends":[{"conditions":[{"lhs":{"arg":"5.1.0","prefix_relop":"eq"},"logop":"and","rhs":{"id":"post"}}],"val":"ocaml"},{"conditions":[{"id":"post"}],"val":"base-unix"},{"conditions":[{"id":"post"}],"val":"base-bigarray"},{"conditions":[{"id":"post"}],"val":"base-threads"},{"conditions":[{"id":"post"}],"val":"base-domains"},{"conditions":[{"id":"post"}],"val":"base-nnp"},{"conditions":[{"id":"post"}],"val":"ocaml-options-vanilla"},{"conditions":[{"lhs":{"lhs":{"lhs":{"lhs":{"id":"arch"},"relop":"neq","rhs":"arm64"},"logop":"and","rhs":{"lhs":{"id":"arch"},"relop":"neq","rhs":"x86_64"}},"logop":"and","rhs":{"lhs":{"id":"arch"},"relop":"neq","rhs":"s390x"}},"logop":"and","rhs":{"lhs":{"id":"arch"},"relop":"neq","rhs":"riscv64"}}],"val":"ocaml-option-bytecode-only"},{"conditions":[{"lhs":{"id":"opam-version"},"relop":"lt","rhs":"2.1.0"}],"val":"ocaml-beta"}],"dev-repo":"git+https://github.com/ocaml/ocaml#5.1","extra-files":["ocaml-base-compiler.install","md5=3e969b841df1f51ca448e6e6295cb451"],"files-contents":{"ocaml-base-compiler.install":"share_root: [\"config.cache\" {\"ocaml/config.cache\"}]\n"},"flags":[{"id":"compiler"},{"id":"avoid-version"}],"homepage":"https://ocaml.org","install":[{"id":"make"},"install"],"isLocal":false,"license":"LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception","maintainer":"[email protected]","name":"ocaml-base-compiler","opam-version":"2.0","post-messages":[{"conditions":[{"lhs":{"id":"failure"},"logop":"and","rhs":{"lhs":{"id":"jobs"},"relop":"gt","rhs":1}}],"val":"A failure in the middle of the build may be caused by build parallelism\n (enabled by default).\n Please file a bug report at https://github.com/ocaml/opam-repository/issues"},{"conditions":[{"lhs":{"lhs":{"id":"failure"},"logop":"and","rhs":{"lhs":{"id":"jobs"},"relop":"gt","rhs":1}},"logop":"and","rhs":{"lhs":{"id":"opam-version"},"relop":"geq","rhs":"2.0.5"}}],"val":"You can try installing again including --jobs=1\n to force a sequential build instead."}],"setenv":{"lhs":{"id":"CAML_LD_LIBRARY_PATH"},"relop":"eq","rhs":"%{lib}%/stublibs"},"synopsis":"Third release candidate of OCaml 5.1.0","url":{"section":{"checksum":"sha256=44b718faf20b330e81b460ce73256e0945c2436de6bf2d4e85c3ae087851e04c","src":"https://github.com/ocaml/ocaml/archive/5.1.0-rc3.tar.gz"}},"version":"5.1.0~rc3"},"ocaml-config":{"authors":["Louis Gesbert <[email protected]>","David Allsopp <[email protected]>"],"bug-reports":"https://github.com/ocaml/opam/issues","depends":[{"lhs":{"lhs":{"lhs":{"conditions":[{"lhs":{"arg":"5.0.0~","prefix_relop":"geq"},"logop":"or","rhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"win32"}}],"val":"ocaml-base-compiler"},"logop":"or","rhs":{"conditions":[{"lhs":{"arg":"5.0.0~","prefix_relop":"geq"},"logop":"or","rhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"win32"}}],"val":"ocaml-variants"}},"logop":"or","rhs":{"conditions":[{"lhs":{"arg":"5.0.0~","prefix_relop":"geq"},"logop":"or","rhs":{"lhs":{"id":"os"},"relop":"eq","rhs":"win32"}}],"val":"ocaml-system"}},"logop":"or","rhs":{"conditions":[{"arg":"4.12.0~","prefix_relop":"geq"}],"val":"dkml-base-compiler"}}],"description":"\nThis package is used by the OCaml package to set-up its variables.","extra-files":[["gen_ocaml_config.ml.in","md5=c0a50fb1f6ffe7a48bf8600e83ae6d38"],["ocaml-config.install","md5=8e50c5e2517d3463b3aad649748cafd7"]],"files-contents":{"gen_ocaml_config.ml.in":"let () =\n let ocaml_version =\n let v = Sys.ocaml_version in\n let l = String.length v in\n let plus = try String.index v '+' with Not_found -> l in\n (* Introduced in 4.11.0; used from 4.12.0 *)\n let tilde = try String.index v '~' with Not_found -> l in\n String.sub v 0 (min (min plus tilde) l)\n in\n if ocaml_version <> Sys.argv.(1) then\n (Printf.eprintf\n \"OCaml version mismatch: %%s, expected %s\"\n ocaml_version Sys.argv.(1);\n exit 1)\n else\n let oc = open_out (Sys.argv.(2) ^ \".config\") in\n let exe = \".exe\" in\n let (ocaml, suffix) =\n let s = Sys.executable_name in\n if Filename.check_suffix s exe then\n (Filename.chop_suffix s exe, exe)\n else\n (s, \"\")\n in\n let ocamlc = ocaml^\"c\"^suffix in\n let libdir =\n if Sys.command (ocamlc^\" -where > where\") = 0 then\n (* Must be opened in text mode for Windows *)\n let ic = open_in \"where\" in\n let r = input_line ic in\n close_in ic; r\n else\n failwith \"Bad return from 'ocamlc -where'\"\n in\n let stubsdir =\n let ic = open_in (Filename.concat libdir \"ld.conf\") in\n let rec r acc = try r (input_line ic::acc) with End_of_file -> acc in\n let lines = List.rev (r []) in\n close_in ic;\n let sep = if Sys.os_type = \"Win32\" then \";\" else \":\" in\n String.concat sep lines\n in\n let has_native_dynlink =\n let check_dir libdir =\n Sys.file_exists (Filename.concat libdir \"dynlink.cmxa\")\n in\n List.exists check_dir [Filename.concat libdir \"dynlink\"; libdir]\n in\n let p fmt = Printf.fprintf oc (fmt ^^ \"\\n\") in\n p \"opam-version: \\\"2.0\\\"\";\n p \"variables {\";\n p \" native: %%b\"\n (Sys.file_exists (ocaml^\"opt\"^suffix));\n p \" native-tools: %%b\"\n (* The variable [ocamlc] already has a suffix on Windows\n (ex. '...\\bin\\ocamlc.exe') so we use [ocaml] to check *)\n (Sys.file_exists (ocaml^\"c.opt\"^suffix));\n p \" native-dynlink: %%b\"\n has_native_dynlink;\n p \" stubsdir: %%S\"\n stubsdir;\n p \" preinstalled: %{ocaml-system:installed}%\";\n p \" compiler: \\\"%{ocaml-system:installed?system:}%%{ocaml-base-compiler:version}%%{dkml-base-compiler:version}%%{ocaml-variants:version}%%{ocaml-option-32bit:installed?+32bit:}%%{ocaml-option-afl:installed?+afl:}%%{ocaml-option-bytecode-only:installed?+bytecode-only:}%%{ocaml-option-default-unsafe-string:installed?+default-unsafe-string:}%%{ocaml-option-fp:installed?+fp:}%%{ocaml-option-flambda:installed?+flambda:}%%{ocaml-option-musl:installed?+musl:}%%{ocaml-option-nnp:installed?+nnp:}%%{ocaml-option-no-flat-float-array:installed?+no-flat-float-array:}%%{ocaml-option-spacetime:installed?+spacetime:}%%{ocaml-option-static:installed?+static:}%\\\"\";\n p \"}\";\n close_out oc\n","ocaml-config.install":"share: [\"gen_ocaml_config.ml\"]\n"},"homepage":"https://opam.ocaml.org/","isLocal":false,"license":"ISC","maintainer":"[email protected]","name":"ocaml-config","opam-version":"2.0","substs":"gen_ocaml_config.ml","synopsis":"OCaml Switch Configuration","version":"3"},"ocaml-lsp-server":{"authors":["Andrey Popp <[email protected]>","Rusty Key <[email protected]>","Louis Roché <[email protected]>","Oleksiy Golovko <[email protected]>","Rudi Grinberg <[email protected]>","Sacha Ayoun <[email protected]>","cannorin <[email protected]>","Ulugbek Abdullaev <[email protected]>","Thibaut Mattio <[email protected]>","Max Lantas <[email protected]>"],"bug-reports":"https://github.com/ocaml/ocaml-lsp/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-j",{"id":"jobs"},"ocaml-lsp-server.install","--release"]],"depends":[{"conditions":[{"arg":"3.0","prefix_relop":"geq"}],"val":"dune"},"yojson",{"conditions":[{"arg":"1.5.0","prefix_relop":"geq"}],"val":"re"},{"conditions":[{"arg":"v0.14","prefix_relop":"geq"}],"val":"ppx_yojson_conv_lib"},{"conditions":[{"arg":"3.4.0","prefix_relop":"geq"}],"val":"dune-rpc"},{"conditions":[{"arg":"3.3.0","prefix_relop":"geq"}],"val":"chrome-trace"},"dyn","stdune",{"conditions":[{"lhs":{"arg":"3.1.1","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"4.0.0","prefix_relop":"lt"}}],"val":"fiber"},"xdg","ordering","dune-build-info","spawn",{"conditions":[{"lhs":{"arg":"2.0.0","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"2.3.0","prefix_relop":"lt"}}],"val":"odoc-parser"},{"conditions":[{"lhs":{"arg":"v0.15.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"ppx_expect"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"0.24.1","prefix_relop":"eq"}}],"val":"ocamlformat"},{"conditions":[{"arg":"3.7.0","prefix_relop":"geq"}],"val":"ocamlc-loc"},{"conditions":[{"arg":"1.0.2","prefix_relop":"geq"}],"val":"uutf"},{"conditions":[{"arg":"1.1.2","prefix_relop":"geq"}],"val":"pp"},{"conditions":[{"arg":"1.5","prefix_relop":"geq"}],"val":"csexp"},{"conditions":[{"arg":"0.21.0","prefix_relop":"geq"}],"val":"ocamlformat-rpc-lib"},{"conditions":[{"id":"with-doc"}],"val":"odoc"},{"conditions":[{"lhs":{"arg":"4.14","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"5.2","prefix_relop":"lt"}}],"val":"ocaml"},{"conditions":[{"lhs":{"arg":"4.9","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"5.0","prefix_relop":"lt"}}],"val":"merlin-lib"}],"description":"An LSP server for OCaml.","dev-repo":"git+https://github.com/ocaml/ocaml-lsp.git","files-contents":{},"homepage":"https://github.com/ocaml/ocaml-lsp","isLocal":false,"license":"ISC","maintainer":["Rudi Grinberg <[email protected]>"],"name":"ocaml-lsp-server","opam-version":"2.0","synopsis":"LSP Server for OCaml","url":{"section":{"checksum":["sha256=1487d5a4e2f2d4f023341058551bdb8ba86c23367b7c5b4fdda3aa7dc02aaec4","sha512=4a392f6d3deafc6dd37f9603250e736c8d8195ea42c782252386616e8c1562d744e02beee54ec45254cba23efd343ebb33789babb093b0e70122ba86d7e67717"],"src":"https://github.com/ocaml/ocaml-lsp/releases/download/1.16.2/lsp-1.16.2.tbz"}},"version":"1.16.2","x-commit-hash":"22cefd841bb0b6b9a6fd4fe5befe5eb68d213ce3"},"ocaml-options-vanilla":{"conflicts":["ocaml-option-32bit","ocaml-option-afl",{"conditions":[{"lhs":{"lhs":{"id":"arch"},"relop":"eq","rhs":"arm64"},"logop":"or","rhs":{"lhs":{"id":"arch"},"relop":"eq","rhs":"x86_64"}}],"val":"ocaml-option-bytecode-only"},"ocaml-option-default-unsafe-string","ocaml-option-flambda","ocaml-option-fp","ocaml-option-musl","ocaml-option-no-flat-float-array","ocaml-option-no-compression","ocaml-option-spacetime","ocaml-option-static","ocaml-option-nnp","ocaml-option-nnpchecker","ocaml-option-address-sanitizer","ocaml-option-leak-sanitizer","ocaml-option-tsan"],"depends":[{"lhs":{"lhs":{"conditions":[{"id":"post"}],"val":"ocaml-base-compiler"},"logop":"or","rhs":{"conditions":[{"id":"post"}],"val":"ocaml-system"}},"logop":"or","rhs":{"conditions":[{"lhs":{"id":"post"},"logop":"and","rhs":{"arg":"4.12.0~","prefix_relop":"geq"}}],"val":"ocaml-variants"}}],"files-contents":{},"flags":{"id":"compiler"},"isLocal":false,"maintainer":"[email protected]","name":"ocaml-options-vanilla","opam-version":"2.0","synopsis":"Ensure that OCaml is compiled with no special options enabled","version":"1"},"ocaml-version":{"authors":["Anil Madhavapeddy <[email protected]>"],"bug-reports":"https://github.com/ocurrent/ocaml-version/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.6","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.07.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-test"}],"val":"alcotest"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\nThis library provides facilities to parse version numbers of the OCaml compiler, and enumerates the various official OCaml releases and configuration variants.\n\nOCaml version numbers are of the form `major.minor.patch+extra`, where the `patch` and `extra` fields are optional. This library offers the following functionality:\n\n- Functions to parse and serialise OCaml compiler version numbers.\n- Enumeration of official OCaml compiler version releases.\n- Test compiler versions for a particular feature (e.g. the `bytes` type)\n- [opam](https://opam.ocaml.org) compiler switch enumeration.\n\n### Further information\n\n- **Discussion:** Post on <https://discuss.ocaml.org/> with the `ocaml` tag under the Ecosystem category.\n- **Bugs:** <https://github.com/ocurrent/ocaml-version/issues>\n- **Docs:** <http://docs.mirage.io/ocaml-version>\n","dev-repo":"git+https://github.com/ocurrent/ocaml-version.git","doc":"https://ocurrent.github.io/ocaml-version/doc","files-contents":{},"homepage":"https://github.com/ocurrent/ocaml-version","isLocal":false,"license":"ISC","maintainer":["Anil Madhavapeddy <[email protected]>"],"name":"ocaml-version","opam-version":"2.0","synopsis":"Manipulate, parse and generate OCaml compiler version strings","tags":["org:ocamllabs"],"url":{"section":{"checksum":["sha256=5c9d31abbd59891dfda6140850b5c50cb1e88f71e7b712c8fafda0474069feb2","sha512=9d8c849bad6a9347508fedcc4f7afbfaff138264ab8e9066f2e6090491170964b9415e71028ea084501dd7009a88f18acb4bc913cab1ccd58921cbf16a19edbe"],"src":"https://github.com/ocurrent/ocaml-version/releases/download/v3.6.2/ocaml-version-3.6.2.tbz"}},"version":"3.6.2","x-commit-hash":"496b14cdf826a737841526b753ebad8c3656a85a"},"ocamlbuild":{"authors":["Nicolas Pouillard","Berke Durak"],"bug-reports":"https://github.com/ocaml/ocamlbuild/issues","build":[[{"id":"make"},"-f","configure.make","all","OCAMLBUILD_PREFIX=%{prefix}%","OCAMLBUILD_BINDIR=%{bin}%","OCAMLBUILD_LIBDIR=%{lib}%","OCAMLBUILD_MANDIR=%{man}%","OCAML_NATIVE=%{ocaml:native}%","OCAML_NATIVE_TOOLS=%{ocaml:native}%"],[{"id":"make"},"check-if-preinstalled","all","opam-install"]],"conflicts":["base-ocamlbuild",{"conditions":[{"arg":"1.6.2","prefix_relop":"lt"}],"val":"ocamlfind"}],"depends":[{"conditions":[{"arg":"4.03","prefix_relop":"geq"}],"val":"ocaml"}],"dev-repo":"git+https://github.com/ocaml/ocamlbuild.git","doc":"https://github.com/ocaml/ocamlbuild/blob/master/manual/manual.adoc","files-contents":{},"homepage":"https://github.com/ocaml/ocamlbuild/","isLocal":false,"license":"LGPL-2.0-or-later WITH OCaml-LGPL-linking-exception","maintainer":"Gabriel Scherer <[email protected]>","name":"ocamlbuild","opam-version":"2.0","synopsis":"OCamlbuild is a build system with builtin rules to easily build most OCaml projects","url":{"section":{"checksum":["md5=2f407fadd57b073155a6aead887d9676","sha512=f568bf10431a1f701e8bd7554dc662400a0d978411038bbad93d44dceab02874490a8a5886a9b44e017347e7949997f13f5c3752f74e1eb5e273d2beb19a75fd"],"src":"https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.14.2.tar.gz"}},"version":"0.14.2"},"ocamlc-loc":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"conflicts":[{"conditions":[{"arg":"1.15.0","prefix_relop":"lt"}],"val":"ocaml-lsp-server"}],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"dyn"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"This library offers no backwards compatibility guarantees. Use at your own risk.","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"ocamlc-loc","opam-version":"2.0","synopsis":"Parse ocaml compiler output into structured form","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"ocamlfind":{"authors":"Gerd Stolpmann <[email protected]>","bug-reports":"https://github.com/ocaml/ocamlfind/issues","build":[["./configure","-bindir",{"id":"bin"},"-sitelib",{"id":"lib"},"-mandir",{"id":"man"},"-config","%{lib}%/findlib.conf","-no-custom",{"conditions":[{"lhs":{"arg":{"id":"ocaml:preinstalled"},"pfxop":"not"},"logop":"and","rhs":{"lhs":{"id":"ocaml:version"},"relop":"geq","rhs":"4.02.0"}}],"val":"-no-camlp4"},{"conditions":[{"id":"ocaml:preinstalled"}],"val":"-no-topfind"}],[{"id":"make"},"all"],{"conditions":[{"id":"ocaml:native"}],"val":[{"id":"make"},"opt"]}],"depends":[{"conditions":[{"arg":"4.02.0","prefix_relop":"geq"}],"val":"ocaml"}],"depopts":["graphics"],"description":"\nFindlib is a library manager for OCaml. It provides a convention how\nto store libraries, and a file format (\"META\") to describe the\nproperties of libraries. There is also a tool (ocamlfind) for\ninterpreting the META files, so that it is very easy to use libraries\nin programs and scripts.\n","dev-repo":"git+https://github.com/ocaml/ocamlfind.git","extra-files":["0001-Fix-bug-when-installing-with-a-system-compiler.patch","md5=130d3d6fe399948ed7991b7756f50dc3"],"files-contents":{"0001-Fix-bug-when-installing-with-a-system-compiler.patch":"From f53247f546375972789b96c3f612cd7f524bf2aa Mon Sep 17 00:00:00 2001\nFrom: Louis Gesbert <[email protected]>\nDate: Mon, 11 Jul 2022 18:12:18 +0200\nSubject: [PATCH] Fix bug when installing with a system compiler\n\nSee https://discuss.ocaml.org/t/problem-installing-ocamlfind-on-latest-ocamlpro-alpine-docker-image/10147\n---\n src/findlib/Makefile | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/src/findlib/Makefile b/src/findlib/Makefile\nindex 84514b6f22..ea23f4a10c 100644\n--- a/src/findlib/Makefile\n+++ b/src/findlib/Makefile\n@@ -123,7 +123,7 @@ clean:\n install: all\n \t$(INSTALLDIR) \"$(DESTDIR)$(prefix)$(OCAML_SITELIB)/$(NAME)\"\n \t$(INSTALLDIR) \"$(DESTDIR)$(prefix)$(OCAMLFIND_BIN)\"\n-\t$(INSTALLDIR) \"$(DESTDIR)$(prefix)$(OCAML_CORE_STDLIB)\"\n+\ttest $(INSTALL_TOPFIND) -eq 0 || $(INSTALLDIR) \"$(DESTDIR)$(prefix)$(OCAML_CORE_STDLIB)\"\n \ttest $(INSTALL_TOPFIND) -eq 0 || $(INSTALLFILE) topfind \"$(DESTDIR)$(prefix)$(OCAML_CORE_STDLIB)/\"\n \tfiles=`$(SH) $(TOP)/tools/collect_files $(TOP)/Makefile.config \\\n \tfindlib.cmi findlib.mli findlib.cma findlib.cmxa findlib$(LIB_SUFFIX) findlib.cmxs \\\n-- \n2.35.1\n\n"},"homepage":"http://projects.camlcity.org/projects/findlib.html","install":[[{"id":"make"},"install"],{"conditions":[{"id":"ocaml:preinstalled"}],"val":["install","-m","0755","ocaml-stub","%{bin}%/ocaml"]}],"isLocal":false,"license":"MIT","maintainer":"Thomas Gazagnaire <[email protected]>","name":"ocamlfind","opam-version":"2.0","patches":["0001-Fix-bug-when-installing-with-a-system-compiler.patch"],"synopsis":"A library manager for OCaml","url":{"section":{"checksum":["md5=8b893525ce36cb3d4d4952483bcc7cf4","sha512=03514c618a16b02889db997c6c4789b3436b3ad7d974348d2c6dea53eb78898ab285ce5f10297c074bab4fd2c82931a8b7c5c113b994447a44abb30fca74c715"],"src":"http://download.camlcity.org/download/findlib-1.9.5.tar.gz"}},"version":"1.9.5"},"ocamlformat":{"authors":["Josh Berdine <[email protected]>","Hugo Heuzard <[email protected]>","Etienne Millon <[email protected]>","Guillaume Petiot <[email protected]>","Jules Aguillon <[email protected]>"],"bug-reports":"https://github.com/ocaml-ppx/ocamlformat/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"lhs":{"lhs":{"lhs":{"id":"with-test"},"relop":"eq","rhs":"false"},"logop":"and","rhs":{"arg":"1.1.0","prefix_relop":"geq"}},"logop":"or","rhs":{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"1.2.0","prefix_relop":"geq"}}}],"val":"cmdliner"},{"conditions":[{"arg":"2.8","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"ocamlformat-lib"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":{"id":"version"},"prefix_relop":"eq"}}],"val":"ocamlformat-rpc-lib"},{"conditions":[{"arg":"1.10.3","prefix_relop":"geq"}],"val":"re"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\n**ocamlformat** is a code formatter for OCaml. It comes with opinionated default settings but is also fully customizable to suit your coding style.\n\n- **Profiles:** ocamlformat offers profiles we predefined formatting configurations. Profiles include `default`, `ocamlformat`, `janestreet`.\n- **Configurable:** Users can change the formatting profile and configure every option in their `.ocamlformat` configuration file.\n- **Format Comments:** ocamlformat can format comments, docstrings, and even code blocks in your comments.\n- **RPC:** ocamlformat provides an RPC server that can be used by other tools to easily format OCaml Code.","dev-repo":"git+https://github.com/ocaml-ppx/ocamlformat.git","files-contents":{},"homepage":"https://github.com/ocaml-ppx/ocamlformat","isLocal":false,"license":["MIT","LGPL-2.1-only WITH OCaml-LGPL-linking-exception"],"maintainer":["Guillaume Petiot <[email protected]>","Jules Aguillon <[email protected]>","Emile Trotignon <[email protected]>"],"name":"ocamlformat","opam-version":"2.0","synopsis":"Auto-formatter for OCaml code","url":{"section":{"checksum":["sha256=da006e427f15b9ec612fb808d446599bd9b7c3ee25abeb3d555747a70d74c6d7","sha512=b7413f8dc47ba3a2372e89d59cae54f9a602ab81e31cd14ed986a831111080b79a5a3cc45dac04d8ffae5054c35bf29fe9559f145c76c87a30e191ed5400942a"],"src":"https://github.com/ocaml-ppx/ocamlformat/releases/download/0.26.1/ocamlformat-0.26.1.tbz"}},"version":"0.26.1","x-commit-hash":"6734dfc1992eb782f0a936ce3cd7c78b7c1d39d3"},"ocamlformat-lib":{"authors":["Josh Berdine <[email protected]>","Hugo Heuzard <[email protected]>","Etienne Millon <[email protected]>","Guillaume Petiot <[email protected]>","Jules Aguillon <[email protected]>"],"bug-reports":"https://github.com/ocaml-ppx/ocamlformat/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"1.3.0","prefix_relop":"geq"}}],"val":"alcotest"},{"conditions":[{"arg":"v0.12.0","prefix_relop":"geq"}],"val":"base"},{"conditions":[{"arg":"2.8","prefix_relop":"geq"}],"val":"dune"},"dune-build-info","either","fix","fpath",{"conditions":[{"arg":"20201216","prefix_relop":"geq"}],"val":"menhir"},{"conditions":[{"arg":"20201216","prefix_relop":"geq"}],"val":"menhirLib"},{"conditions":[{"arg":"20201216","prefix_relop":"geq"}],"val":"menhirSdk"},{"conditions":[{"arg":"3.5.0","prefix_relop":"geq"}],"val":"ocaml-version"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":{"id":"version"},"prefix_relop":"eq"}}],"val":"ocamlformat-rpc-lib"},{"conditions":[{"lhs":{"lhs":{"lhs":{"id":"with-test"},"relop":"eq","rhs":"false"},"logop":"and","rhs":{"arg":"1.8.0","prefix_relop":"geq"}},"logop":"or","rhs":{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"1.8.1","prefix_relop":"geq"}}}],"val":"ocp-indent"},"stdio",{"conditions":[{"arg":"10.0.0","prefix_relop":"geq"}],"val":"uuseg"},{"conditions":[{"arg":"1.0.1","prefix_relop":"geq"}],"val":"uutf"},{"conditions":[{"arg":"1.4.0","prefix_relop":"geq"}],"val":"csexp"},"astring","result","camlp-streams",{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"OCamlFormat is a tool to automatically format OCaml code in a uniform style.","dev-repo":"git+https://github.com/ocaml-ppx/ocamlformat.git","files-contents":{},"homepage":"https://github.com/ocaml-ppx/ocamlformat","isLocal":false,"license":["MIT","LGPL-2.1-only WITH OCaml-LGPL-linking-exception"],"maintainer":["Guillaume Petiot <[email protected]>","Jules Aguillon <[email protected]>","Emile Trotignon <[email protected]>"],"name":"ocamlformat-lib","opam-version":"2.0","synopsis":"OCaml Code Formatter","url":{"section":{"checksum":["sha256=da006e427f15b9ec612fb808d446599bd9b7c3ee25abeb3d555747a70d74c6d7","sha512=b7413f8dc47ba3a2372e89d59cae54f9a602ab81e31cd14ed986a831111080b79a5a3cc45dac04d8ffae5054c35bf29fe9559f145c76c87a30e191ed5400942a"],"src":"https://github.com/ocaml-ppx/ocamlformat/releases/download/0.26.1/ocamlformat-0.26.1.tbz"}},"version":"0.26.1","x-commit-hash":"6734dfc1992eb782f0a936ce3cd7c78b7c1d39d3"},"ocamlformat-rpc-lib":{"authors":["Josh Berdine <[email protected]>","Hugo Heuzard <[email protected]>","Etienne Millon <[email protected]>","Guillaume Petiot <[email protected]>","Jules Aguillon <[email protected]>"],"bug-reports":"https://github.com/ocaml-ppx/ocamlformat/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"2.8","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.4.0","prefix_relop":"geq"}],"val":"csexp"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"OCamlFormat is a tool to automatically format OCaml code in a uniform style. This package defines a RPC interface to OCamlFormat","dev-repo":"git+https://github.com/ocaml-ppx/ocamlformat.git","files-contents":{},"homepage":"https://github.com/ocaml-ppx/ocamlformat","isLocal":false,"license":"MIT","maintainer":["Guillaume Petiot <[email protected]>","Jules Aguillon <[email protected]>","Emile Trotignon <[email protected]>"],"name":"ocamlformat-rpc-lib","opam-version":"2.0","synopsis":"Auto-formatter for OCaml code (RPC mode)","url":{"section":{"checksum":["sha256=da006e427f15b9ec612fb808d446599bd9b7c3ee25abeb3d555747a70d74c6d7","sha512=b7413f8dc47ba3a2372e89d59cae54f9a602ab81e31cd14ed986a831111080b79a5a3cc45dac04d8ffae5054c35bf29fe9559f145c76c87a30e191ed5400942a"],"src":"https://github.com/ocaml-ppx/ocamlformat/releases/download/0.26.1/ocamlformat-0.26.1.tbz"}},"version":"0.26.1","x-commit-hash":"6734dfc1992eb782f0a936ce3cd7c78b7c1d39d3"},"ocp-indent":{"authors":["Louis Gesbert <[email protected]>","Thomas Gazagnaire <[email protected]>","Jun Furuse"],"bug-reports":"https://github.com/OCamlPro/ocp-indent/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":["ocaml",{"conditions":[{"arg":"1.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"1.0.0","prefix_relop":"geq"}],"val":"cmdliner"},"ocamlfind","base-bytes"],"description":"\nOcp-indent is based on an approximate, tolerant OCaml parser and a simple stack\nmachine ; this is much faster and more reliable than using regexps. Presets and\nconfiguration options available, with the possibility to set them project-wide.\nSupports most common syntax extensions, and extensible for others.\n\nIncludes:\n- An indentor program, callable from the command-line or from within editors\n- Bindings for popular editors\n- A library that can be directly used by editor writers, or just for\n fault-tolerant/approximate parsing.\n","dev-repo":"git+https://github.com/OCamlPro/ocp-indent.git","files-contents":{},"homepage":"http://www.typerex.org/ocp-indent.html","isLocal":false,"license":"LGPL-2.1-only WITH OCaml-LGPL-linking-exception","maintainer":"[email protected]","name":"ocp-indent","opam-version":"2.0","post-messages":[{"conditions":[{"lhs":{"id":"success"},"logop":"and","rhs":{"arg":{"id":"user-setup:installed"},"pfxop":"not"}}],"val":"This package requires additional configuration for use in editors. Install package 'user-setup', or manually:\n\n* for Emacs, add these lines to ~/.emacs:\n (add-to-list 'load-path \"%{share}%/emacs/site-lisp\")\n (require 'ocp-indent)\n\n* for Vim, add this line to ~/.vimrc:\n set rtp^=\"%{share}%/ocp-indent/vim\"\n"}],"run-test":[["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}]],"synopsis":"A simple tool to indent OCaml programs","tags":["org:ocamlpro","org:typerex"],"url":{"section":{"checksum":["md5=70db6649a8c08a682ad63730c9752e31","sha512=565353de333dd44375366fff75e85a6256c3cd9ff52b3db79803141f975e77cda04dfe32f5e0f2d4c82c59be8f04e9c2bf4d066b113b2cdf267f4c3dcfa401da"],"src":"https://github.com/OCamlPro/ocp-indent/archive/1.8.1.tar.gz"}},"version":"1.8.1"},"ocplib-endian":{"authors":"Pierre Chambart","bug-reports":"https://github.com/OCamlPro/ocplib-endian/issues","build":["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}],"depends":["base-bytes",{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"lhs":{"arg":"1.1.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"build"}}],"val":"cppo"},{"conditions":[{"arg":"1.0","prefix_relop":"geq"}],"val":"dune"}],"description":"The library implements three modules:\n* [EndianString](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianString.mli) works directly on strings, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts;\n* [EndianBytes](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBytes.mli) works directly on bytes, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts;\n* [EndianBigstring](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBigstring.mli) works on bigstrings (Bigarrays of chars), and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts.","dev-repo":"git+https://github.com/OCamlPro/ocplib-endian.git","doc":"https://ocamlpro.github.io/ocplib-endian/ocplib-endian/","files-contents":{},"homepage":"https://github.com/OCamlPro/ocplib-endian","isLocal":false,"license":"LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception","maintainer":"[email protected]","name":"ocplib-endian","opam-version":"2.0","synopsis":"Optimised functions to read and write int16/32/64 from strings and bigarrays","url":{"section":{"checksum":["md5=8d5492eeb7c6815ade72a7415ea30949","sha512=2e70be5f3d6e377485c60664a0e235c3b9b24a8d6b6a03895d092c6e40d53810bfe1f292ee69e5181ce6daa8a582bfe3d59f3af889f417134f658812be5b8b85"],"src":"https://github.com/OCamlPro/ocplib-endian/archive/refs/tags/1.2.tar.gz"}},"version":"1.2"},"odoc-parser":{"authors":["Anton Bachin <[email protected]>"],"bug-reports":"https://github.com/ocaml-doc/odoc-parser/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"}]],"depends":[{"conditions":[{"arg":"2.8","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.02.0","prefix_relop":"geq"}],"val":"ocaml"},"astring","result","camlp-streams",{"conditions":[{"id":"with-test"}],"val":"ppx_expect"},{"group":[{"lhs":{"conditions":[{"lhs":{"arg":"4.04.1","prefix_relop":"lt"},"logop":"and","rhs":{"id":"with-test"}}],"val":"ocaml"},"logop":"or","rhs":{"conditions":[{"id":"with-test"}],"val":"sexplib0"}}]}],"description":"\nOdoc_parser is a library for parsing the contents of OCaml documentation\ncomments, formatted using 'odoc' syntax, an extension of the language\nunderstood by ocamldoc.","dev-repo":"git+https://github.com/ocaml-doc/odoc-parser.git","doc":"https://ocaml-doc.github.io/odoc-parser/","files-contents":{},"homepage":"https://github.com/ocaml-doc/odoc-parser","isLocal":false,"license":"ISC","maintainer":["Jon Ludlam <[email protected]>"],"name":"odoc-parser","opam-version":"2.0","synopsis":"Parser for ocaml documentation comments","url":{"section":{"checksum":["sha256=407919fbb0eb95761d6fc6ec6777628d94aa1907343bdca678b1880bafb33922","sha512=d2bffa3e9f30471045682e390dcee7a2c1caf3831bca4bd57c16939e782c2e23434e6f1c9887580a1804800b3629ef4c4311a9d418fca5a939f324650d54006e"],"src":"https://github.com/ocaml-doc/odoc-parser/releases/download/2.0.0/odoc-parser-2.0.0.tbz"}},"version":"2.0.0","x-commit-hash":"ebfd3b9489e44187da2c67d79a32b6fc1e92bda4"},"optint":{"authors":"Romain Calascibetta","bug-reports":"https://github.com/mirage/optint/issues","build":["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],"depends":[{"conditions":[{"arg":"4.07.0","prefix_relop":"geq"}],"val":"ocaml"},"dune",{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"0.2","prefix_relop":"geq"}}],"val":"crowbar"},{"conditions":[{"id":"with-test"}],"val":"monolith"},{"conditions":[{"id":"with-test"}],"val":"fmt"}],"description":"\nThis library provides two new integer types, `Optint.t` and `Int63.t`, which\nguarantee efficient representation on 64-bit architectures and provide a\nbest-effort boxed representation on 32-bit architectures.\n\nImplementation depends on target architecture.\n","dev-repo":"git+https://github.com/mirage/optint.git","doc":"https://mirage.github.io/optint/","files-contents":{},"homepage":"https://github.com/mirage/optint","isLocal":false,"license":"ISC","maintainer":["[email protected]"],"name":"optint","opam-version":"2.0","run-test":["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}],"synopsis":"Efficient integer types on 64-bit architectures","url":{"section":{"checksum":["sha256=295cff2c134b0385b13ba81d5005d9f841ba40d4a502aed10c997f239ef1147b","sha512=15ec97a076584e8ea28c589f1db3b9a0dd6fd5a7950528a1d136761cc13bca0e6e7bf6e0f87c73578a37393c213a7a0f3e7beaabd924e176459b29af52b8dd11"],"src":"https://github.com/mirage/optint/releases/download/v0.3.0/optint-0.3.0.tbz"}},"version":"0.3.0","x-commit-hash":"66d321700e7c8c6cbcd3cd7c391e35d4943eac4b"},"ordering":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"Element ordering","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"ordering","opam-version":"2.0","synopsis":"Element ordering","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"pp":{"authors":["Jane Street Group, LLC <[email protected]>","Jeremie Dimino <[email protected]>"],"bug-reports":"https://github.com/ocaml-dune/pp/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"2.8","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-test"}],"val":"ppx_expect"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\n\nThis library provides a lean alternative to the Format [1] module of\nthe OCaml standard library. It aims to make it easy for users to do\nthe right thing. If you have tried Format before but find its API\ncomplicated and difficult to use, then Pp might be a good choice for\nyou.\n\nPp uses the same concepts of boxes and break hints, and the final\nrendering is done to formatter from the Format module. However it\ndefines its own algebra which some might find easier to work with and\nreason about. No previous knowledge is required to start using this\nlibrary, however the various guides for the Format module such as this\none [2] should be applicable to Pp as well.\n\n[1]: https://caml.inria.fr/pub/docs/manual-ocaml/libref/Format.html\n[2]: http://caml.inria.fr/resources/doc/guides/format.en.html\n","dev-repo":"git+https://github.com/ocaml-dune/pp.git","doc":"https://ocaml-dune.github.io/pp/","files-contents":{},"homepage":"https://github.com/ocaml-dune/pp","isLocal":false,"license":"MIT","maintainer":["Jeremie Dimino <[email protected]>"],"name":"pp","opam-version":"2.0","synopsis":"Pretty-printing library","url":{"section":{"checksum":["sha256=a5e822573c55afb42db29ec56eacd1f2acd8f65cf2df2878e291de374ce6909c","sha512=912164c2aa7241d73f735dadfbefe8ed0138d241579d2e885440e068fac78eb9f0b3d782c2420e757e313168c1725daff6ab91800dd315b1e05288456998b40a"],"src":"https://github.com/ocaml-dune/pp/releases/download/1.2.0/pp-1.2.0.tbz"}},"version":"1.2.0","x-commit-hash":"83b68c740f21acdcfe54436355ab328372871357"},"ppx_yojson_conv_lib":{"authors":["Jane Street Group, LLC"],"bug-reports":"https://github.com/janestreet/ppx_yojson_conv_lib/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.14.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"2.0.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"1.7.0","prefix_relop":"geq"}],"val":"yojson"}],"description":"\nPart of the Jane Street's PPX rewriters collection.\n","dev-repo":"git+https://github.com/janestreet/ppx_yojson_conv_lib.git","doc":"https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_yojson_conv_lib/index.html","files-contents":{},"homepage":"https://github.com/janestreet/ppx_yojson_conv_lib","isLocal":false,"license":"MIT","maintainer":"Jane Street developers","name":"ppx_yojson_conv_lib","opam-version":"2.0","synopsis":"Runtime lib for ppx_yojson_conv","url":{"section":{"checksum":"sha256=557c43c88d365b4cbb514d809f1eecc54d7b9976b0669bc55b02169e6c86ec7d","src":"https://ocaml.janestreet.com/ocaml-core/v0.16/files/ppx_yojson_conv_lib-v0.16.0.tar.gz"}},"version":"v0.16.0"},"psq":{"authors":["David Kaloper Meršinjak <[email protected]>"],"bug-reports":"https://github.com/pqwy/psq/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"lhs":{"id":"ocaml:version"},"relop":"geq","rhs":"4.07.0"}}],"val":["dune","runtest","-p",{"id":"name"}]}],"depends":[{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.7","prefix_relop":"geq"}],"val":"dune"},"seq",{"conditions":[{"id":"with-test"}],"val":"qcheck-core"},{"conditions":[{"id":"with-test"}],"val":"qcheck-alcotest"},{"conditions":[{"id":"with-test"}],"val":"alcotest"}],"description":"\nTypical applications are searches, schedulers and caches. If you ever scratched\nyour head because that A* didn't look quite right, a PSQ is what you needed.\n","dev-repo":"git+https://github.com/pqwy/psq.git","doc":"https://pqwy.github.io/psq/doc","files-contents":{},"homepage":"https://github.com/pqwy/psq","isLocal":false,"license":"ISC","maintainer":"David Kaloper Meršinjak <[email protected]>","name":"psq","opam-version":"2.0","synopsis":"Functional Priority Search Queues","url":{"section":{"checksum":["sha256=42005f533eabe74b1799ee32b8905654cd66a22bed4af2bd266b28d8462cd344","sha512=8a8dfe20dc77e1cf38a7b1a7fc76f815c71a4ffe04627151b855feaba8f1ae742594739d1b7a45580b5b24a2cd99b58516f6b5c8d858aa314201f4a6422101ee"],"src":"https://github.com/pqwy/psq/releases/download/v0.2.1/psq-0.2.1.tbz"}},"version":"0.2.1","x-commit-hash":"b2eb86165712da210bcffec385bb7e031e54045e"},"re":{"authors":["Jerome Vouillon","Thomas Gazagnaire","Anil Madhavapeddy","Rudi Grinberg","Gabriel Radanne"],"bug-reports":"https://github.com/ocaml/ocaml-re/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}],{"conditions":[{"id":"with-test"}],"val":["dune","runtest","-p",{"id":"name"},"-j",{"id":"jobs"}]}],"depends":[{"conditions":[{"arg":"4.03","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"2.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"id":"with-test"}],"val":"ounit"},"seq"],"description":"\nPure OCaml regular expressions with:\n* Perl-style regular expressions (module Re.Perl)\n* Posix extended regular expressions (module Re.Posix)\n* Emacs-style regular expressions (module Re.Emacs)\n* Shell-style file globbing (module Re.Glob)\n* Compatibility layer for OCaml's built-in Str module (module Re.Str)\n","dev-repo":"git+https://github.com/ocaml/ocaml-re.git","files-contents":{},"homepage":"https://github.com/ocaml/ocaml-re","isLocal":false,"license":"LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception","maintainer":"[email protected]","name":"re","opam-version":"2.0","synopsis":"RE is a regular expression library for OCaml","url":{"section":{"checksum":["sha256=01fc244780c0f6be72ae796b1fb750f367de18624fd75d07ee79782ed6df8d4f","sha512=3e3712cc1266ec1f27620f3508ea2ebba338f4083b07d8a69dccee1facfdc1971a6c39f9deea664d2a62fd7f2cfd2eae816ca4c274acfadaee992a3befc4b757"],"src":"https://github.com/ocaml/ocaml-re/releases/download/1.11.0/re-1.11.0.tbz"}},"version":"1.11.0","x-commit-hash":"2dd38515c76c40299596d39f18d9b9a20f00d788"},"react":{"authors":"The react programmers","bug-reports":"https://github.com/dbuenzli/react/issues","build":["ocaml","pkg/pkg.ml","build","--dev-pkg","%{dev}%"],"depends":[{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.0.3","prefix_relop":"geq"}}],"val":"topkg"}],"description":"Release %%VERSION%%\n\nReact is an OCaml module for functional reactive programming (FRP). It\nprovides support to program with time varying values : declarative\nevents and signals. React doesn't define any primitive event or\nsignal, it lets the client chooses the concrete timeline.\n\nReact is made of a single, independent, module and distributed under\nthe ISC license.\n\nHomepage: <http://erratique.ch/software/react>","dev-repo":"git+https://erratique.ch/repos/react.git","doc":"https://erratique.ch/software/react/doc/","files-contents":{},"homepage":"https://erratique.ch/software/react","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"react","opam-version":"2.0","synopsis":"Declarative events and signals for OCaml","tags":["reactive","declarative","signal","event","frp","org:erratique"],"url":{"section":{"checksum":"sha512=18cdd544d484222ba02db6bd9351571516532e7a1c107b59bbe39193837298f5c745eab6754f8bc6ff125b387be7018c6d6e6ac99f91925a5e4f53af688522b1","src":"https://erratique.ch/software/react/releases/react-1.2.2.tbz"}},"version":"1.2.2"},"result":{"authors":["Jane Street Group, LLC"],"bug-reports":"https://github.com/janestreet/result/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":["ocaml",{"conditions":[{"arg":"1.0","prefix_relop":"geq"}],"val":"dune"}],"description":"\nProjects that want to use the new result type defined in OCaml >= 4.03\nwhile staying compatible with older version of OCaml should use the\nResult module defined in this library.","dev-repo":"git+https://github.com/janestreet/result.git","files-contents":{},"homepage":"https://github.com/janestreet/result","isLocal":false,"license":"BSD-3-Clause","maintainer":"Jane Street developers","name":"result","opam-version":"2.0","synopsis":"Compatibility Result module","url":{"section":{"checksum":"md5=1b82dec78849680b49ae9a8a365b831b","src":"https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz"}},"version":"1.5"},"seq":{"authors":" ","bug-reports":"https://caml.inria.fr/mantis/main_page.php","depends":[{"conditions":[{"arg":"4.07.0","prefix_relop":"geq"}],"val":"ocaml"}],"dev-repo":"git+https://github.com/ocaml/ocaml.git","extra-files":[["seq.install","md5=026b31e1df290373198373d5aaa26e42"],["META.seq","md5=b33c8a1a6c7ed797816ce27df4855107"]],"files-contents":{"META.seq":"name=\"seq\"\nversion=\"[distributed with OCaml 4.07 or above]\"\ndescription=\"dummy backward-compatibility package for iterators\"\nrequires=\"\"\n","seq.install":"lib:[\n \"META.seq\" {\"META\"}\n]\n"},"homepage":" ","isLocal":false,"maintainer":" ","name":"seq","opam-version":"2.0","synopsis":"Compatibility package for OCaml's standard iterator type starting from 4.07.","version":"base"},"sexplib0":{"authors":["Jane Street Group, LLC"],"bug-reports":"https://github.com/janestreet/sexplib0/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"2.0.0","prefix_relop":"geq"}],"val":"dune"}],"description":"\nPart of Jane Street's Core library\nThe Core suite of libraries is an industrial strength alternative to\nOCaml's standard library that was developed by Jane Street, the\nlargest industrial user of OCaml.\n","dev-repo":"git+https://github.com/janestreet/sexplib0.git","doc":"https://ocaml.janestreet.com/ocaml-core/latest/doc/sexplib0/index.html","files-contents":{},"homepage":"https://github.com/janestreet/sexplib0","isLocal":false,"license":"MIT","maintainer":"Jane Street developers","name":"sexplib0","opam-version":"2.0","synopsis":"Library containing the definition of S-expressions and some base converters","url":{"section":{"checksum":"sha256=86dba26468194512f789f2fb709063515a9cb4e5c4461c021c239a369590701d","src":"https://ocaml.janestreet.com/ocaml-core/v0.16/files/sexplib0-v0.16.0.tar.gz"}},"version":"v0.16.0"},"spawn":{"authors":["Jane Street Group, LLC"],"bug-reports":"https://github.com/janestreet/spawn/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"2.8","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"id":"with-test"}],"val":"ppx_expect"},{"conditions":[{"arg":"4.05","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\nSpawn is a small library exposing only one functionality: spawning sub-process.\n\nIt has three main goals:\n\n1. provide missing features of Unix.create_process such as providing a\nworking directory\n\n2. provide better errors when a system call fails in the\nsub-process. For instance if a command is not found, you get a proper\n[Unix.Unix_error] exception\n\n3. improve performance by using vfork when available. It is often\nclaimed that nowadays fork is as fast as vfork, however in practice\nfork takes time proportional to the process memory while vfork is\nconstant time. In application using a lot of memory, vfork can be\nthousands of times faster than fork.\n","dev-repo":"git+https://github.com/janestreet/spawn.git","doc":"https://janestreet.github.io/spawn/","files-contents":{},"homepage":"https://github.com/janestreet/spawn","isLocal":false,"license":"MIT","maintainer":["Jane Street developers"],"name":"spawn","opam-version":"2.0","synopsis":"Spawning sub-processes","url":{"section":{"checksum":["sha256=9afdee314fab6c3fcd689ab6eb5608d6b78078e6dede3953a47debde06c19d50","sha512=efdb31d5ec5ea36d0bc80224d4ee04e46ce3428d1662870e6cebece92bc313d6eebee378802c0c059dd6e0cafea515308c31b7dfaf04a098eb4566583c1e9ed4"],"src":"https://github.com/janestreet/spawn/archive/v0.15.1.tar.gz"}},"version":"v0.15.1","x-commit-hash":"13d279ebfa8c40d4bafe18cddfdff0de54b4eaff"},"stdio":{"authors":["Jane Street Group, LLC"],"bug-reports":"https://github.com/janestreet/stdio/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.14.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"lhs":{"arg":"v0.16","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"v0.17","prefix_relop":"lt"}}],"val":"base"},{"conditions":[{"arg":"2.0.0","prefix_relop":"geq"}],"val":"dune"}],"description":"\nStdio implements simple input/output functionalities for OCaml.\n\nIt re-exports the input/output functions of the OCaml standard\nlibraries using a more consistent API.\n","dev-repo":"git+https://github.com/janestreet/stdio.git","doc":"https://ocaml.janestreet.com/ocaml-core/latest/doc/stdio/index.html","files-contents":{},"homepage":"https://github.com/janestreet/stdio","isLocal":false,"license":"MIT","maintainer":"Jane Street developers","name":"stdio","opam-version":"2.0","synopsis":"Standard IO library for OCaml","url":{"section":{"checksum":"sha256=61f0b75950614ac5378c6ec0d822cce6463402d919d5810b736fc46522b3a73e","src":"https://ocaml.janestreet.com/ocaml-core/v0.16/files/stdio-v0.16.0.tar.gz"}},"version":"v0.16.0"},"stdune":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08.0","prefix_relop":"geq"}],"val":"ocaml"},"base-unix",{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"dyn"},{"conditions":[{"arg":{"id":"version"},"prefix_relop":"eq"}],"val":"ordering"},{"conditions":[{"arg":"1.2.0","prefix_relop":"geq"}],"val":"pp"},{"conditions":[{"arg":"1.5.0","prefix_relop":"geq"}],"val":"csexp"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"This library offers no backwards compatibility guarantees. Use at your own risk.","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"stdune","opam-version":"2.0","synopsis":"Dune's unstable standard library","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"thread-table":{"authors":["Vesa Karvonen <[email protected]>"],"bug-reports":"https://github.com/ocaml-multicore/thread-table/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.3","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"lhs":{"arg":"1.7.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"alcotest"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"A minimalist lock-free thread-safe integer keyed hash table with zero synchronization overhead on lookups designed for associating thread specific state with threads within a domain.","dev-repo":"git+https://github.com/ocaml-multicore/thread-table.git","files-contents":{},"homepage":"https://github.com/ocaml-multicore/thread-table","isLocal":false,"license":"ISC","maintainer":["Vesa Karvonen <[email protected]>"],"name":"thread-table","opam-version":"2.0","synopsis":"A lock-free thread-safe integer keyed hash table","url":{"section":{"checksum":["sha256=a48cd88463597df9442c4baa69ccc06091ca77ba71e438d3609fbae0f3b81ddd","sha512=f857cec49a59cba206b8cc2c580f8c5252c95c7676e81b4c5326d07fc6a7da592785cf011c91d4e6f39f8c5766e280f559c58e02a5077d472577784d646cc2e5"],"src":"https://github.com/ocaml-multicore/thread-table/releases/download/1.0.0/thread-table-1.0.0.tbz"}},"version":"1.0.0","x-commit-hash":"7a31ebaad645cd8e99e0742d21b61d3014dbe265"},"topkg":{"authors":"The topkg programmers","bug-reports":"https://github.com/dbuenzli/topkg/issues","build":["ocaml","pkg/pkg.ml","build","--pkg-name",{"id":"name"},"--dev-pkg","%{dev}%"],"depends":[{"conditions":[{"arg":"4.05.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.6.1","prefix_relop":"geq"}}],"val":"ocamlfind"},"ocamlbuild"],"description":"Topkg is a packager for distributing OCaml software. It provides an\nAPI to describe the files a package installs in a given build\nconfiguration and to specify information about the package's\ndistribution, creation and publication procedures.\n\nThe optional topkg-care package provides the `topkg` command line tool\nwhich helps with various aspects of a package's life cycle: creating\nand linting a distribution, releasing it on the WWW, publish its\ndocumentation, add it to the OCaml opam repository, etc.\n\nTopkg is distributed under the ISC license and has **no**\ndependencies. This is what your packages will need as a *build*\ndependency.\n\nTopkg-care is distributed under the ISC license it depends on\n[fmt][fmt], [logs][logs], [bos][bos], [cmdliner][cmdliner],\n[webbrowser][webbrowser] and `opam-format`.\n\n[fmt]: http://erratique.ch/software/fmt\n[logs]: http://erratique.ch/software/logs\n[bos]: http://erratique.ch/software/bos\n[cmdliner]: http://erratique.ch/software/cmdliner\n[webbrowser]: http://erratique.ch/software/webbrowser\n\nHome page: http://erratique.ch/software/topkg","dev-repo":"git+https://erratique.ch/repos/topkg.git","doc":"https://erratique.ch/software/topkg/doc","files-contents":{},"homepage":"https://erratique.ch/software/topkg","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"topkg","opam-version":"2.0","synopsis":"The transitory OCaml software packager","tags":["packaging","ocamlbuild","org:erratique"],"url":{"section":{"checksum":"sha512=09e59f1759bf4db8471f02d0aefd8db602b44932a291c05c312b1423796e7a15d1598d3c62a0cec7f083eff8e410fac09363533dc4bd2120914bb9664efea535","src":"https://erratique.ch/software/topkg/releases/topkg-1.0.7.tbz"}},"version":"1.0.7"},"trie":{"authors":["ZAN DoYe"],"bug-reports":"https://github.com/kandu/trie/issues","build":[["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"}]],"depends":[{"conditions":[{"arg":"4.02","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"arg":"1.0","prefix_relop":"geq"}],"val":"dune"}],"dev-repo":"git+https://github.com/kandu/trie.git","files-contents":{},"homepage":"https://github.com/kandu/trie/","isLocal":false,"license":"MIT","maintainer":"[email protected]","name":"trie","opam-version":"2.0","synopsis":"Strict impure trie tree","url":{"section":{"checksum":"md5=84519b5f8bd92490bfc68a52f706ba14","src":"https://github.com/kandu/trie/archive/1.0.0.tar.gz"}},"version":"1.0.0"},"uchar":{"authors":["Daniel Bünzli <daniel.buenzl [email protected]>"],"bug-reports":"https://github.com/ocaml/uchar/issues","build":[["ocaml","pkg/git.ml"],["ocaml","pkg/build.ml","native=%{ocaml:native}%","native-dynlink=%{ocaml:native-dynlink}%"]],"depends":[{"conditions":[{"arg":"3.12.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"}],"description":"\nThe `uchar` package provides a compatibility library for the\n[`Uchar`][1] module introduced in OCaml 4.03.\n\nThe `uchar` package is distributed under the license of the OCaml\ncompiler. See [LICENSE](LICENSE) for details.\n\n[1]: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Uchar.html","dev-repo":"git+https://github.com/ocaml/uchar.git","doc":"https://ocaml.github.io/uchar/","files-contents":{},"homepage":"http://ocaml.org","isLocal":false,"license":"LGPL-2.1-only WITH OCaml-LGPL-linking-exception","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"uchar","opam-version":"2.0","synopsis":"Compatibility library for OCaml's Uchar module","tags":["text","character","unicode","compatibility","org:ocaml.org"],"url":{"section":{"checksum":"md5=c9ba2c738d264c420c642f7bb1cf4a36","src":"https://github.com/ocaml/uchar/releases/download/v0.0.2/uchar-0.0.2.tbz"}},"version":"0.0.2"},"uring":{"authors":["Anil Madhavapeddy","Sadiq Jaffer","Thomas Leonard"],"available":[{"lhs":{"id":"os"},"relop":"eq","rhs":"linux"}],"bug-reports":"https://github.com/ocaml-multicore/ocaml-uring/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"6.0.1","prefix_relop":"geq"}],"val":"cstruct"},{"conditions":[{"arg":"4.12.0","prefix_relop":"geq"}],"val":"ocaml"},"dune-configurator",{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"5.0.0","prefix_relop":"geq"}}],"val":"lwt"},{"conditions":[{"lhs":{"arg":"0.1.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"bechamel"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"0.5.0","prefix_relop":"geq"}}],"val":"logs"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"1.1.0","prefix_relop":"geq"}}],"val":"cmdliner"},{"conditions":[{"arg":"0.8.10","prefix_relop":"geq"}],"val":"fmt"},{"conditions":[{"arg":"0.1.0","prefix_relop":"geq"}],"val":"optint"},{"conditions":[{"lhs":{"arg":"2.1.0","prefix_relop":"geq"},"logop":"and","rhs":{"id":"with-test"}}],"val":"mdx"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"depexts":[{"conditions":[{"lhs":{"id":"os-distribution"},"relop":"eq","rhs":"alpine"}],"val":["linux-headers"]}],"description":"Bindings to the Linux io_uring kernel IO interfaces. See https://github.com/ocaml-multicore/eio for a higher-level API using this.","dev-repo":"git+https://github.com/ocaml-multicore/ocaml-uring.git","doc":"https://ocaml-multicore.github.io/ocaml-uring/","files-contents":{},"homepage":"https://github.com/ocaml-multicore/ocaml-uring","isLocal":false,"license":["ISC","MIT"],"maintainer":["[email protected]"],"name":"uring","opam-version":"2.0","synopsis":"OCaml bindings for Linux io_uring","url":{"section":{"checksum":["sha256=921c55f1a658bdda981a36f56b6ec943e2bcca0ece24de338894f68733481503","sha512=56f445ea25b7de37cab566931a2edbbf090b8a19a5d81350a157019400c476cb75daa11a7296aaffa6a5ec350cf851b364638b4c806586734616f2c71891880f"],"src":"https://github.com/ocaml-multicore/ocaml-uring/releases/download/v0.7/uring-0.7.tbz"}},"version":"0.7","x-ci-accept-failures":["centos-7","oraclelinux-7"],"x-commit-hash":"673d908ece23dfaa1ebaee653717015b82e8132e"},"utop":{"authors":["Jérémie Dimino"],"bug-reports":"https://github.com/ocaml-community/utop/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"2.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.11.0","prefix_relop":"geq"}],"val":"ocaml"},"base-unix","base-threads",{"conditions":[{"arg":"1.7.2","prefix_relop":"geq"}],"val":"ocamlfind"},{"conditions":[{"lhs":{"arg":"3.1.0","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"4.0","prefix_relop":"lt"}}],"val":"lambda-term"},"logs","lwt","lwt_react",{"conditions":[{"arg":"3.2.0","prefix_relop":"geq"}],"val":"zed"},{"conditions":[{"arg":"1.0.0","prefix_relop":"geq"}],"val":"react"},{"conditions":[{"arg":"1.1.2","prefix_relop":"geq"}],"val":"cppo"},{"conditions":[{"id":"with-test"}],"val":"alcotest"},{"conditions":[{"arg":"3.9.0","prefix_relop":"geq"}],"val":"xdg"}],"description":"utop is an improved toplevel (i.e., Read-Eval-Print Loop or REPL) for OCaml. It can run in a terminal or in Emacs. It supports line edition, history, real-time and context sensitive completion, colors, and more. It integrates with the Tuareg mode in Emacs.","dev-repo":"git+https://github.com/ocaml-community/utop.git","doc":"https://ocaml-community.github.io/utop/","files-contents":{},"homepage":"https://github.com/ocaml-community/utop","isLocal":false,"license":"BSD-3-Clause","maintainer":["[email protected]"],"name":"utop","opam-version":"2.0","synopsis":"Universal toplevel for OCaml","url":{"section":{"checksum":["sha256=b04ec2a394d1a6a28a79444c58f66eab77b7f74401f4714aa6e6f1c2125a6ffd","sha512=37b116f408a8d8448e5faf99805e3c26a8bc0c149a64e2be75d261b1de9aca176982e95fb0d128e5072f22da99375d0691d23093d4b21d5fb9a26b034c262c51"],"src":"https://github.com/ocaml-community/utop/releases/download/2.13.1/utop-2.13.1.tbz"}},"version":"2.13.1","x-commit-hash":"5b98d2845bf8e46a253593578cf0371d773f6da0"},"uucp":{"authors":"The uucp programmers","bug-reports":"https://github.com/dbuenzli/uucp/issues","build":["ocaml","pkg/pkg.ml","build","--dev-pkg","%{dev}%","--with-uunf","%{uunf:installed}%","--with-cmdliner","%{cmdliner:installed}%"],"conflicts":[{"conditions":[{"lhs":{"arg":"15.1.0","prefix_relop":"lt"},"logop":"or","rhs":{"arg":"16.0.0","prefix_relop":"geq"}}],"val":"uunf"},{"conditions":[{"arg":"1.1.0","prefix_relop":"lt"}],"val":"cmdliner"}],"depends":[{"conditions":[{"arg":"4.14.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.0.3","prefix_relop":"geq"}}],"val":"topkg"},{"conditions":[{"lhs":{"lhs":{"lhs":{"id":"with-test"},"logop":"and","rhs":{"id":"dev"}},"logop":"and","rhs":{"arg":"15.1.0","prefix_relop":"geq"}},"logop":"and","rhs":{"arg":"16.0.0","prefix_relop":"lt"}}],"val":"uucd"},{"conditions":[{"id":"with-test"}],"val":"uunf"}],"depopts":["uunf","cmdliner"],"description":"Uucp is an OCaml library providing efficient access to a selection of\ncharacter properties of the [Unicode character database].\n\nUucp is distributed under the ISC license. It has no dependency.\n\nHome page: <http://erratique.ch/software/uucp>\n\n[Unicode character database]: http://www.unicode.org/reports/tr44/","dev-repo":"git+https://erratique.ch/repos/uucp.git","doc":"https://erratique.ch/software/uucp/doc/","files-contents":{},"homepage":"https://erratique.ch/software/uucp","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"uucp","opam-version":"2.0","post-messages":{"conditions":[{"lhs":{"id":"failure"},"logop":"and","rhs":{"group":[{"lhs":{"lhs":{"id":"arch"},"relop":"eq","rhs":"ppc64"},"logop":"or","rhs":{"lhs":{"id":"arch"},"relop":"eq","rhs":"arm64"}}]}}],"val":"If the build fails with \"ocamlopt.opt got signal and exited\", issue 'ulimit -s unlimited' and retry."},"synopsis":"Unicode character properties for OCaml","tags":["unicode","text","character","org:erratique"],"url":{"section":{"checksum":"sha512=998f94fadb72357b15a3042a3d11c31b3e16f281822673f2defdd515cd1394d55de1817628be8bd5c030175f9e62c53630d4139a1c0253800f9fb898b0f11364","src":"https://erratique.ch/software/uucp/releases/uucp-15.1.0.tbz"}},"version":"15.1.0"},"uuseg":{"authors":"The uuseg programmers","bug-reports":"https://github.com/dbuenzli/uuseg/issues","build":["ocaml","pkg/pkg.ml","build","--dev-pkg","%{dev}%","--with-uutf","%{uutf:installed}%","--with-cmdliner","%{cmdliner:installed}%"],"conflicts":[{"conditions":[{"arg":"1.0.0","prefix_relop":"lt"}],"val":"uutf"},{"conditions":[{"arg":"1.1.0","prefix_relop":"lt"}],"val":"cmdliner"}],"depends":[{"conditions":[{"arg":"4.14.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.0.3","prefix_relop":"geq"}}],"val":"topkg"},{"conditions":[{"lhs":{"arg":"15.1.0","prefix_relop":"geq"},"logop":"and","rhs":{"arg":"16.0.0","prefix_relop":"lt"}}],"val":"uucp"}],"depopts":["uutf","cmdliner"],"description":"Uuseg is an OCaml library for segmenting Unicode text. It implements\nthe locale independent [Unicode text segmentation algorithms][1] to\ndetect grapheme cluster, word and sentence boundaries and the [Unicode\nline breaking algorithm][2] to detect line break opportunities.\n\nThe library is independent from any IO mechanism or Unicode text data\nstructure and it can process text without a complete in-memory\nrepresentation.\n\nUuseg is distributed under the ISC license. It depends on [Uucp].\n\n[1]: http://www.unicode.org/reports/tr29/\n[2]: http://www.unicode.org/reports/tr14/\n[Uucp]: http://erratique.ch/software/uucp\n\nHomepage: <http://erratique.ch/software/uuseg>","dev-repo":"git+https://erratique.ch/repos/uuseg.git","doc":"https://erratique.ch/software/uuseg/doc/","files-contents":{},"homepage":"https://erratique.ch/software/uuseg","isLocal":false,"license":"ISC","maintainer":"Daniel Bünzli <daniel.buenzl [email protected]>","name":"uuseg","opam-version":"2.0","synopsis":"Unicode text segmentation for OCaml","tags":["unicode","text","segmentation","org:erratique"],"url":{"section":{"checksum":"sha512=1e9460dc5a856c985d40c61fd1560bdfdb8bbaf8d7430405814589b47d4a7f7869658d1e3198c7a9132412e9b4b85402ceb4bda5040da426b69e9aef4222a23a","src":"https://erratique.ch/software/uuseg/releases/uuseg-15.1.0.tbz"}},"version":"15.1.0"},"uutf":{"authors":["The uutf programmers"],"bug-reports":"https://github.com/dbuenzli/uutf/issues","build":[["ocaml","pkg/pkg.ml","build","--dev-pkg","%{dev}%","--with-cmdliner","%{cmdliner:installed}%"]],"conflicts":[{"conditions":[{"arg":"0.9.8","prefix_relop":"lt"}],"val":"cmdliner"}],"depends":[{"conditions":[{"arg":"4.03.0","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"ocamlfind"},{"conditions":[{"id":"build"}],"val":"ocamlbuild"},{"conditions":[{"lhs":{"id":"build"},"logop":"and","rhs":{"arg":"1.0.3","prefix_relop":"geq"}}],"val":"topkg"}],"depopts":["cmdliner"],"description":"\nUutf is a non-blocking streaming codec to decode and encode the UTF-8,\nUTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently\nwork character by character without blocking on IO. Decoders perform\ncharacter position tracking and support newline normalization.\n\nFunctions are also provided to fold over the characters of UTF encoded\nOCaml string values and to directly encode characters in OCaml\nBuffer.t values. **Note** that since OCaml 4.14, that functionality\ncan be found in the Stdlib and you are encouraged to migrate to it.\n\nUutf has no dependency and is distributed under the ISC license.\n\nHome page: http://erratique.ch/software/uutf \nContact: Daniel Bünzli `<daniel.buenzl [email protected]>`","dev-repo":"git+https://erratique.ch/repos/uutf.git","doc":"https://erratique.ch/software/uutf/doc/","files-contents":{},"homepage":"https://erratique.ch/software/uutf","isLocal":false,"license":["ISC"],"maintainer":["Daniel Bünzli <daniel.buenzl [email protected]>"],"name":"uutf","opam-version":"2.0","synopsis":"Non-blocking streaming Unicode codec for OCaml","tags":["unicode","text","utf-8","utf-16","codec","org:erratique"],"url":{"section":{"checksum":"sha512=50cc4486021da46fb08156e9daec0d57b4ca469b07309c508d5a9a41e9dbcf1f32dec2ed7be027326544453dcaf9c2534919395fd826dc7768efc6cc4bfcc9f8","src":"https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz"}},"version":"1.0.3"},"wol":{"authors":["Author Name"],"bug-reports":"https://github.com/username/reponame/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":["ocaml",{"conditions":[{"arg":"3.10","prefix_relop":"geq"}],"val":"dune"},"eio_main","ipaddr",{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"A longer description","dev-repo":"git+https://github.com/username/reponame.git","doc":"https://url/to/documentation","files-contents":{},"homepage":"https://github.com/username/reponame","isLocal":true,"license":"LICENSE","maintainer":["Maintainer Name"],"name":"wol","opam-version":"2.0","synopsis":"A short synopsis","tags":["topics","to describe","your","project"],"version":"dev"},"xdg":{"authors":["Jane Street Group, LLC <[email protected]>"],"bug-reports":"https://github.com/ocaml/dune/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["rm","-rf","vendor/csexp"],["rm","-rf","vendor/pp"],["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.5","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.08","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html","dev-repo":"git+https://github.com/ocaml/dune.git","doc":"https://dune.readthedocs.io/","files-contents":{},"homepage":"https://github.com/ocaml/dune","isLocal":false,"license":"MIT","maintainer":["Jane Street Group, LLC <[email protected]>"],"name":"xdg","opam-version":"2.0","synopsis":"XDG Base Directory Specification","url":{"section":{"checksum":["sha256=1b9c7d7e134a8d3a9d715613f02910ecf31167df1ba226ede921a5fa7b0d6513","sha512=0f2911bae7371b491dcd0762ddac0ec5498a57b5a8a0915b97e0257e668d8a7e1675d177d12be2cfe39c6adb42276c4c55beb30cc4acf109b0102650a2691057"],"src":"https://github.com/ocaml/dune/releases/download/3.11.0/dune-3.11.0.tbz"}},"version":"3.11.0","x-commit-hash":"e3bfd215dd35cf702b3af66be03f2912b69b0a0a"},"yojson":{"authors":["Martin Jambon"],"bug-reports":"https://github.com/ocaml-community/yojson/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"2.7","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.02.3","prefix_relop":"geq"}],"val":"ocaml"},{"conditions":[{"id":"build"}],"val":"cppo"},{"conditions":[{"lhs":{"id":"with-test"},"logop":"and","rhs":{"arg":"0.8.5","prefix_relop":"geq"}}],"val":"alcotest"},{"conditions":[{"arg":"0.2.2","prefix_relop":"geq"}],"val":"seq"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\nYojson is an optimized parsing and printing library for the JSON format.\n\nydump is a pretty-printing command-line program provided with the\nyojson package.","dev-repo":"git+https://github.com/ocaml-community/yojson.git","doc":"https://ocaml-community.github.io/yojson","files-contents":{},"homepage":"https://github.com/ocaml-community/yojson","isLocal":false,"license":"BSD-3-Clause","maintainer":["[email protected]","[email protected]","[email protected]"],"name":"yojson","opam-version":"2.0","synopsis":"Yojson is an optimized parsing and printing library for the JSON format","url":{"section":{"checksum":["sha256=9fcb1ff2db58ab259f9228796b0ada4794eae97177b1833371380c4e4f90b15d","sha512=31ab8580e0e4e8a05459fbec2fb9424a3df4cf5aef6df21fc577dbe3d32e81103a632c6a511c4dcf1f51819e88b38d2ce7d6888545bc3f359e69e070f8d2e69c"],"src":"https://github.com/ocaml-community/yojson/releases/download/2.1.0/yojson-2.1.0.tbz"}},"version":"2.1.0","x-commit-hash":"42fa0887cb870bdbd1751d98cd23f99d6b29751d"},"zed":{"authors":["Jérémie Dimino"],"bug-reports":"https://github.com/ocaml-community/zed/issues","build":[{"conditions":[{"id":"dev"}],"val":["dune","subst"]},["dune","build","-p",{"id":"name"},"-j",{"id":"jobs"},"@install",{"conditions":[{"id":"with-test"}],"val":"@runtest"},{"conditions":[{"id":"with-doc"}],"val":"@doc"}]],"depends":[{"conditions":[{"arg":"3.0","prefix_relop":"geq"}],"val":"dune"},{"conditions":[{"arg":"4.02.3","prefix_relop":"geq"}],"val":"ocaml"},"react","result","uchar","uutf",{"conditions":[{"arg":"2.0.0","prefix_relop":"geq"}],"val":"uucp"},"uuseg",{"conditions":[{"id":"with-test"}],"val":"alcotest"},{"conditions":[{"id":"with-doc"}],"val":"odoc"}],"description":"\nZed is an abstract engine for text edition. It can be used to write text\neditors, edition widgets, readlines, ... Zed uses Camomile to fully support the\nUnicode specification, and implements an UTF-8 encoded string type with\nvalidation, and a rope datastructure to achieve efficient operations on large\nUnicode buffers. Zed also features a regular expression search on ropes. To\nsupport efficient text edition capabilities, Zed provides macro recording and\ncursor management facilities.","dev-repo":"git+https://github.com/ocaml-community/zed.git","files-contents":{},"homepage":"https://github.com/ocaml-community/zed","isLocal":false,"license":"BSD-3-Clause","maintainer":["ZAN DoYe <[email protected]>"],"name":"zed","opam-version":"2.0","synopsis":"Abstract engine for text edition in OCaml","url":{"section":{"checksum":["sha512=637f75129550f6459417549d44bed16bdc62721d2e9e0c6bb5bfab30c5bc6478de15faece8c091b56f238375cb79a7bc176375400e543120bb31d7ea626b7c5b"],"src":"https://github.com/ocaml-community/zed/archive/refs/tags/3.2.3.tar.gz"}},"version":"3.2.3"}}