├── .gitignore ├── LICENSE ├── README.md ├── bin ├── ReasonRedisApp.re └── dune ├── dune ├── dune-project ├── esy.lock ├── .gitattributes ├── .gitignore ├── index.json ├── opam │ ├── angstrom.0.15.0 │ │ └── opam │ ├── atd.2.2.1 │ │ └── opam │ ├── atdgen-runtime.2.2.1 │ │ └── opam │ ├── atdgen.2.2.1 │ │ └── opam │ ├── base-bytes.base │ │ └── opam │ ├── base-threads.base │ │ └── opam │ ├── base-unix.base │ │ └── opam │ ├── base.v0.14.0 │ │ └── opam │ ├── bigarray-compat.1.0.0 │ │ └── opam │ ├── bigstringaf.0.6.1 │ │ └── opam │ ├── biniou.1.2.1 │ │ └── opam │ ├── cmdliner.1.0.4 │ │ └── opam │ ├── conf-m4.1 │ │ └── opam │ ├── cppo.1.6.6 │ │ └── opam │ ├── csexp.1.3.2 │ │ └── opam │ ├── dot-merlin-reader.3.4.1 │ │ └── opam │ ├── dune-build-info.2.7.1 │ │ └── opam │ ├── dune-configurator.2.7.1 │ │ └── opam │ ├── dune.2.7.1 │ │ └── opam │ ├── easy-format.1.3.2 │ │ └── opam │ ├── faraday-lwt-unix.0.7.2 │ │ └── opam │ ├── faraday-lwt.0.7.2 │ │ └── opam │ ├── faraday.0.7.2 │ │ └── opam │ ├── fieldslib.v0.14.0 │ │ └── opam │ ├── fix.20200131 │ │ └── opam │ ├── hmap.0.8.1 │ │ └── opam │ ├── httpaf-lwt-unix.0.6.6 │ │ └── opam │ ├── httpaf.0.6.6 │ │ └── opam │ ├── logs.0.7.0 │ │ └── opam │ ├── lwt.5.3.0 │ │ └── opam │ ├── magic-mime.1.1.2 │ │ └── opam │ ├── menhir.20200624 │ │ └── opam │ ├── menhirLib.20200624 │ │ └── opam │ ├── menhirSdk.20200624 │ │ └── opam │ ├── merlin-extend.0.6 │ │ └── opam │ ├── merlin.3.4.1 │ │ └── opam │ ├── mmap.1.1.0 │ │ └── opam │ ├── mtime.1.2.0 │ │ └── opam │ ├── ocaml-compiler-libs.v0.12.3 │ │ └── opam │ ├── ocaml-migrate-parsetree.1.7.3 │ │ └── opam │ ├── ocaml-syntax-shims.1.0.0 │ │ └── opam │ ├── ocamlbuild.0.14.0 │ │ └── opam │ ├── ocamlfind.1.8.1 │ │ ├── files │ │ │ ├── ocaml-stub │ │ │ └── ocamlfind.install │ │ └── opam │ ├── ocplib-endian.1.1 │ │ └── opam │ ├── ppx_derivers.1.2.1 │ │ └── opam │ ├── ppx_sexp_conv.v0.14.0 │ │ └── opam │ ├── ppx_yojson_conv_lib.v0.14.0 │ │ └── opam │ ├── ppxlib.0.14.0 │ │ └── opam │ ├── re.1.9.0 │ │ └── opam │ ├── redis-lwt.0.4 │ │ └── opam │ ├── redis.0.4 │ │ └── opam │ ├── result.1.5 │ │ └── opam │ ├── seq.base │ │ ├── files │ │ │ ├── META.seq │ │ │ └── seq.install │ │ └── opam │ ├── sexplib0.v0.14.0 │ │ └── opam │ ├── stdio.v0.14.0 │ │ └── opam │ ├── stdlib-shims.0.1.0 │ │ └── opam │ ├── stringext.1.6.0 │ │ └── opam │ ├── topkg.1.0.3 │ │ └── opam │ ├── uri.3.1.0 │ │ └── opam │ ├── uuidm.0.9.7 │ │ └── opam │ └── yojson.1.7.0 │ │ └── opam └── overrides │ ├── opam__s__dune_opam__c__2.7.1_opam_override │ ├── files │ │ └── build.sh │ └── package.json │ ├── opam__s__mtime_opam__c__1.2.0_opam_override │ ├── files │ │ └── mtime-1.2.0.patch │ └── package.json │ ├── opam__s__ocamlbuild_opam__c__0.14.0_opam_override │ ├── files │ │ └── ocamlbuild-0.14.0.patch │ └── package.json │ └── opam__s__ocamlfind_opam__c__1.8.1_opam_override │ ├── files │ └── findlib-1.8.1.patch │ └── package.json ├── package.json └── reason-redis.opam /.gitignore: -------------------------------------------------------------------------------- 1 | npm-debug.log 2 | .merlin 3 | yarn-error.log 4 | node_modules 5 | node_modules/ 6 | _build 7 | _release 8 | _esy/ 9 | reason-redis.install 10 | .DS_Store 11 | *.install 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 EduardoRFS 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # reason-redis 2 | 3 | That project is used just as a pseudo "real project", it's a http server talking to a redis server 4 | 5 | **Contains the following libraries and executables:** 6 | 7 | ``` 8 | reason-redis@0.0.0 9 | │ 10 | bin/ 11 | name: ReasonRedisApp.exe 12 | main: ReasonRedisApp 13 | require: reason-redis.lib 14 | ``` 15 | 16 | ## Developing: 17 | 18 | ``` 19 | npm install -g esy 20 | git clone 21 | esy install 22 | esy build 23 | ``` 24 | 25 | ## Running Binary: 26 | 27 | After building the project, you can run the main binary that is produced. 28 | 29 | ``` 30 | esy x ReasonRedisApp.exe 31 | ``` 32 | 33 | ## Running Tests: 34 | 35 | ``` 36 | # Runs the "test" command in `package.json`. 37 | esy test 38 | ``` 39 | -------------------------------------------------------------------------------- /bin/ReasonRedisApp.re: -------------------------------------------------------------------------------- 1 | open Opium.Std; 2 | 3 | let host = Array.length(Sys.argv) >= 2 ? Sys.argv[1] : "localhost"; 4 | let port = 6379; 5 | 6 | let conn_promise = Redis_lwt.Client.connect({host, port}); 7 | 8 | let (let.lwt) = Lwt.bind; 9 | let (let.lwt_map) = (v, f) => Lwt.map(f, v); 10 | 11 | let not_found = Rock.Response.make(~status=`Not_found, ()); 12 | 13 | let get_key = 14 | get("/:key", req => { 15 | let key = param(req, "key"); 16 | let.lwt conn = conn_promise; 17 | let.lwt_map response = Redis_lwt.Client.get(conn, key); 18 | switch (response) { 19 | | Some(value) => Response.of_string(key ++ ": " ++ value) 20 | | None => not_found 21 | }; 22 | }); 23 | 24 | let set_key = 25 | put("/:key", req => { 26 | let key = param(req, "key"); 27 | let.lwt value = App.string_of_body_exn(req); 28 | let.lwt conn = conn_promise; 29 | let.lwt _success = Redis_lwt.Client.set(conn, key, value); 30 | Response.of_string("SET " ++ key ++ " " ++ value) |> Lwt.return; 31 | }); 32 | let delete_key = 33 | delete("/:key", req => { 34 | let key = param(req, "key"); 35 | let.lwt _value = App.string_of_body_exn(req); 36 | let.lwt conn = conn_promise; 37 | let.lwt _success = Redis_lwt.Client.del(conn, [key]); 38 | Response.of_string("DEL " ++ key) |> Lwt.return; 39 | }); 40 | 41 | App.empty 42 | |> App.port(3000) 43 | |> get_key 44 | |> set_key 45 | |> delete_key 46 | |> App.run_command; 47 | -------------------------------------------------------------------------------- /bin/dune: -------------------------------------------------------------------------------- 1 | (executable 2 | (name ReasonRedisApp) 3 | (public_name ReasonRedisApp.exe) 4 | (libraries opium redis redis-lwt lwt lwt.unix)) 5 | -------------------------------------------------------------------------------- /dune: -------------------------------------------------------------------------------- 1 | (dirs (:standard \ node_modules \ _esy)) -------------------------------------------------------------------------------- /dune-project: -------------------------------------------------------------------------------- 1 | (lang dune 2.0) 2 | 3 | (name reason-redis) 4 | -------------------------------------------------------------------------------- /esy.lock/.gitattributes: -------------------------------------------------------------------------------- 1 | 2 | # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 | * text eol=lf linguist-generated 4 | -------------------------------------------------------------------------------- /esy.lock/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 | !* 4 | -------------------------------------------------------------------------------- /esy.lock/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "checksum": "9f5783753dac99b28eb64f6839468bc1", 3 | "root": "reason-redis@link-dev:./package.json", 4 | "node": { 5 | "refmterr@3.3.2@d41d8cd9": { 6 | "id": "refmterr@3.3.2@d41d8cd9", 7 | "name": "refmterr", 8 | "version": "3.3.2", 9 | "source": { 10 | "type": "install", 11 | "source": [ 12 | "archive:https://registry.npmjs.org/refmterr/-/refmterr-3.3.2.tgz#sha1:0536990e8a9f69684bdaa1e441904da6722fbb5a" 13 | ] 14 | }, 15 | "overrides": [], 16 | "dependencies": [ 17 | "ocaml@4.10.1002@d41d8cd9", "@reason-native/pastel@0.3.0@d41d8cd9", 18 | "@reason-native/console@0.1.0@d41d8cd9", 19 | "@opam/re@opam:1.9.0@d4d5e13d", "@opam/dune@opam:2.7.1@f5f493bc", 20 | "@opam/atdgen@opam:2.2.1@d73fda11", 21 | "@esy-ocaml/reason@3.6.2@d41d8cd9" 22 | ], 23 | "devDependencies": [] 24 | }, 25 | "reason-redis@link-dev:./package.json": { 26 | "id": "reason-redis@link-dev:./package.json", 27 | "name": "reason-redis", 28 | "version": "link-dev:./package.json", 29 | "source": { 30 | "type": "link-dev", 31 | "path": ".", 32 | "manifest": "package.json" 33 | }, 34 | "overrides": [], 35 | "dependencies": [ 36 | "ocaml@4.10.1002@d41d8cd9", "@opam/redis-lwt@opam:0.4@8e2550d4", 37 | "@opam/redis@opam:0.4@0ecc3c87", 38 | "@opam/opium_kernel@github:rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9@48a9e2ab", 39 | "@opam/opium@github:rgrinberg/opium:opium.opam#29165400123c2d54da27d3e6edb3404374f532f9@d41d8cd9", 40 | "@opam/lwt@opam:5.3.0@0c09f517", "@opam/dune@opam:2.7.1@f5f493bc", 41 | "@esy-ocaml/reason@3.6.2@d41d8cd9" 42 | ], 43 | "devDependencies": [ 44 | "refmterr@3.3.2@d41d8cd9", "ocaml@4.10.1002@d41d8cd9", 45 | "@opam/ocaml-lsp-server@github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#59c913849e39e26f7553632548e1840aa9ef7492@d41d8cd9", 46 | "@opam/merlin@opam:3.4.1@da518877" 47 | ] 48 | }, 49 | "ocaml@4.10.1002@d41d8cd9": { 50 | "id": "ocaml@4.10.1002@d41d8cd9", 51 | "name": "ocaml", 52 | "version": "4.10.1002", 53 | "source": { 54 | "type": "install", 55 | "source": [ 56 | "archive:https://registry.npmjs.org/ocaml/-/ocaml-4.10.1002.tgz#sha1:66d454c686aacfeb0372b5a9306b57aa623f2eff" 57 | ] 58 | }, 59 | "overrides": [], 60 | "dependencies": [], 61 | "devDependencies": [] 62 | }, 63 | "@reason-native/pastel@0.3.0@d41d8cd9": { 64 | "id": "@reason-native/pastel@0.3.0@d41d8cd9", 65 | "name": "@reason-native/pastel", 66 | "version": "0.3.0", 67 | "source": { 68 | "type": "install", 69 | "source": [ 70 | "archive:https://registry.npmjs.org/@reason-native/pastel/-/pastel-0.3.0.tgz#sha1:07da3c5a0933e61bc3b353bc85aa71ac7c0f311c" 71 | ] 72 | }, 73 | "overrides": [], 74 | "dependencies": [ 75 | "ocaml@4.10.1002@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", 76 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/reason@3.6.2@d41d8cd9" 77 | ], 78 | "devDependencies": [] 79 | }, 80 | "@reason-native/console@0.1.0@d41d8cd9": { 81 | "id": "@reason-native/console@0.1.0@d41d8cd9", 82 | "name": "@reason-native/console", 83 | "version": "0.1.0", 84 | "source": { 85 | "type": "install", 86 | "source": [ 87 | "archive:https://registry.npmjs.org/@reason-native/console/-/console-0.1.0.tgz#sha1:3b56f0e9e1be8464329793df29020aa90e71c22c" 88 | ] 89 | }, 90 | "overrides": [], 91 | "dependencies": [ 92 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 93 | "@esy-ocaml/reason@3.6.2@d41d8cd9" 94 | ], 95 | "devDependencies": [] 96 | }, 97 | "@opam/yojson@opam:1.7.0@7056d985": { 98 | "id": "@opam/yojson@opam:1.7.0@7056d985", 99 | "name": "@opam/yojson", 100 | "version": "opam:1.7.0", 101 | "source": { 102 | "type": "install", 103 | "source": [ 104 | "archive:https://opam.ocaml.org/cache/md5/b8/b89d39ca3f8c532abe5f547ad3b8f84d#md5:b89d39ca3f8c532abe5f547ad3b8f84d", 105 | "archive:https://github.com/ocaml-community/yojson/releases/download/1.7.0/yojson-1.7.0.tbz#md5:b89d39ca3f8c532abe5f547ad3b8f84d" 106 | ], 107 | "opam": { 108 | "name": "yojson", 109 | "version": "1.7.0", 110 | "path": "esy.lock/opam/yojson.1.7.0" 111 | } 112 | }, 113 | "overrides": [], 114 | "dependencies": [ 115 | "ocaml@4.10.1002@d41d8cd9", "@opam/easy-format@opam:1.3.2@0484b3c4", 116 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/cppo@opam:1.6.6@f4f83858", 117 | "@opam/biniou@opam:1.2.1@d7570399", 118 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 119 | ], 120 | "devDependencies": [ 121 | "ocaml@4.10.1002@d41d8cd9", "@opam/easy-format@opam:1.3.2@0484b3c4", 122 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/biniou@opam:1.2.1@d7570399" 123 | ] 124 | }, 125 | "@opam/uuidm@opam:0.9.7@bf725775": { 126 | "id": "@opam/uuidm@opam:0.9.7@bf725775", 127 | "name": "@opam/uuidm", 128 | "version": "opam:0.9.7", 129 | "source": { 130 | "type": "install", 131 | "source": [ 132 | "archive:https://opam.ocaml.org/cache/md5/54/54658248e3981d8c05237d0a4277ccd3#md5:54658248e3981d8c05237d0a4277ccd3", 133 | "archive:https://erratique.ch/software/uuidm/releases/uuidm-0.9.7.tbz#md5:54658248e3981d8c05237d0a4277ccd3" 134 | ], 135 | "opam": { 136 | "name": "uuidm", 137 | "version": "0.9.7", 138 | "path": "esy.lock/opam/uuidm.0.9.7" 139 | } 140 | }, 141 | "overrides": [], 142 | "dependencies": [ 143 | "ocaml@4.10.1002@d41d8cd9", "@opam/topkg@opam:1.0.3@e4e10f1c", 144 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 145 | "@opam/ocamlbuild@opam:0.14.0@6ac75d03", 146 | "@opam/cmdliner@opam:1.0.4@93208aac", 147 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 148 | ], 149 | "devDependencies": [ "ocaml@4.10.1002@d41d8cd9" ] 150 | }, 151 | "@opam/uri@opam:3.1.0@826aaae7": { 152 | "id": "@opam/uri@opam:3.1.0@826aaae7", 153 | "name": "@opam/uri", 154 | "version": "opam:3.1.0", 155 | "source": { 156 | "type": "install", 157 | "source": [ 158 | "archive:https://opam.ocaml.org/cache/sha256/c4/c452823fd870cf7cffe51aef3e9ca646a382dc6f87282f2b16bfe30a7515ac43#sha256:c452823fd870cf7cffe51aef3e9ca646a382dc6f87282f2b16bfe30a7515ac43", 159 | "archive:https://github.com/mirage/ocaml-uri/releases/download/v3.1.0/uri-v3.1.0.tbz#sha256:c452823fd870cf7cffe51aef3e9ca646a382dc6f87282f2b16bfe30a7515ac43" 160 | ], 161 | "opam": { 162 | "name": "uri", 163 | "version": "3.1.0", 164 | "path": "esy.lock/opam/uri.3.1.0" 165 | } 166 | }, 167 | "overrides": [], 168 | "dependencies": [ 169 | "ocaml@4.10.1002@d41d8cd9", "@opam/stringext@opam:1.6.0@104bc94b", 170 | "@opam/re@opam:1.9.0@d4d5e13d", "@opam/dune@opam:2.7.1@f5f493bc", 171 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 172 | ], 173 | "devDependencies": [ 174 | "ocaml@4.10.1002@d41d8cd9", "@opam/stringext@opam:1.6.0@104bc94b", 175 | "@opam/re@opam:1.9.0@d4d5e13d", "@opam/dune@opam:2.7.1@f5f493bc" 176 | ] 177 | }, 178 | "@opam/topkg@opam:1.0.3@e4e10f1c": { 179 | "id": "@opam/topkg@opam:1.0.3@e4e10f1c", 180 | "name": "@opam/topkg", 181 | "version": "opam:1.0.3", 182 | "source": { 183 | "type": "install", 184 | "source": [ 185 | "archive:https://opam.ocaml.org/cache/md5/e2/e285f7a296d77ee7d831ba9a6bfb396f#md5:e285f7a296d77ee7d831ba9a6bfb396f", 186 | "archive:http://erratique.ch/software/topkg/releases/topkg-1.0.3.tbz#md5:e285f7a296d77ee7d831ba9a6bfb396f" 187 | ], 188 | "opam": { 189 | "name": "topkg", 190 | "version": "1.0.3", 191 | "path": "esy.lock/opam/topkg.1.0.3" 192 | } 193 | }, 194 | "overrides": [], 195 | "dependencies": [ 196 | "ocaml@4.10.1002@d41d8cd9", "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 197 | "@opam/ocamlbuild@opam:0.14.0@6ac75d03", 198 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 199 | ], 200 | "devDependencies": [ 201 | "ocaml@4.10.1002@d41d8cd9", "@opam/ocamlbuild@opam:0.14.0@6ac75d03" 202 | ] 203 | }, 204 | "@opam/stringext@opam:1.6.0@104bc94b": { 205 | "id": "@opam/stringext@opam:1.6.0@104bc94b", 206 | "name": "@opam/stringext", 207 | "version": "opam:1.6.0", 208 | "source": { 209 | "type": "install", 210 | "source": [ 211 | "archive:https://opam.ocaml.org/cache/sha256/db/db41f5d52e9eab17615f110b899dfeb27dd7e7f89cd35ae43827c5119db206ea#sha256:db41f5d52e9eab17615f110b899dfeb27dd7e7f89cd35ae43827c5119db206ea", 212 | "archive:https://github.com/rgrinberg/stringext/releases/download/1.6.0/stringext-1.6.0.tbz#sha256:db41f5d52e9eab17615f110b899dfeb27dd7e7f89cd35ae43827c5119db206ea" 213 | ], 214 | "opam": { 215 | "name": "stringext", 216 | "version": "1.6.0", 217 | "path": "esy.lock/opam/stringext.1.6.0" 218 | } 219 | }, 220 | "overrides": [], 221 | "dependencies": [ 222 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 223 | "@opam/base-bytes@opam:base@19d0c2ff", 224 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 225 | ], 226 | "devDependencies": [ 227 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 228 | "@opam/base-bytes@opam:base@19d0c2ff" 229 | ] 230 | }, 231 | "@opam/stdlib-shims@opam:0.1.0@8c116481": { 232 | "id": "@opam/stdlib-shims@opam:0.1.0@8c116481", 233 | "name": "@opam/stdlib-shims", 234 | "version": "opam:0.1.0", 235 | "source": { 236 | "type": "install", 237 | "source": [ 238 | "archive:https://opam.ocaml.org/cache/md5/12/12b5704eed70c6bff5ac39a16db1425d#md5:12b5704eed70c6bff5ac39a16db1425d", 239 | "archive:https://github.com/ocaml/stdlib-shims/releases/download/0.1.0/stdlib-shims-0.1.0.tbz#md5:12b5704eed70c6bff5ac39a16db1425d" 240 | ], 241 | "opam": { 242 | "name": "stdlib-shims", 243 | "version": "0.1.0", 244 | "path": "esy.lock/opam/stdlib-shims.0.1.0" 245 | } 246 | }, 247 | "overrides": [], 248 | "dependencies": [ 249 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 250 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 251 | ], 252 | "devDependencies": [ 253 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 254 | ] 255 | }, 256 | "@opam/stdio@opam:v0.14.0@a624e254": { 257 | "id": "@opam/stdio@opam:v0.14.0@a624e254", 258 | "name": "@opam/stdio", 259 | "version": "opam:v0.14.0", 260 | "source": { 261 | "type": "install", 262 | "source": [ 263 | "archive:https://opam.ocaml.org/cache/md5/4c/4cbdf15f0be88c3258aaeff9e04e00e9#md5:4cbdf15f0be88c3258aaeff9e04e00e9", 264 | "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/stdio-v0.14.0.tar.gz#md5:4cbdf15f0be88c3258aaeff9e04e00e9" 265 | ], 266 | "opam": { 267 | "name": "stdio", 268 | "version": "v0.14.0", 269 | "path": "esy.lock/opam/stdio.v0.14.0" 270 | } 271 | }, 272 | "overrides": [], 273 | "dependencies": [ 274 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 275 | "@opam/base@opam:v0.14.0@8bc55fce", 276 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 277 | ], 278 | "devDependencies": [ 279 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 280 | "@opam/base@opam:v0.14.0@8bc55fce" 281 | ] 282 | }, 283 | "@opam/sexplib0@opam:v0.14.0@ddeb6438": { 284 | "id": "@opam/sexplib0@opam:v0.14.0@ddeb6438", 285 | "name": "@opam/sexplib0", 286 | "version": "opam:v0.14.0", 287 | "source": { 288 | "type": "install", 289 | "source": [ 290 | "archive:https://opam.ocaml.org/cache/md5/37/37aff0af8f8f6f759249475684aebdc4#md5:37aff0af8f8f6f759249475684aebdc4", 291 | "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/sexplib0-v0.14.0.tar.gz#md5:37aff0af8f8f6f759249475684aebdc4" 292 | ], 293 | "opam": { 294 | "name": "sexplib0", 295 | "version": "v0.14.0", 296 | "path": "esy.lock/opam/sexplib0.v0.14.0" 297 | } 298 | }, 299 | "overrides": [], 300 | "dependencies": [ 301 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 302 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 303 | ], 304 | "devDependencies": [ 305 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 306 | ] 307 | }, 308 | "@opam/seq@opam:base@d8d7de1d": { 309 | "id": "@opam/seq@opam:base@d8d7de1d", 310 | "name": "@opam/seq", 311 | "version": "opam:base", 312 | "source": { 313 | "type": "install", 314 | "source": [ "no-source:" ], 315 | "opam": { 316 | "name": "seq", 317 | "version": "base", 318 | "path": "esy.lock/opam/seq.base" 319 | } 320 | }, 321 | "overrides": [], 322 | "dependencies": [ 323 | "ocaml@4.10.1002@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" 324 | ], 325 | "devDependencies": [ "ocaml@4.10.1002@d41d8cd9" ] 326 | }, 327 | "@opam/result@opam:1.5@6b753c82": { 328 | "id": "@opam/result@opam:1.5@6b753c82", 329 | "name": "@opam/result", 330 | "version": "opam:1.5", 331 | "source": { 332 | "type": "install", 333 | "source": [ 334 | "archive:https://opam.ocaml.org/cache/md5/1b/1b82dec78849680b49ae9a8a365b831b#md5:1b82dec78849680b49ae9a8a365b831b", 335 | "archive:https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz#md5:1b82dec78849680b49ae9a8a365b831b" 336 | ], 337 | "opam": { 338 | "name": "result", 339 | "version": "1.5", 340 | "path": "esy.lock/opam/result.1.5" 341 | } 342 | }, 343 | "overrides": [], 344 | "dependencies": [ 345 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 346 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 347 | ], 348 | "devDependencies": [ 349 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 350 | ] 351 | }, 352 | "@opam/redis-lwt@opam:0.4@8e2550d4": { 353 | "id": "@opam/redis-lwt@opam:0.4@8e2550d4", 354 | "name": "@opam/redis-lwt", 355 | "version": "opam:0.4", 356 | "source": { 357 | "type": "install", 358 | "source": [ 359 | "archive:https://opam.ocaml.org/cache/md5/14/14ed13367ece237de7fb881436762356#md5:14ed13367ece237de7fb881436762356", 360 | "archive:https://github.com/0xffea/ocaml-redis/archive/0.4.tar.gz#md5:14ed13367ece237de7fb881436762356" 361 | ], 362 | "opam": { 363 | "name": "redis-lwt", 364 | "version": "0.4", 365 | "path": "esy.lock/opam/redis-lwt.0.4" 366 | } 367 | }, 368 | "overrides": [], 369 | "dependencies": [ 370 | "ocaml@4.10.1002@d41d8cd9", "@opam/redis@opam:0.4@0ecc3c87", 371 | "@opam/lwt@opam:5.3.0@0c09f517", "@opam/dune@opam:2.7.1@f5f493bc", 372 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 373 | ], 374 | "devDependencies": [ 375 | "ocaml@4.10.1002@d41d8cd9", "@opam/redis@opam:0.4@0ecc3c87", 376 | "@opam/lwt@opam:5.3.0@0c09f517", "@opam/dune@opam:2.7.1@f5f493bc" 377 | ] 378 | }, 379 | "@opam/redis@opam:0.4@0ecc3c87": { 380 | "id": "@opam/redis@opam:0.4@0ecc3c87", 381 | "name": "@opam/redis", 382 | "version": "opam:0.4", 383 | "source": { 384 | "type": "install", 385 | "source": [ 386 | "archive:https://opam.ocaml.org/cache/md5/14/14ed13367ece237de7fb881436762356#md5:14ed13367ece237de7fb881436762356", 387 | "archive:https://github.com/0xffea/ocaml-redis/archive/0.4.tar.gz#md5:14ed13367ece237de7fb881436762356" 388 | ], 389 | "opam": { 390 | "name": "redis", 391 | "version": "0.4", 392 | "path": "esy.lock/opam/redis.0.4" 393 | } 394 | }, 395 | "overrides": [], 396 | "dependencies": [ 397 | "ocaml@4.10.1002@d41d8cd9", "@opam/uuidm@opam:0.9.7@bf725775", 398 | "@opam/re@opam:1.9.0@d4d5e13d", "@opam/dune@opam:2.7.1@f5f493bc", 399 | "@opam/base-unix@opam:base@87d0b2eb", 400 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 401 | ], 402 | "devDependencies": [ 403 | "ocaml@4.10.1002@d41d8cd9", "@opam/uuidm@opam:0.9.7@bf725775", 404 | "@opam/re@opam:1.9.0@d4d5e13d", "@opam/dune@opam:2.7.1@f5f493bc", 405 | "@opam/base-unix@opam:base@87d0b2eb" 406 | ] 407 | }, 408 | "@opam/re@opam:1.9.0@d4d5e13d": { 409 | "id": "@opam/re@opam:1.9.0@d4d5e13d", 410 | "name": "@opam/re", 411 | "version": "opam:1.9.0", 412 | "source": { 413 | "type": "install", 414 | "source": [ 415 | "archive:https://opam.ocaml.org/cache/md5/bd/bddaed4f386a22cace7850c9c7dac296#md5:bddaed4f386a22cace7850c9c7dac296", 416 | "archive:https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz#md5:bddaed4f386a22cace7850c9c7dac296" 417 | ], 418 | "opam": { 419 | "name": "re", 420 | "version": "1.9.0", 421 | "path": "esy.lock/opam/re.1.9.0" 422 | } 423 | }, 424 | "overrides": [], 425 | "dependencies": [ 426 | "ocaml@4.10.1002@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", 427 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 428 | ], 429 | "devDependencies": [ 430 | "ocaml@4.10.1002@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", 431 | "@opam/dune@opam:2.7.1@f5f493bc" 432 | ] 433 | }, 434 | "@opam/ppxlib@opam:0.14.0@6168b34e": { 435 | "id": "@opam/ppxlib@opam:0.14.0@6168b34e", 436 | "name": "@opam/ppxlib", 437 | "version": "opam:0.14.0", 438 | "source": { 439 | "type": "install", 440 | "source": [ 441 | "archive:https://opam.ocaml.org/cache/sha256/a1/a1a398f7c8f670d7de80468ff4639862b126f4dcac3de416e0c5c4d5860f3854#sha256:a1a398f7c8f670d7de80468ff4639862b126f4dcac3de416e0c5c4d5860f3854", 442 | "archive:https://github.com/ocaml-ppx/ppxlib/releases/download/0.14.0/ppxlib-0.14.0.tbz#sha256:a1a398f7c8f670d7de80468ff4639862b126f4dcac3de416e0c5c4d5860f3854" 443 | ], 444 | "opam": { 445 | "name": "ppxlib", 446 | "version": "0.14.0", 447 | "path": "esy.lock/opam/ppxlib.0.14.0" 448 | } 449 | }, 450 | "overrides": [], 451 | "dependencies": [ 452 | "ocaml@4.10.1002@d41d8cd9", "@opam/stdio@opam:v0.14.0@a624e254", 453 | "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", 454 | "@opam/ocaml-migrate-parsetree@opam:1.7.3@dbcf3b47", 455 | "@opam/ocaml-compiler-libs@opam:v0.12.3@f0f069bd", 456 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/base@opam:v0.14.0@8bc55fce", 457 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 458 | ], 459 | "devDependencies": [ 460 | "ocaml@4.10.1002@d41d8cd9", "@opam/stdio@opam:v0.14.0@a624e254", 461 | "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", 462 | "@opam/ocaml-migrate-parsetree@opam:1.7.3@dbcf3b47", 463 | "@opam/ocaml-compiler-libs@opam:v0.12.3@f0f069bd", 464 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/base@opam:v0.14.0@8bc55fce" 465 | ] 466 | }, 467 | "@opam/ppx_yojson_conv_lib@opam:v0.14.0@116b53d6": { 468 | "id": "@opam/ppx_yojson_conv_lib@opam:v0.14.0@116b53d6", 469 | "name": "@opam/ppx_yojson_conv_lib", 470 | "version": "opam:v0.14.0", 471 | "source": { 472 | "type": "install", 473 | "source": [ 474 | "archive:https://opam.ocaml.org/cache/md5/e2/e23c5593a7211ad4fb09e26e9a74698a#md5:e23c5593a7211ad4fb09e26e9a74698a", 475 | "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/ppx_yojson_conv_lib-v0.14.0.tar.gz#md5:e23c5593a7211ad4fb09e26e9a74698a" 476 | ], 477 | "opam": { 478 | "name": "ppx_yojson_conv_lib", 479 | "version": "v0.14.0", 480 | "path": "esy.lock/opam/ppx_yojson_conv_lib.v0.14.0" 481 | } 482 | }, 483 | "overrides": [], 484 | "dependencies": [ 485 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 486 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 487 | ], 488 | "devDependencies": [ 489 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 490 | "@opam/dune@opam:2.7.1@f5f493bc" 491 | ] 492 | }, 493 | "@opam/ppx_sexp_conv@opam:v0.14.0@d0ea88cc": { 494 | "id": "@opam/ppx_sexp_conv@opam:v0.14.0@d0ea88cc", 495 | "name": "@opam/ppx_sexp_conv", 496 | "version": "opam:v0.14.0", 497 | "source": { 498 | "type": "install", 499 | "source": [ 500 | "archive:https://opam.ocaml.org/cache/md5/b3/b30d4ec43962b96d293e4c6579c592b0#md5:b30d4ec43962b96d293e4c6579c592b0", 501 | "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/ppx_sexp_conv-v0.14.0.tar.gz#md5:b30d4ec43962b96d293e4c6579c592b0" 502 | ], 503 | "opam": { 504 | "name": "ppx_sexp_conv", 505 | "version": "v0.14.0", 506 | "path": "esy.lock/opam/ppx_sexp_conv.v0.14.0" 507 | } 508 | }, 509 | "overrides": [], 510 | "dependencies": [ 511 | "ocaml@4.10.1002@d41d8cd9", "@opam/sexplib0@opam:v0.14.0@ddeb6438", 512 | "@opam/ppxlib@opam:0.14.0@6168b34e", 513 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/base@opam:v0.14.0@8bc55fce", 514 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 515 | ], 516 | "devDependencies": [ 517 | "ocaml@4.10.1002@d41d8cd9", "@opam/sexplib0@opam:v0.14.0@ddeb6438", 518 | "@opam/ppxlib@opam:0.14.0@6168b34e", 519 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/base@opam:v0.14.0@8bc55fce" 520 | ] 521 | }, 522 | "@opam/ppx_derivers@opam:1.2.1@ecf0aa45": { 523 | "id": "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", 524 | "name": "@opam/ppx_derivers", 525 | "version": "opam:1.2.1", 526 | "source": { 527 | "type": "install", 528 | "source": [ 529 | "archive:https://opam.ocaml.org/cache/md5/5d/5dc2bf130c1db3c731fe0fffc5648b41#md5:5dc2bf130c1db3c731fe0fffc5648b41", 530 | "archive:https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz#md5:5dc2bf130c1db3c731fe0fffc5648b41" 531 | ], 532 | "opam": { 533 | "name": "ppx_derivers", 534 | "version": "1.2.1", 535 | "path": "esy.lock/opam/ppx_derivers.1.2.1" 536 | } 537 | }, 538 | "overrides": [], 539 | "dependencies": [ 540 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 541 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 542 | ], 543 | "devDependencies": [ 544 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 545 | ] 546 | }, 547 | "@opam/opium_kernel@github:rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9@48a9e2ab": { 548 | "id": 549 | "@opam/opium_kernel@github:rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9@48a9e2ab", 550 | "name": "@opam/opium_kernel", 551 | "version": 552 | "github:rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9", 553 | "source": { 554 | "type": "install", 555 | "source": [ 556 | "github:rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9" 557 | ] 558 | }, 559 | "overrides": [ 560 | { "dependencies": { "@opam/ppx_sexp_conv": "v0.14.0" } } 561 | ], 562 | "dependencies": [ 563 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 564 | "@opam/uri@opam:3.1.0@826aaae7", 565 | "@opam/sexplib0@opam:v0.14.0@ddeb6438", 566 | "@opam/re@opam:1.9.0@d4d5e13d", 567 | "@opam/ppx_sexp_conv@opam:v0.14.0@d0ea88cc", 568 | "@opam/mtime@opam:1.2.0@acd670b8", "@opam/lwt@opam:5.3.0@0c09f517", 569 | "@opam/logs@opam:0.7.0@1d03143e", "@opam/httpaf@opam:0.6.6@5a68a6dd", 570 | "@opam/hmap@opam:0.8.1@87a77ebe", 571 | "@opam/fieldslib@opam:v0.14.0@bf8bb3e2", 572 | "@opam/dune@opam:2.7.1@f5f493bc", 573 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1", 574 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 575 | ], 576 | "devDependencies": [ 577 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 578 | "@opam/uri@opam:3.1.0@826aaae7", 579 | "@opam/sexplib0@opam:v0.14.0@ddeb6438", 580 | "@opam/re@opam:1.9.0@d4d5e13d", "@opam/mtime@opam:1.2.0@acd670b8", 581 | "@opam/lwt@opam:5.3.0@0c09f517", "@opam/logs@opam:0.7.0@1d03143e", 582 | "@opam/httpaf@opam:0.6.6@5a68a6dd", "@opam/hmap@opam:0.8.1@87a77ebe", 583 | "@opam/fieldslib@opam:v0.14.0@bf8bb3e2", 584 | "@opam/dune@opam:2.7.1@f5f493bc", 585 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1" 586 | ] 587 | }, 588 | "@opam/opium@github:rgrinberg/opium:opium.opam#29165400123c2d54da27d3e6edb3404374f532f9@d41d8cd9": { 589 | "id": 590 | "@opam/opium@github:rgrinberg/opium:opium.opam#29165400123c2d54da27d3e6edb3404374f532f9@d41d8cd9", 591 | "name": "@opam/opium", 592 | "version": 593 | "github:rgrinberg/opium:opium.opam#29165400123c2d54da27d3e6edb3404374f532f9", 594 | "source": { 595 | "type": "install", 596 | "source": [ 597 | "github:rgrinberg/opium:opium.opam#29165400123c2d54da27d3e6edb3404374f532f9" 598 | ] 599 | }, 600 | "overrides": [], 601 | "dependencies": [ 602 | "ocaml@4.10.1002@d41d8cd9", "@opam/sexplib0@opam:v0.14.0@ddeb6438", 603 | "@opam/re@opam:1.9.0@d4d5e13d", 604 | "@opam/opium_kernel@github:rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9@48a9e2ab", 605 | "@opam/mtime@opam:1.2.0@acd670b8", 606 | "@opam/magic-mime@opam:1.1.2@980f82fb", 607 | "@opam/lwt@opam:5.3.0@0c09f517", "@opam/logs@opam:0.7.0@1d03143e", 608 | "@opam/httpaf-lwt-unix@opam:0.6.6@ed635334", 609 | "@opam/dune@opam:2.7.1@f5f493bc", 610 | "@opam/cmdliner@opam:1.0.4@93208aac", 611 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 612 | ], 613 | "devDependencies": [ 614 | "ocaml@4.10.1002@d41d8cd9", "@opam/sexplib0@opam:v0.14.0@ddeb6438", 615 | "@opam/re@opam:1.9.0@d4d5e13d", 616 | "@opam/opium_kernel@github:rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9@48a9e2ab", 617 | "@opam/mtime@opam:1.2.0@acd670b8", 618 | "@opam/magic-mime@opam:1.1.2@980f82fb", 619 | "@opam/lwt@opam:5.3.0@0c09f517", "@opam/logs@opam:0.7.0@1d03143e", 620 | "@opam/httpaf-lwt-unix@opam:0.6.6@ed635334", 621 | "@opam/dune@opam:2.7.1@f5f493bc", 622 | "@opam/cmdliner@opam:1.0.4@93208aac" 623 | ] 624 | }, 625 | "@opam/ocplib-endian@opam:1.1@84c1ca88": { 626 | "id": "@opam/ocplib-endian@opam:1.1@84c1ca88", 627 | "name": "@opam/ocplib-endian", 628 | "version": "opam:1.1", 629 | "source": { 630 | "type": "install", 631 | "source": [ 632 | "archive:https://opam.ocaml.org/cache/md5/de/dedf4d69c1b87b3c6c7234f632399285#md5:dedf4d69c1b87b3c6c7234f632399285", 633 | "archive:https://github.com/OCamlPro/ocplib-endian/archive/1.1.tar.gz#md5:dedf4d69c1b87b3c6c7234f632399285" 634 | ], 635 | "opam": { 636 | "name": "ocplib-endian", 637 | "version": "1.1", 638 | "path": "esy.lock/opam/ocplib-endian.1.1" 639 | } 640 | }, 641 | "overrides": [], 642 | "dependencies": [ 643 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 644 | "@opam/cppo@opam:1.6.6@f4f83858", 645 | "@opam/base-bytes@opam:base@19d0c2ff", 646 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 647 | ], 648 | "devDependencies": [ 649 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 650 | "@opam/base-bytes@opam:base@19d0c2ff" 651 | ] 652 | }, 653 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9": { 654 | "id": "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 655 | "name": "@opam/ocamlfind", 656 | "version": "opam:1.8.1", 657 | "source": { 658 | "type": "install", 659 | "source": [ 660 | "archive:https://opam.ocaml.org/cache/md5/18/18ca650982c15536616dea0e422cbd8c#md5:18ca650982c15536616dea0e422cbd8c", 661 | "archive:http://download2.camlcity.org/download/findlib-1.8.1.tar.gz#md5:18ca650982c15536616dea0e422cbd8c", 662 | "archive:http://download.camlcity.org/download/findlib-1.8.1.tar.gz#md5:18ca650982c15536616dea0e422cbd8c" 663 | ], 664 | "opam": { 665 | "name": "ocamlfind", 666 | "version": "1.8.1", 667 | "path": "esy.lock/opam/ocamlfind.1.8.1" 668 | } 669 | }, 670 | "overrides": [ 671 | { 672 | "opamoverride": 673 | "esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override" 674 | } 675 | ], 676 | "dependencies": [ 677 | "ocaml@4.10.1002@d41d8cd9", "@opam/conf-m4@opam:1@3b2b148a", 678 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 679 | ], 680 | "devDependencies": [ "ocaml@4.10.1002@d41d8cd9" ] 681 | }, 682 | "@opam/ocamlbuild@opam:0.14.0@6ac75d03": { 683 | "id": "@opam/ocamlbuild@opam:0.14.0@6ac75d03", 684 | "name": "@opam/ocamlbuild", 685 | "version": "opam:0.14.0", 686 | "source": { 687 | "type": "install", 688 | "source": [ 689 | "archive:https://opam.ocaml.org/cache/sha256/87/87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78#sha256:87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78", 690 | "archive:https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz#sha256:87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78" 691 | ], 692 | "opam": { 693 | "name": "ocamlbuild", 694 | "version": "0.14.0", 695 | "path": "esy.lock/opam/ocamlbuild.0.14.0" 696 | } 697 | }, 698 | "overrides": [ 699 | { 700 | "opamoverride": 701 | "esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override" 702 | } 703 | ], 704 | "dependencies": [ 705 | "ocaml@4.10.1002@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" 706 | ], 707 | "devDependencies": [ "ocaml@4.10.1002@d41d8cd9" ] 708 | }, 709 | "@opam/ocaml-syntax-shims@opam:1.0.0@a9aa3bfa": { 710 | "id": "@opam/ocaml-syntax-shims@opam:1.0.0@a9aa3bfa", 711 | "name": "@opam/ocaml-syntax-shims", 712 | "version": "opam:1.0.0", 713 | "source": { 714 | "type": "install", 715 | "source": [ 716 | "archive:https://opam.ocaml.org/cache/sha256/89/89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8#sha256:89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8", 717 | "archive:https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz#sha256:89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8" 718 | ], 719 | "opam": { 720 | "name": "ocaml-syntax-shims", 721 | "version": "1.0.0", 722 | "path": "esy.lock/opam/ocaml-syntax-shims.1.0.0" 723 | } 724 | }, 725 | "overrides": [], 726 | "dependencies": [ 727 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 728 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 729 | ], 730 | "devDependencies": [ 731 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 732 | ] 733 | }, 734 | "@opam/ocaml-migrate-parsetree@opam:1.7.3@dbcf3b47": { 735 | "id": "@opam/ocaml-migrate-parsetree@opam:1.7.3@dbcf3b47", 736 | "name": "@opam/ocaml-migrate-parsetree", 737 | "version": "opam:1.7.3", 738 | "source": { 739 | "type": "install", 740 | "source": [ 741 | "archive:https://opam.ocaml.org/cache/sha256/6d/6d85717bcf476b87f290714872ed4fbde0233dc899c3158a27f439d70224fb55#sha256:6d85717bcf476b87f290714872ed4fbde0233dc899c3158a27f439d70224fb55", 742 | "archive:https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v1.7.3/ocaml-migrate-parsetree-v1.7.3.tbz#sha256:6d85717bcf476b87f290714872ed4fbde0233dc899c3158a27f439d70224fb55" 743 | ], 744 | "opam": { 745 | "name": "ocaml-migrate-parsetree", 746 | "version": "1.7.3", 747 | "path": "esy.lock/opam/ocaml-migrate-parsetree.1.7.3" 748 | } 749 | }, 750 | "overrides": [], 751 | "dependencies": [ 752 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 753 | "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", 754 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 755 | ], 756 | "devDependencies": [ 757 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 758 | "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", 759 | "@opam/dune@opam:2.7.1@f5f493bc" 760 | ] 761 | }, 762 | "@opam/ocaml-lsp-server@github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#59c913849e39e26f7553632548e1840aa9ef7492@d41d8cd9": { 763 | "id": 764 | "@opam/ocaml-lsp-server@github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#59c913849e39e26f7553632548e1840aa9ef7492@d41d8cd9", 765 | "name": "@opam/ocaml-lsp-server", 766 | "version": 767 | "github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#59c913849e39e26f7553632548e1840aa9ef7492", 768 | "source": { 769 | "type": "install", 770 | "source": [ 771 | "github:ocaml/ocaml-lsp:ocaml-lsp-server.opam#59c913849e39e26f7553632548e1840aa9ef7492" 772 | ] 773 | }, 774 | "overrides": [], 775 | "dependencies": [ 776 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 777 | "@opam/stdlib-shims@opam:0.1.0@8c116481", 778 | "@opam/result@opam:1.5@6b753c82", 779 | "@opam/ppx_yojson_conv_lib@opam:v0.14.0@116b53d6", 780 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 781 | "@opam/menhir@opam:20200624@8629ff13", 782 | "@opam/dune-build-info@opam:2.7.1@da03d61d", 783 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/csexp@opam:1.3.2@5cea14af", 784 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 785 | ], 786 | "devDependencies": [ 787 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 788 | "@opam/stdlib-shims@opam:0.1.0@8c116481", 789 | "@opam/result@opam:1.5@6b753c82", 790 | "@opam/ppx_yojson_conv_lib@opam:v0.14.0@116b53d6", 791 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 792 | "@opam/menhir@opam:20200624@8629ff13", 793 | "@opam/dune-build-info@opam:2.7.1@da03d61d", 794 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/csexp@opam:1.3.2@5cea14af" 795 | ] 796 | }, 797 | "@opam/ocaml-compiler-libs@opam:v0.12.3@f0f069bd": { 798 | "id": "@opam/ocaml-compiler-libs@opam:v0.12.3@f0f069bd", 799 | "name": "@opam/ocaml-compiler-libs", 800 | "version": "opam:v0.12.3", 801 | "source": { 802 | "type": "install", 803 | "source": [ 804 | "archive:https://opam.ocaml.org/cache/sha256/a8/a8403531439c14bbda2d504ef93610fd29a8e9520fc700f21889d893a513e3c9#sha256:a8403531439c14bbda2d504ef93610fd29a8e9520fc700f21889d893a513e3c9", 805 | "archive:https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.3/ocaml-compiler-libs-v0.12.3.tbz#sha256:a8403531439c14bbda2d504ef93610fd29a8e9520fc700f21889d893a513e3c9" 806 | ], 807 | "opam": { 808 | "name": "ocaml-compiler-libs", 809 | "version": "v0.12.3", 810 | "path": "esy.lock/opam/ocaml-compiler-libs.v0.12.3" 811 | } 812 | }, 813 | "overrides": [], 814 | "dependencies": [ 815 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 816 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 817 | ], 818 | "devDependencies": [ 819 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 820 | ] 821 | }, 822 | "@opam/mtime@opam:1.2.0@acd670b8": { 823 | "id": "@opam/mtime@opam:1.2.0@acd670b8", 824 | "name": "@opam/mtime", 825 | "version": "opam:1.2.0", 826 | "source": { 827 | "type": "install", 828 | "source": [ 829 | "archive:https://opam.ocaml.org/cache/md5/f3/f3f4c1333c0f74fc27b05c35b9c0dab9#md5:f3f4c1333c0f74fc27b05c35b9c0dab9", 830 | "archive:https://erratique.ch/software/mtime/releases/mtime-1.2.0.tbz#md5:f3f4c1333c0f74fc27b05c35b9c0dab9" 831 | ], 832 | "opam": { 833 | "name": "mtime", 834 | "version": "1.2.0", 835 | "path": "esy.lock/opam/mtime.1.2.0" 836 | } 837 | }, 838 | "overrides": [ 839 | { 840 | "opamoverride": 841 | "esy.lock/overrides/opam__s__mtime_opam__c__1.2.0_opam_override" 842 | } 843 | ], 844 | "dependencies": [ 845 | "ocaml@4.10.1002@d41d8cd9", "@opam/topkg@opam:1.0.3@e4e10f1c", 846 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 847 | "@opam/ocamlbuild@opam:0.14.0@6ac75d03", 848 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 849 | ], 850 | "devDependencies": [ "ocaml@4.10.1002@d41d8cd9" ] 851 | }, 852 | "@opam/mmap@opam:1.1.0@b85334ff": { 853 | "id": "@opam/mmap@opam:1.1.0@b85334ff", 854 | "name": "@opam/mmap", 855 | "version": "opam:1.1.0", 856 | "source": { 857 | "type": "install", 858 | "source": [ 859 | "archive:https://opam.ocaml.org/cache/md5/8c/8c5d5fbc537296dc525867535fb878ba#md5:8c5d5fbc537296dc525867535fb878ba", 860 | "archive:https://github.com/mirage/mmap/releases/download/v1.1.0/mmap-v1.1.0.tbz#md5:8c5d5fbc537296dc525867535fb878ba" 861 | ], 862 | "opam": { 863 | "name": "mmap", 864 | "version": "1.1.0", 865 | "path": "esy.lock/opam/mmap.1.1.0" 866 | } 867 | }, 868 | "overrides": [], 869 | "dependencies": [ 870 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 871 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 872 | ], 873 | "devDependencies": [ 874 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 875 | ] 876 | }, 877 | "@opam/merlin-extend@opam:0.6@404f814c": { 878 | "id": "@opam/merlin-extend@opam:0.6@404f814c", 879 | "name": "@opam/merlin-extend", 880 | "version": "opam:0.6", 881 | "source": { 882 | "type": "install", 883 | "source": [ 884 | "archive:https://opam.ocaml.org/cache/sha256/c2/c2f236ae97feb6ba0bc90f33beb7b7343e42f9871b66de9ba07974917e256c43#sha256:c2f236ae97feb6ba0bc90f33beb7b7343e42f9871b66de9ba07974917e256c43", 885 | "archive:https://github.com/let-def/merlin-extend/releases/download/v0.6/merlin-extend-v0.6.tbz#sha256:c2f236ae97feb6ba0bc90f33beb7b7343e42f9871b66de9ba07974917e256c43" 886 | ], 887 | "opam": { 888 | "name": "merlin-extend", 889 | "version": "0.6", 890 | "path": "esy.lock/opam/merlin-extend.0.6" 891 | } 892 | }, 893 | "overrides": [], 894 | "dependencies": [ 895 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 896 | "@opam/cppo@opam:1.6.6@f4f83858", "@esy-ocaml/substs@0.0.1@d41d8cd9" 897 | ], 898 | "devDependencies": [ 899 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 900 | ] 901 | }, 902 | "@opam/merlin@opam:3.4.1@da518877": { 903 | "id": "@opam/merlin@opam:3.4.1@da518877", 904 | "name": "@opam/merlin", 905 | "version": "opam:3.4.1", 906 | "source": { 907 | "type": "install", 908 | "source": [ 909 | "archive:https://opam.ocaml.org/cache/sha256/e7/e7f28ca520d1ab4a58e8ba876b665b1ecf9917cee7e5b3e3330afbd1d12a9e2a#sha256:e7f28ca520d1ab4a58e8ba876b665b1ecf9917cee7e5b3e3330afbd1d12a9e2a", 910 | "archive:https://github.com/ocaml/merlin/releases/download/v3.4.1/merlin-v3.4.1.tbz#sha256:e7f28ca520d1ab4a58e8ba876b665b1ecf9917cee7e5b3e3330afbd1d12a9e2a" 911 | ], 912 | "opam": { 913 | "name": "merlin", 914 | "version": "3.4.1", 915 | "path": "esy.lock/opam/merlin.3.4.1" 916 | } 917 | }, 918 | "overrides": [], 919 | "dependencies": [ 920 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 921 | "@opam/result@opam:1.5@6b753c82", "@opam/dune@opam:2.7.1@f5f493bc", 922 | "@opam/dot-merlin-reader@opam:3.4.1@72503a75", 923 | "@opam/csexp@opam:1.3.2@5cea14af", "@esy-ocaml/substs@0.0.1@d41d8cd9" 924 | ], 925 | "devDependencies": [ 926 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 927 | "@opam/result@opam:1.5@6b753c82", "@opam/dune@opam:2.7.1@f5f493bc", 928 | "@opam/dot-merlin-reader@opam:3.4.1@72503a75", 929 | "@opam/csexp@opam:1.3.2@5cea14af" 930 | ] 931 | }, 932 | "@opam/menhirSdk@opam:20200624@2a05b5a7": { 933 | "id": "@opam/menhirSdk@opam:20200624@2a05b5a7", 934 | "name": "@opam/menhirSdk", 935 | "version": "opam:20200624", 936 | "source": { 937 | "type": "install", 938 | "source": [ 939 | "archive:https://opam.ocaml.org/cache/md5/c3/c37ff53a4a69059e1f8223067b91bb8b#md5:c37ff53a4a69059e1f8223067b91bb8b", 940 | "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20200624/archive.tar.gz#md5:c37ff53a4a69059e1f8223067b91bb8b" 941 | ], 942 | "opam": { 943 | "name": "menhirSdk", 944 | "version": "20200624", 945 | "path": "esy.lock/opam/menhirSdk.20200624" 946 | } 947 | }, 948 | "overrides": [], 949 | "dependencies": [ 950 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 951 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 952 | ], 953 | "devDependencies": [ 954 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 955 | ] 956 | }, 957 | "@opam/menhirLib@opam:20200624@8bdd2b0e": { 958 | "id": "@opam/menhirLib@opam:20200624@8bdd2b0e", 959 | "name": "@opam/menhirLib", 960 | "version": "opam:20200624", 961 | "source": { 962 | "type": "install", 963 | "source": [ 964 | "archive:https://opam.ocaml.org/cache/md5/c3/c37ff53a4a69059e1f8223067b91bb8b#md5:c37ff53a4a69059e1f8223067b91bb8b", 965 | "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20200624/archive.tar.gz#md5:c37ff53a4a69059e1f8223067b91bb8b" 966 | ], 967 | "opam": { 968 | "name": "menhirLib", 969 | "version": "20200624", 970 | "path": "esy.lock/opam/menhirLib.20200624" 971 | } 972 | }, 973 | "overrides": [], 974 | "dependencies": [ 975 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 976 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 977 | ], 978 | "devDependencies": [ 979 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 980 | ] 981 | }, 982 | "@opam/menhir@opam:20200624@8629ff13": { 983 | "id": "@opam/menhir@opam:20200624@8629ff13", 984 | "name": "@opam/menhir", 985 | "version": "opam:20200624", 986 | "source": { 987 | "type": "install", 988 | "source": [ 989 | "archive:https://opam.ocaml.org/cache/md5/c3/c37ff53a4a69059e1f8223067b91bb8b#md5:c37ff53a4a69059e1f8223067b91bb8b", 990 | "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20200624/archive.tar.gz#md5:c37ff53a4a69059e1f8223067b91bb8b" 991 | ], 992 | "opam": { 993 | "name": "menhir", 994 | "version": "20200624", 995 | "path": "esy.lock/opam/menhir.20200624" 996 | } 997 | }, 998 | "overrides": [], 999 | "dependencies": [ 1000 | "ocaml@4.10.1002@d41d8cd9", "@opam/menhirSdk@opam:20200624@2a05b5a7", 1001 | "@opam/menhirLib@opam:20200624@8bdd2b0e", 1002 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1003 | ], 1004 | "devDependencies": [ 1005 | "ocaml@4.10.1002@d41d8cd9", "@opam/menhirSdk@opam:20200624@2a05b5a7", 1006 | "@opam/menhirLib@opam:20200624@8bdd2b0e", 1007 | "@opam/dune@opam:2.7.1@f5f493bc" 1008 | ] 1009 | }, 1010 | "@opam/magic-mime@opam:1.1.2@980f82fb": { 1011 | "id": "@opam/magic-mime@opam:1.1.2@980f82fb", 1012 | "name": "@opam/magic-mime", 1013 | "version": "opam:1.1.2", 1014 | "source": { 1015 | "type": "install", 1016 | "source": [ 1017 | "archive:https://opam.ocaml.org/cache/sha256/0c/0c590bbc747531b56d392ee8f063d879df1e2026ba2dfa2d1bc98c9a9acb04eb#sha256:0c590bbc747531b56d392ee8f063d879df1e2026ba2dfa2d1bc98c9a9acb04eb", 1018 | "archive:https://github.com/mirage/ocaml-magic-mime/releases/download/v1.1.2/magic-mime-v1.1.2.tbz#sha256:0c590bbc747531b56d392ee8f063d879df1e2026ba2dfa2d1bc98c9a9acb04eb" 1019 | ], 1020 | "opam": { 1021 | "name": "magic-mime", 1022 | "version": "1.1.2", 1023 | "path": "esy.lock/opam/magic-mime.1.1.2" 1024 | } 1025 | }, 1026 | "overrides": [], 1027 | "dependencies": [ 1028 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1029 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1030 | ], 1031 | "devDependencies": [ 1032 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 1033 | ] 1034 | }, 1035 | "@opam/lwt@opam:5.3.0@0c09f517": { 1036 | "id": "@opam/lwt@opam:5.3.0@0c09f517", 1037 | "name": "@opam/lwt", 1038 | "version": "opam:5.3.0", 1039 | "source": { 1040 | "type": "install", 1041 | "source": [ 1042 | "archive:https://opam.ocaml.org/cache/md5/85/85e9c7e9095b4e14d0698e3ece72f378#md5:85e9c7e9095b4e14d0698e3ece72f378", 1043 | "archive:https://github.com/ocsigen/lwt/archive/5.3.0.tar.gz#md5:85e9c7e9095b4e14d0698e3ece72f378" 1044 | ], 1045 | "opam": { 1046 | "name": "lwt", 1047 | "version": "5.3.0", 1048 | "path": "esy.lock/opam/lwt.5.3.0" 1049 | } 1050 | }, 1051 | "overrides": [], 1052 | "dependencies": [ 1053 | "ocaml@4.10.1002@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", 1054 | "@opam/result@opam:1.5@6b753c82", 1055 | "@opam/ocplib-endian@opam:1.1@84c1ca88", 1056 | "@opam/ocaml-syntax-shims@opam:1.0.0@a9aa3bfa", 1057 | "@opam/mmap@opam:1.1.0@b85334ff", 1058 | "@opam/dune-configurator@opam:2.7.1@96307faa", 1059 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/cppo@opam:1.6.6@f4f83858", 1060 | "@opam/base-unix@opam:base@87d0b2eb", 1061 | "@opam/base-threads@opam:base@36803084", 1062 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1063 | ], 1064 | "devDependencies": [ 1065 | "ocaml@4.10.1002@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", 1066 | "@opam/result@opam:1.5@6b753c82", 1067 | "@opam/ocplib-endian@opam:1.1@84c1ca88", 1068 | "@opam/ocaml-syntax-shims@opam:1.0.0@a9aa3bfa", 1069 | "@opam/mmap@opam:1.1.0@b85334ff", 1070 | "@opam/dune-configurator@opam:2.7.1@96307faa", 1071 | "@opam/dune@opam:2.7.1@f5f493bc" 1072 | ] 1073 | }, 1074 | "@opam/logs@opam:0.7.0@1d03143e": { 1075 | "id": "@opam/logs@opam:0.7.0@1d03143e", 1076 | "name": "@opam/logs", 1077 | "version": "opam:0.7.0", 1078 | "source": { 1079 | "type": "install", 1080 | "source": [ 1081 | "archive:https://opam.ocaml.org/cache/md5/2b/2bf021ca13331775e33cf34ab60246f7#md5:2bf021ca13331775e33cf34ab60246f7", 1082 | "archive:https://erratique.ch/software/logs/releases/logs-0.7.0.tbz#md5:2bf021ca13331775e33cf34ab60246f7" 1083 | ], 1084 | "opam": { 1085 | "name": "logs", 1086 | "version": "0.7.0", 1087 | "path": "esy.lock/opam/logs.0.7.0" 1088 | } 1089 | }, 1090 | "overrides": [], 1091 | "dependencies": [ 1092 | "ocaml@4.10.1002@d41d8cd9", "@opam/topkg@opam:1.0.3@e4e10f1c", 1093 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 1094 | "@opam/ocamlbuild@opam:0.14.0@6ac75d03", 1095 | "@opam/lwt@opam:5.3.0@0c09f517", 1096 | "@opam/cmdliner@opam:1.0.4@93208aac", 1097 | "@opam/base-threads@opam:base@36803084", 1098 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1099 | ], 1100 | "devDependencies": [ "ocaml@4.10.1002@d41d8cd9" ] 1101 | }, 1102 | "@opam/httpaf-lwt-unix@opam:0.6.6@ed635334": { 1103 | "id": "@opam/httpaf-lwt-unix@opam:0.6.6@ed635334", 1104 | "name": "@opam/httpaf-lwt-unix", 1105 | "version": "opam:0.6.6", 1106 | "source": { 1107 | "type": "install", 1108 | "source": [ 1109 | "archive:https://opam.ocaml.org/cache/md5/90/905aa1eea6fd5c1ddc0902d9884a8832#md5:905aa1eea6fd5c1ddc0902d9884a8832", 1110 | "archive:https://github.com/inhabitedtype/httpaf/archive/0.6.6.tar.gz#md5:905aa1eea6fd5c1ddc0902d9884a8832" 1111 | ], 1112 | "opam": { 1113 | "name": "httpaf-lwt-unix", 1114 | "version": "0.6.6", 1115 | "path": "esy.lock/opam/httpaf-lwt-unix.0.6.6" 1116 | } 1117 | }, 1118 | "overrides": [], 1119 | "dependencies": [ 1120 | "ocaml@4.10.1002@d41d8cd9", "@opam/lwt@opam:5.3.0@0c09f517", 1121 | "@opam/httpaf@opam:0.6.6@5a68a6dd", 1122 | "@opam/faraday-lwt-unix@opam:0.7.2@03e4a439", 1123 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1124 | ], 1125 | "devDependencies": [ 1126 | "ocaml@4.10.1002@d41d8cd9", "@opam/lwt@opam:5.3.0@0c09f517", 1127 | "@opam/httpaf@opam:0.6.6@5a68a6dd", 1128 | "@opam/faraday-lwt-unix@opam:0.7.2@03e4a439", 1129 | "@opam/dune@opam:2.7.1@f5f493bc" 1130 | ] 1131 | }, 1132 | "@opam/httpaf@opam:0.6.6@5a68a6dd": { 1133 | "id": "@opam/httpaf@opam:0.6.6@5a68a6dd", 1134 | "name": "@opam/httpaf", 1135 | "version": "opam:0.6.6", 1136 | "source": { 1137 | "type": "install", 1138 | "source": [ 1139 | "archive:https://opam.ocaml.org/cache/md5/90/905aa1eea6fd5c1ddc0902d9884a8832#md5:905aa1eea6fd5c1ddc0902d9884a8832", 1140 | "archive:https://github.com/inhabitedtype/httpaf/archive/0.6.6.tar.gz#md5:905aa1eea6fd5c1ddc0902d9884a8832" 1141 | ], 1142 | "opam": { 1143 | "name": "httpaf", 1144 | "version": "0.6.6", 1145 | "path": "esy.lock/opam/httpaf.0.6.6" 1146 | } 1147 | }, 1148 | "overrides": [], 1149 | "dependencies": [ 1150 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1151 | "@opam/faraday@opam:0.7.2@5dfdf1f9", 1152 | "@opam/dune@opam:2.7.1@f5f493bc", 1153 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1", 1154 | "@opam/angstrom@opam:0.15.0@48ede9cb", 1155 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1156 | ], 1157 | "devDependencies": [ 1158 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1159 | "@opam/faraday@opam:0.7.2@5dfdf1f9", 1160 | "@opam/dune@opam:2.7.1@f5f493bc", 1161 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1", 1162 | "@opam/angstrom@opam:0.15.0@48ede9cb" 1163 | ] 1164 | }, 1165 | "@opam/hmap@opam:0.8.1@87a77ebe": { 1166 | "id": "@opam/hmap@opam:0.8.1@87a77ebe", 1167 | "name": "@opam/hmap", 1168 | "version": "opam:0.8.1", 1169 | "source": { 1170 | "type": "install", 1171 | "source": [ 1172 | "archive:https://opam.ocaml.org/cache/md5/04/04169252265a11d852e1547445177196#md5:04169252265a11d852e1547445177196", 1173 | "archive:http://erratique.ch/software/hmap/releases/hmap-0.8.1.tbz#md5:04169252265a11d852e1547445177196" 1174 | ], 1175 | "opam": { 1176 | "name": "hmap", 1177 | "version": "0.8.1", 1178 | "path": "esy.lock/opam/hmap.0.8.1" 1179 | } 1180 | }, 1181 | "overrides": [], 1182 | "dependencies": [ 1183 | "ocaml@4.10.1002@d41d8cd9", "@opam/topkg@opam:1.0.3@e4e10f1c", 1184 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 1185 | "@opam/ocamlbuild@opam:0.14.0@6ac75d03", 1186 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1187 | ], 1188 | "devDependencies": [ "ocaml@4.10.1002@d41d8cd9" ] 1189 | }, 1190 | "@opam/fix@opam:20200131@0ecd2f01": { 1191 | "id": "@opam/fix@opam:20200131@0ecd2f01", 1192 | "name": "@opam/fix", 1193 | "version": "opam:20200131", 1194 | "source": { 1195 | "type": "install", 1196 | "source": [ 1197 | "archive:https://opam.ocaml.org/cache/md5/99/991ff031666c662eaab638d2e0f4ac1d#md5:991ff031666c662eaab638d2e0f4ac1d", 1198 | "archive:https://gitlab.inria.fr/fpottier/fix/repository/20200131/archive.tar.gz#md5:991ff031666c662eaab638d2e0f4ac1d" 1199 | ], 1200 | "opam": { 1201 | "name": "fix", 1202 | "version": "20200131", 1203 | "path": "esy.lock/opam/fix.20200131" 1204 | } 1205 | }, 1206 | "overrides": [], 1207 | "dependencies": [ 1208 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1209 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1210 | ], 1211 | "devDependencies": [ 1212 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 1213 | ] 1214 | }, 1215 | "@opam/fieldslib@opam:v0.14.0@bf8bb3e2": { 1216 | "id": "@opam/fieldslib@opam:v0.14.0@bf8bb3e2", 1217 | "name": "@opam/fieldslib", 1218 | "version": "opam:v0.14.0", 1219 | "source": { 1220 | "type": "install", 1221 | "source": [ 1222 | "archive:https://opam.ocaml.org/cache/md5/4f/4fbf05d88be119e883abecba8c33cb85#md5:4fbf05d88be119e883abecba8c33cb85", 1223 | "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/fieldslib-v0.14.0.tar.gz#md5:4fbf05d88be119e883abecba8c33cb85" 1224 | ], 1225 | "opam": { 1226 | "name": "fieldslib", 1227 | "version": "v0.14.0", 1228 | "path": "esy.lock/opam/fieldslib.v0.14.0" 1229 | } 1230 | }, 1231 | "overrides": [], 1232 | "dependencies": [ 1233 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1234 | "@opam/base@opam:v0.14.0@8bc55fce", 1235 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1236 | ], 1237 | "devDependencies": [ 1238 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1239 | "@opam/base@opam:v0.14.0@8bc55fce" 1240 | ] 1241 | }, 1242 | "@opam/faraday-lwt-unix@opam:0.7.2@03e4a439": { 1243 | "id": "@opam/faraday-lwt-unix@opam:0.7.2@03e4a439", 1244 | "name": "@opam/faraday-lwt-unix", 1245 | "version": "opam:0.7.2", 1246 | "source": { 1247 | "type": "install", 1248 | "source": [ 1249 | "archive:https://opam.ocaml.org/cache/md5/61/61bb83e1a4bed100eb0bd1365878e3a1#md5:61bb83e1a4bed100eb0bd1365878e3a1", 1250 | "archive:https://github.com/inhabitedtype/faraday/archive/0.7.2.tar.gz#md5:61bb83e1a4bed100eb0bd1365878e3a1" 1251 | ], 1252 | "opam": { 1253 | "name": "faraday-lwt-unix", 1254 | "version": "0.7.2", 1255 | "path": "esy.lock/opam/faraday-lwt-unix.0.7.2" 1256 | } 1257 | }, 1258 | "overrides": [], 1259 | "dependencies": [ 1260 | "ocaml@4.10.1002@d41d8cd9", "@opam/lwt@opam:5.3.0@0c09f517", 1261 | "@opam/faraday-lwt@opam:0.7.2@391bc143", 1262 | "@opam/dune@opam:2.7.1@f5f493bc", 1263 | "@opam/base-unix@opam:base@87d0b2eb", 1264 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1265 | ], 1266 | "devDependencies": [ 1267 | "ocaml@4.10.1002@d41d8cd9", "@opam/lwt@opam:5.3.0@0c09f517", 1268 | "@opam/faraday-lwt@opam:0.7.2@391bc143", 1269 | "@opam/dune@opam:2.7.1@f5f493bc", 1270 | "@opam/base-unix@opam:base@87d0b2eb" 1271 | ] 1272 | }, 1273 | "@opam/faraday-lwt@opam:0.7.2@391bc143": { 1274 | "id": "@opam/faraday-lwt@opam:0.7.2@391bc143", 1275 | "name": "@opam/faraday-lwt", 1276 | "version": "opam:0.7.2", 1277 | "source": { 1278 | "type": "install", 1279 | "source": [ 1280 | "archive:https://opam.ocaml.org/cache/md5/61/61bb83e1a4bed100eb0bd1365878e3a1#md5:61bb83e1a4bed100eb0bd1365878e3a1", 1281 | "archive:https://github.com/inhabitedtype/faraday/archive/0.7.2.tar.gz#md5:61bb83e1a4bed100eb0bd1365878e3a1" 1282 | ], 1283 | "opam": { 1284 | "name": "faraday-lwt", 1285 | "version": "0.7.2", 1286 | "path": "esy.lock/opam/faraday-lwt.0.7.2" 1287 | } 1288 | }, 1289 | "overrides": [], 1290 | "dependencies": [ 1291 | "ocaml@4.10.1002@d41d8cd9", "@opam/lwt@opam:5.3.0@0c09f517", 1292 | "@opam/faraday@opam:0.7.2@5dfdf1f9", 1293 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1294 | ], 1295 | "devDependencies": [ 1296 | "ocaml@4.10.1002@d41d8cd9", "@opam/lwt@opam:5.3.0@0c09f517", 1297 | "@opam/faraday@opam:0.7.2@5dfdf1f9", "@opam/dune@opam:2.7.1@f5f493bc" 1298 | ] 1299 | }, 1300 | "@opam/faraday@opam:0.7.2@5dfdf1f9": { 1301 | "id": "@opam/faraday@opam:0.7.2@5dfdf1f9", 1302 | "name": "@opam/faraday", 1303 | "version": "opam:0.7.2", 1304 | "source": { 1305 | "type": "install", 1306 | "source": [ 1307 | "archive:https://opam.ocaml.org/cache/md5/61/61bb83e1a4bed100eb0bd1365878e3a1#md5:61bb83e1a4bed100eb0bd1365878e3a1", 1308 | "archive:https://github.com/inhabitedtype/faraday/archive/0.7.2.tar.gz#md5:61bb83e1a4bed100eb0bd1365878e3a1" 1309 | ], 1310 | "opam": { 1311 | "name": "faraday", 1312 | "version": "0.7.2", 1313 | "path": "esy.lock/opam/faraday.0.7.2" 1314 | } 1315 | }, 1316 | "overrides": [], 1317 | "dependencies": [ 1318 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1319 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1", 1320 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1321 | ], 1322 | "devDependencies": [ 1323 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1324 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1" 1325 | ] 1326 | }, 1327 | "@opam/easy-format@opam:1.3.2@0484b3c4": { 1328 | "id": "@opam/easy-format@opam:1.3.2@0484b3c4", 1329 | "name": "@opam/easy-format", 1330 | "version": "opam:1.3.2", 1331 | "source": { 1332 | "type": "install", 1333 | "source": [ 1334 | "archive:https://opam.ocaml.org/cache/sha256/34/3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926#sha256:3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926", 1335 | "archive:https://github.com/mjambon/easy-format/releases/download/1.3.2/easy-format-1.3.2.tbz#sha256:3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926" 1336 | ], 1337 | "opam": { 1338 | "name": "easy-format", 1339 | "version": "1.3.2", 1340 | "path": "esy.lock/opam/easy-format.1.3.2" 1341 | } 1342 | }, 1343 | "overrides": [], 1344 | "dependencies": [ 1345 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1346 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1347 | ], 1348 | "devDependencies": [ 1349 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 1350 | ] 1351 | }, 1352 | "@opam/dune-configurator@opam:2.7.1@96307faa": { 1353 | "id": "@opam/dune-configurator@opam:2.7.1@96307faa", 1354 | "name": "@opam/dune-configurator", 1355 | "version": "opam:2.7.1", 1356 | "source": { 1357 | "type": "install", 1358 | "source": [ 1359 | "archive:https://opam.ocaml.org/cache/sha256/c3/c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d#sha256:c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d", 1360 | "archive:https://github.com/ocaml/dune/releases/download/2.7.1/dune-2.7.1.tbz#sha256:c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d" 1361 | ], 1362 | "opam": { 1363 | "name": "dune-configurator", 1364 | "version": "2.7.1", 1365 | "path": "esy.lock/opam/dune-configurator.2.7.1" 1366 | } 1367 | }, 1368 | "overrides": [], 1369 | "dependencies": [ 1370 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1371 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/csexp@opam:1.3.2@5cea14af", 1372 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1373 | ], 1374 | "devDependencies": [ 1375 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1376 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/csexp@opam:1.3.2@5cea14af" 1377 | ] 1378 | }, 1379 | "@opam/dune-build-info@opam:2.7.1@da03d61d": { 1380 | "id": "@opam/dune-build-info@opam:2.7.1@da03d61d", 1381 | "name": "@opam/dune-build-info", 1382 | "version": "opam:2.7.1", 1383 | "source": { 1384 | "type": "install", 1385 | "source": [ 1386 | "archive:https://opam.ocaml.org/cache/sha256/c3/c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d#sha256:c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d", 1387 | "archive:https://github.com/ocaml/dune/releases/download/2.7.1/dune-2.7.1.tbz#sha256:c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d" 1388 | ], 1389 | "opam": { 1390 | "name": "dune-build-info", 1391 | "version": "2.7.1", 1392 | "path": "esy.lock/opam/dune-build-info.2.7.1" 1393 | } 1394 | }, 1395 | "overrides": [], 1396 | "dependencies": [ 1397 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1398 | ], 1399 | "devDependencies": [ "@opam/dune@opam:2.7.1@f5f493bc" ] 1400 | }, 1401 | "@opam/dune@opam:2.7.1@f5f493bc": { 1402 | "id": "@opam/dune@opam:2.7.1@f5f493bc", 1403 | "name": "@opam/dune", 1404 | "version": "opam:2.7.1", 1405 | "source": { 1406 | "type": "install", 1407 | "source": [ 1408 | "archive:https://opam.ocaml.org/cache/sha256/c3/c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d#sha256:c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d", 1409 | "archive:https://github.com/ocaml/dune/releases/download/2.7.1/dune-2.7.1.tbz#sha256:c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d" 1410 | ], 1411 | "opam": { 1412 | "name": "dune", 1413 | "version": "2.7.1", 1414 | "path": "esy.lock/opam/dune.2.7.1" 1415 | } 1416 | }, 1417 | "overrides": [ 1418 | { 1419 | "opamoverride": 1420 | "esy.lock/overrides/opam__s__dune_opam__c__2.7.1_opam_override" 1421 | } 1422 | ], 1423 | "dependencies": [ 1424 | "ocaml@4.10.1002@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", 1425 | "@opam/base-threads@opam:base@36803084", 1426 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1427 | ], 1428 | "devDependencies": [ 1429 | "ocaml@4.10.1002@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", 1430 | "@opam/base-threads@opam:base@36803084" 1431 | ] 1432 | }, 1433 | "@opam/dot-merlin-reader@opam:3.4.1@72503a75": { 1434 | "id": "@opam/dot-merlin-reader@opam:3.4.1@72503a75", 1435 | "name": "@opam/dot-merlin-reader", 1436 | "version": "opam:3.4.1", 1437 | "source": { 1438 | "type": "install", 1439 | "source": [ 1440 | "archive:https://opam.ocaml.org/cache/sha256/e7/e7f28ca520d1ab4a58e8ba876b665b1ecf9917cee7e5b3e3330afbd1d12a9e2a#sha256:e7f28ca520d1ab4a58e8ba876b665b1ecf9917cee7e5b3e3330afbd1d12a9e2a", 1441 | "archive:https://github.com/ocaml/merlin/releases/download/v3.4.1/merlin-v3.4.1.tbz#sha256:e7f28ca520d1ab4a58e8ba876b665b1ecf9917cee7e5b3e3330afbd1d12a9e2a" 1442 | ], 1443 | "opam": { 1444 | "name": "dot-merlin-reader", 1445 | "version": "3.4.1", 1446 | "path": "esy.lock/opam/dot-merlin-reader.3.4.1" 1447 | } 1448 | }, 1449 | "overrides": [], 1450 | "dependencies": [ 1451 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 1452 | "@opam/result@opam:1.5@6b753c82", 1453 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 1454 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/csexp@opam:1.3.2@5cea14af", 1455 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1456 | ], 1457 | "devDependencies": [ 1458 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 1459 | "@opam/result@opam:1.5@6b753c82", 1460 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 1461 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/csexp@opam:1.3.2@5cea14af" 1462 | ] 1463 | }, 1464 | "@opam/csexp@opam:1.3.2@5cea14af": { 1465 | "id": "@opam/csexp@opam:1.3.2@5cea14af", 1466 | "name": "@opam/csexp", 1467 | "version": "opam:1.3.2", 1468 | "source": { 1469 | "type": "install", 1470 | "source": [ 1471 | "archive:https://opam.ocaml.org/cache/sha256/f2/f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a", 1472 | "archive:https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz#sha256:f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" 1473 | ], 1474 | "opam": { 1475 | "name": "csexp", 1476 | "version": "1.3.2", 1477 | "path": "esy.lock/opam/csexp.1.3.2" 1478 | } 1479 | }, 1480 | "overrides": [], 1481 | "dependencies": [ 1482 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1483 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1484 | ], 1485 | "devDependencies": [ 1486 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1487 | "@opam/dune@opam:2.7.1@f5f493bc" 1488 | ] 1489 | }, 1490 | "@opam/cppo@opam:1.6.6@f4f83858": { 1491 | "id": "@opam/cppo@opam:1.6.6@f4f83858", 1492 | "name": "@opam/cppo", 1493 | "version": "opam:1.6.6", 1494 | "source": { 1495 | "type": "install", 1496 | "source": [ 1497 | "archive:https://opam.ocaml.org/cache/sha256/e7/e7272996a7789175b87bb998efd079794a8db6625aae990d73f7b4484a07b8a0#sha256:e7272996a7789175b87bb998efd079794a8db6625aae990d73f7b4484a07b8a0", 1498 | "archive:https://github.com/ocaml-community/cppo/releases/download/v1.6.6/cppo-v1.6.6.tbz#sha256:e7272996a7789175b87bb998efd079794a8db6625aae990d73f7b4484a07b8a0" 1499 | ], 1500 | "opam": { 1501 | "name": "cppo", 1502 | "version": "1.6.6", 1503 | "path": "esy.lock/opam/cppo.1.6.6" 1504 | } 1505 | }, 1506 | "overrides": [], 1507 | "dependencies": [ 1508 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1509 | "@opam/base-unix@opam:base@87d0b2eb", 1510 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1511 | ], 1512 | "devDependencies": [ 1513 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1514 | "@opam/base-unix@opam:base@87d0b2eb" 1515 | ] 1516 | }, 1517 | "@opam/conf-m4@opam:1@3b2b148a": { 1518 | "id": "@opam/conf-m4@opam:1@3b2b148a", 1519 | "name": "@opam/conf-m4", 1520 | "version": "opam:1", 1521 | "source": { 1522 | "type": "install", 1523 | "source": [ "no-source:" ], 1524 | "opam": { 1525 | "name": "conf-m4", 1526 | "version": "1", 1527 | "path": "esy.lock/opam/conf-m4.1" 1528 | } 1529 | }, 1530 | "overrides": [], 1531 | "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], 1532 | "devDependencies": [] 1533 | }, 1534 | "@opam/cmdliner@opam:1.0.4@93208aac": { 1535 | "id": "@opam/cmdliner@opam:1.0.4@93208aac", 1536 | "name": "@opam/cmdliner", 1537 | "version": "opam:1.0.4", 1538 | "source": { 1539 | "type": "install", 1540 | "source": [ 1541 | "archive:https://opam.ocaml.org/cache/md5/fe/fe2213d0bc63b1e10a2d0aa66d2fc8d9#md5:fe2213d0bc63b1e10a2d0aa66d2fc8d9", 1542 | "archive:http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.4.tbz#md5:fe2213d0bc63b1e10a2d0aa66d2fc8d9" 1543 | ], 1544 | "opam": { 1545 | "name": "cmdliner", 1546 | "version": "1.0.4", 1547 | "path": "esy.lock/opam/cmdliner.1.0.4" 1548 | } 1549 | }, 1550 | "overrides": [], 1551 | "dependencies": [ 1552 | "ocaml@4.10.1002@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1553 | ], 1554 | "devDependencies": [ "ocaml@4.10.1002@d41d8cd9" ] 1555 | }, 1556 | "@opam/biniou@opam:1.2.1@d7570399": { 1557 | "id": "@opam/biniou@opam:1.2.1@d7570399", 1558 | "name": "@opam/biniou", 1559 | "version": "opam:1.2.1", 1560 | "source": { 1561 | "type": "install", 1562 | "source": [ 1563 | "archive:https://opam.ocaml.org/cache/sha256/35/35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335#sha256:35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335", 1564 | "archive:https://github.com/mjambon/biniou/releases/download/1.2.1/biniou-1.2.1.tbz#sha256:35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335" 1565 | ], 1566 | "opam": { 1567 | "name": "biniou", 1568 | "version": "1.2.1", 1569 | "path": "esy.lock/opam/biniou.1.2.1" 1570 | } 1571 | }, 1572 | "overrides": [], 1573 | "dependencies": [ 1574 | "ocaml@4.10.1002@d41d8cd9", "@opam/easy-format@opam:1.3.2@0484b3c4", 1575 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1576 | ], 1577 | "devDependencies": [ 1578 | "ocaml@4.10.1002@d41d8cd9", "@opam/easy-format@opam:1.3.2@0484b3c4", 1579 | "@opam/dune@opam:2.7.1@f5f493bc" 1580 | ] 1581 | }, 1582 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1": { 1583 | "id": "@opam/bigstringaf@opam:0.6.1@35f5e6d1", 1584 | "name": "@opam/bigstringaf", 1585 | "version": "opam:0.6.1", 1586 | "source": { 1587 | "type": "install", 1588 | "source": [ 1589 | "archive:https://opam.ocaml.org/cache/md5/dc/dccf639273b1eec0e0f142f21319268d#md5:dccf639273b1eec0e0f142f21319268d", 1590 | "archive:https://github.com/inhabitedtype/bigstringaf/archive/0.6.1.tar.gz#md5:dccf639273b1eec0e0f142f21319268d" 1591 | ], 1592 | "opam": { 1593 | "name": "bigstringaf", 1594 | "version": "0.6.1", 1595 | "path": "esy.lock/opam/bigstringaf.0.6.1" 1596 | } 1597 | }, 1598 | "overrides": [], 1599 | "dependencies": [ 1600 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1601 | "@opam/bigarray-compat@opam:1.0.0@1faefa97", 1602 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1603 | ], 1604 | "devDependencies": [ 1605 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1606 | "@opam/bigarray-compat@opam:1.0.0@1faefa97" 1607 | ] 1608 | }, 1609 | "@opam/bigarray-compat@opam:1.0.0@1faefa97": { 1610 | "id": "@opam/bigarray-compat@opam:1.0.0@1faefa97", 1611 | "name": "@opam/bigarray-compat", 1612 | "version": "opam:1.0.0", 1613 | "source": { 1614 | "type": "install", 1615 | "source": [ 1616 | "archive:https://opam.ocaml.org/cache/md5/1c/1cc7c25382a8900bada34aadfd66632e#md5:1cc7c25382a8900bada34aadfd66632e", 1617 | "archive:https://github.com/mirage/bigarray-compat/archive/v1.0.0.tar.gz#md5:1cc7c25382a8900bada34aadfd66632e" 1618 | ], 1619 | "opam": { 1620 | "name": "bigarray-compat", 1621 | "version": "1.0.0", 1622 | "path": "esy.lock/opam/bigarray-compat.1.0.0" 1623 | } 1624 | }, 1625 | "overrides": [], 1626 | "dependencies": [ 1627 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc", 1628 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1629 | ], 1630 | "devDependencies": [ 1631 | "ocaml@4.10.1002@d41d8cd9", "@opam/dune@opam:2.7.1@f5f493bc" 1632 | ] 1633 | }, 1634 | "@opam/base-unix@opam:base@87d0b2eb": { 1635 | "id": "@opam/base-unix@opam:base@87d0b2eb", 1636 | "name": "@opam/base-unix", 1637 | "version": "opam:base", 1638 | "source": { 1639 | "type": "install", 1640 | "source": [ "no-source:" ], 1641 | "opam": { 1642 | "name": "base-unix", 1643 | "version": "base", 1644 | "path": "esy.lock/opam/base-unix.base" 1645 | } 1646 | }, 1647 | "overrides": [], 1648 | "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], 1649 | "devDependencies": [] 1650 | }, 1651 | "@opam/base-threads@opam:base@36803084": { 1652 | "id": "@opam/base-threads@opam:base@36803084", 1653 | "name": "@opam/base-threads", 1654 | "version": "opam:base", 1655 | "source": { 1656 | "type": "install", 1657 | "source": [ "no-source:" ], 1658 | "opam": { 1659 | "name": "base-threads", 1660 | "version": "base", 1661 | "path": "esy.lock/opam/base-threads.base" 1662 | } 1663 | }, 1664 | "overrides": [], 1665 | "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], 1666 | "devDependencies": [] 1667 | }, 1668 | "@opam/base-bytes@opam:base@19d0c2ff": { 1669 | "id": "@opam/base-bytes@opam:base@19d0c2ff", 1670 | "name": "@opam/base-bytes", 1671 | "version": "opam:base", 1672 | "source": { 1673 | "type": "install", 1674 | "source": [ "no-source:" ], 1675 | "opam": { 1676 | "name": "base-bytes", 1677 | "version": "base", 1678 | "path": "esy.lock/opam/base-bytes.base" 1679 | } 1680 | }, 1681 | "overrides": [], 1682 | "dependencies": [ 1683 | "ocaml@4.10.1002@d41d8cd9", "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 1684 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1685 | ], 1686 | "devDependencies": [ 1687 | "ocaml@4.10.1002@d41d8cd9", "@opam/ocamlfind@opam:1.8.1@ff07b0f9" 1688 | ] 1689 | }, 1690 | "@opam/base@opam:v0.14.0@8bc55fce": { 1691 | "id": "@opam/base@opam:v0.14.0@8bc55fce", 1692 | "name": "@opam/base", 1693 | "version": "opam:v0.14.0", 1694 | "source": { 1695 | "type": "install", 1696 | "source": [ 1697 | "archive:https://opam.ocaml.org/cache/md5/5a/5a00382c724e97b6768aaa27481dd3cc#md5:5a00382c724e97b6768aaa27481dd3cc", 1698 | "archive:https://ocaml.janestreet.com/ocaml-core/v0.14/files/base-v0.14.0.tar.gz#md5:5a00382c724e97b6768aaa27481dd3cc" 1699 | ], 1700 | "opam": { 1701 | "name": "base", 1702 | "version": "v0.14.0", 1703 | "path": "esy.lock/opam/base.v0.14.0" 1704 | } 1705 | }, 1706 | "overrides": [], 1707 | "dependencies": [ 1708 | "ocaml@4.10.1002@d41d8cd9", "@opam/sexplib0@opam:v0.14.0@ddeb6438", 1709 | "@opam/dune-configurator@opam:2.7.1@96307faa", 1710 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1711 | ], 1712 | "devDependencies": [ 1713 | "ocaml@4.10.1002@d41d8cd9", "@opam/sexplib0@opam:v0.14.0@ddeb6438", 1714 | "@opam/dune-configurator@opam:2.7.1@96307faa", 1715 | "@opam/dune@opam:2.7.1@f5f493bc" 1716 | ] 1717 | }, 1718 | "@opam/atdgen-runtime@opam:2.2.1@6a3a6395": { 1719 | "id": "@opam/atdgen-runtime@opam:2.2.1@6a3a6395", 1720 | "name": "@opam/atdgen-runtime", 1721 | "version": "opam:2.2.1", 1722 | "source": { 1723 | "type": "install", 1724 | "source": [ 1725 | "archive:https://opam.ocaml.org/cache/sha256/db/db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e#sha256:db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e", 1726 | "archive:https://github.com/ahrefs/atd/releases/download/2.2.1/atd-2.2.1.tbz#sha256:db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e" 1727 | ], 1728 | "opam": { 1729 | "name": "atdgen-runtime", 1730 | "version": "2.2.1", 1731 | "path": "esy.lock/opam/atdgen-runtime.2.2.1" 1732 | } 1733 | }, 1734 | "overrides": [], 1735 | "dependencies": [ 1736 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 1737 | "@opam/re@opam:1.9.0@d4d5e13d", "@opam/dune@opam:2.7.1@f5f493bc", 1738 | "@opam/biniou@opam:1.2.1@d7570399", 1739 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1740 | ], 1741 | "devDependencies": [ 1742 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 1743 | "@opam/re@opam:1.9.0@d4d5e13d", "@opam/dune@opam:2.7.1@f5f493bc", 1744 | "@opam/biniou@opam:1.2.1@d7570399" 1745 | ] 1746 | }, 1747 | "@opam/atdgen@opam:2.2.1@d73fda11": { 1748 | "id": "@opam/atdgen@opam:2.2.1@d73fda11", 1749 | "name": "@opam/atdgen", 1750 | "version": "opam:2.2.1", 1751 | "source": { 1752 | "type": "install", 1753 | "source": [ 1754 | "archive:https://opam.ocaml.org/cache/sha256/db/db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e#sha256:db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e", 1755 | "archive:https://github.com/ahrefs/atd/releases/download/2.2.1/atd-2.2.1.tbz#sha256:db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e" 1756 | ], 1757 | "opam": { 1758 | "name": "atdgen", 1759 | "version": "2.2.1", 1760 | "path": "esy.lock/opam/atdgen.2.2.1" 1761 | } 1762 | }, 1763 | "overrides": [], 1764 | "dependencies": [ 1765 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 1766 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/biniou@opam:1.2.1@d7570399", 1767 | "@opam/atdgen-runtime@opam:2.2.1@6a3a6395", 1768 | "@opam/atd@opam:2.2.1@071ab6bd", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1769 | ], 1770 | "devDependencies": [ 1771 | "ocaml@4.10.1002@d41d8cd9", "@opam/yojson@opam:1.7.0@7056d985", 1772 | "@opam/dune@opam:2.7.1@f5f493bc", "@opam/biniou@opam:1.2.1@d7570399", 1773 | "@opam/atdgen-runtime@opam:2.2.1@6a3a6395", 1774 | "@opam/atd@opam:2.2.1@071ab6bd" 1775 | ] 1776 | }, 1777 | "@opam/atd@opam:2.2.1@071ab6bd": { 1778 | "id": "@opam/atd@opam:2.2.1@071ab6bd", 1779 | "name": "@opam/atd", 1780 | "version": "opam:2.2.1", 1781 | "source": { 1782 | "type": "install", 1783 | "source": [ 1784 | "archive:https://opam.ocaml.org/cache/sha256/db/db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e#sha256:db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e", 1785 | "archive:https://github.com/ahrefs/atd/releases/download/2.2.1/atd-2.2.1.tbz#sha256:db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e" 1786 | ], 1787 | "opam": { 1788 | "name": "atd", 1789 | "version": "2.2.1", 1790 | "path": "esy.lock/opam/atd.2.2.1" 1791 | } 1792 | }, 1793 | "overrides": [], 1794 | "dependencies": [ 1795 | "ocaml@4.10.1002@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", 1796 | "@opam/menhir@opam:20200624@8629ff13", 1797 | "@opam/easy-format@opam:1.3.2@0484b3c4", 1798 | "@opam/dune@opam:2.7.1@f5f493bc", "@esy-ocaml/substs@0.0.1@d41d8cd9" 1799 | ], 1800 | "devDependencies": [ 1801 | "ocaml@4.10.1002@d41d8cd9", "@opam/re@opam:1.9.0@d4d5e13d", 1802 | "@opam/menhir@opam:20200624@8629ff13", 1803 | "@opam/easy-format@opam:1.3.2@0484b3c4", 1804 | "@opam/dune@opam:2.7.1@f5f493bc" 1805 | ] 1806 | }, 1807 | "@opam/angstrom@opam:0.15.0@48ede9cb": { 1808 | "id": "@opam/angstrom@opam:0.15.0@48ede9cb", 1809 | "name": "@opam/angstrom", 1810 | "version": "opam:0.15.0", 1811 | "source": { 1812 | "type": "install", 1813 | "source": [ 1814 | "archive:https://opam.ocaml.org/cache/md5/51/5104768c404ea92fd0a53a5b0f75cd50#md5:5104768c404ea92fd0a53a5b0f75cd50", 1815 | "archive:https://github.com/inhabitedtype/angstrom/archive/0.15.0.tar.gz#md5:5104768c404ea92fd0a53a5b0f75cd50" 1816 | ], 1817 | "opam": { 1818 | "name": "angstrom", 1819 | "version": "0.15.0", 1820 | "path": "esy.lock/opam/angstrom.0.15.0" 1821 | } 1822 | }, 1823 | "overrides": [], 1824 | "dependencies": [ 1825 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1826 | "@opam/ocaml-syntax-shims@opam:1.0.0@a9aa3bfa", 1827 | "@opam/dune@opam:2.7.1@f5f493bc", 1828 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1", 1829 | "@esy-ocaml/substs@0.0.1@d41d8cd9" 1830 | ], 1831 | "devDependencies": [ 1832 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1833 | "@opam/dune@opam:2.7.1@f5f493bc", 1834 | "@opam/bigstringaf@opam:0.6.1@35f5e6d1" 1835 | ] 1836 | }, 1837 | "@esy-ocaml/substs@0.0.1@d41d8cd9": { 1838 | "id": "@esy-ocaml/substs@0.0.1@d41d8cd9", 1839 | "name": "@esy-ocaml/substs", 1840 | "version": "0.0.1", 1841 | "source": { 1842 | "type": "install", 1843 | "source": [ 1844 | "archive:https://registry.npmjs.org/@esy-ocaml/substs/-/substs-0.0.1.tgz#sha1:59ebdbbaedcda123fc7ed8fb2b302b7d819e9a46" 1845 | ] 1846 | }, 1847 | "overrides": [], 1848 | "dependencies": [], 1849 | "devDependencies": [] 1850 | }, 1851 | "@esy-ocaml/reason@3.6.2@d41d8cd9": { 1852 | "id": "@esy-ocaml/reason@3.6.2@d41d8cd9", 1853 | "name": "@esy-ocaml/reason", 1854 | "version": "3.6.2", 1855 | "source": { 1856 | "type": "install", 1857 | "source": [ 1858 | "archive:https://registry.npmjs.org/@esy-ocaml/reason/-/reason-3.6.2.tgz#sha1:49bd53c75dd241eb14f46277a85af353908f7e81" 1859 | ] 1860 | }, 1861 | "overrides": [], 1862 | "dependencies": [ 1863 | "ocaml@4.10.1002@d41d8cd9", "@opam/result@opam:1.5@6b753c82", 1864 | "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", 1865 | "@opam/ocamlfind@opam:1.8.1@ff07b0f9", 1866 | "@opam/merlin-extend@opam:0.6@404f814c", 1867 | "@opam/menhir@opam:20200624@8629ff13", 1868 | "@opam/fix@opam:20200131@0ecd2f01", "@opam/dune@opam:2.7.1@f5f493bc" 1869 | ], 1870 | "devDependencies": [] 1871 | } 1872 | } 1873 | } -------------------------------------------------------------------------------- /esy.lock/opam/angstrom.0.15.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/angstrom" 6 | bug-reports: "https://github.com/inhabitedtype/angstrom/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/angstrom.git" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.04.0"} 15 | "dune" {>= "1.8"} 16 | "alcotest" {with-test & >= "0.8.1"} 17 | "bigstringaf" 18 | "result" 19 | "ppx_let" {with-test & >= "0.14.0"} 20 | "ocaml-syntax-shims" {build} 21 | ] 22 | synopsis: "Parser combinators built for speed and memory-efficiency" 23 | description: """ 24 | Angstrom is a parser-combinator library that makes it easy to write efficient, 25 | expressive, and reusable parsers suitable for high-performance applications. It 26 | exposes monadic and applicative interfaces for composition, and supports 27 | incremental input through buffered and unbuffered interfaces. Both interfaces 28 | give the user total control over the blocking behavior of their application, 29 | with the unbuffered interface enabling zero-copy IO. Parsers are backtracking by 30 | default and support unbounded lookahead.""" 31 | url { 32 | src: "https://github.com/inhabitedtype/angstrom/archive/0.15.0.tar.gz" 33 | checksum: "md5=5104768c404ea92fd0a53a5b0f75cd50" 34 | } 35 | -------------------------------------------------------------------------------- /esy.lock/opam/atd.2.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Parser for the ATD data format description language" 3 | description: """ 4 | ATD is the OCaml library providing a parser for the ATD language and various 5 | utilities. ATD stands for Adjustable Type Definitions in reference to its main 6 | property of supporting annotations that allow a good fit with a variety of data 7 | formats. """ 8 | maintainer: ["Rudi Grinberg "] 9 | authors: [ 10 | "Martin Jambon " 11 | "David Sheets " 12 | "Rudi Grinberg " 13 | "Ivan Jager " 14 | "Jeff Meister " 15 | "Carmelo Piccione " 16 | "Raman Varabets " 17 | "Mathieu Baudet " 18 | "Rauan Mayemir " 19 | "Louis Roché " 20 | "Brendan Long " 21 | "Christophe Troestler " 22 | "Vincent Bernardoff " 23 | "haoyang " 24 | ] 25 | license: "MIT" 26 | homepage: "https://github.com/ahrefs/atd" 27 | bug-reports: "https://github.com/ahrefs/atd/issues" 28 | depends: [ 29 | "ocaml" {>= "4.02"} 30 | "dune" {>= "2.0"} 31 | "menhir" 32 | "easy-format" 33 | "re" 34 | ] 35 | dev-repo: "git+https://github.com/ahrefs/atd.git" 36 | build: [ 37 | ["dune" "subst"] {pinned} 38 | [ 39 | "dune" 40 | "build" 41 | "-p" 42 | name 43 | "-j" 44 | jobs 45 | "@install" 46 | "@doc" {with-doc} 47 | ] 48 | ] 49 | url { 50 | src: "https://github.com/ahrefs/atd/releases/download/2.2.1/atd-2.2.1.tbz" 51 | checksum: [ 52 | "sha256=db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e" 53 | "sha512=0c7f1985cc4d87ddd541bb2f7085b72f81aaef69468653319a4a52e6cd6c9318511229784a12cdb413ae500e7a5b8195759e0d8d49946a9b00f62e8dda07e8a2" 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /esy.lock/opam/atdgen-runtime.2.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Runtime library for code generated by atdgen" 3 | description: """ 4 | This package should be used only in conjunction with the stdgen code 5 | generator""" 6 | maintainer: ["Rudi Grinberg "] 7 | authors: [ 8 | "Martin Jambon " 9 | "David Sheets " 10 | "Rudi Grinberg " 11 | "Ivan Jager " 12 | "Jeff Meister " 13 | "Carmelo Piccione " 14 | "Raman Varabets " 15 | "Mathieu Baudet " 16 | "Rauan Mayemir " 17 | "Louis Roché " 18 | "Brendan Long " 19 | "Christophe Troestler " 20 | "Vincent Bernardoff " 21 | "haoyang " 22 | ] 23 | license: "MIT" 24 | homepage: "https://github.com/ahrefs/atd" 25 | bug-reports: "https://github.com/ahrefs/atd/issues" 26 | depends: [ 27 | "ocaml" {>= "4.02"} 28 | "dune" {>= "2.0"} 29 | "yojson" {>= "1.7.0"} 30 | "biniou" {>= "1.0.6"} 31 | "re" 32 | ] 33 | dev-repo: "git+https://github.com/ahrefs/atd.git" 34 | build: [ 35 | ["dune" "subst"] {pinned} 36 | [ 37 | "dune" 38 | "build" 39 | "-p" 40 | name 41 | "-j" 42 | jobs 43 | "@install" 44 | "@doc" {with-doc} 45 | ] 46 | ] 47 | url { 48 | src: "https://github.com/ahrefs/atd/releases/download/2.2.1/atd-2.2.1.tbz" 49 | checksum: [ 50 | "sha256=db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e" 51 | "sha512=0c7f1985cc4d87ddd541bb2f7085b72f81aaef69468653319a4a52e6cd6c9318511229784a12cdb413ae500e7a5b8195759e0d8d49946a9b00f62e8dda07e8a2" 52 | ] 53 | } 54 | -------------------------------------------------------------------------------- /esy.lock/opam/atdgen.2.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: 3 | "Generates efficient JSON serializers, deserializers and validators" 4 | description: """ 5 | Atdgen is a command-line program that takes as input type definitions in the ATD 6 | syntax and produces OCaml code suitable for data serialization and 7 | deserialization. 8 | Two data formats are currently supported, these are biniou and JSON. 9 | Atdgen-biniou and Atdgen-json will refer to Atdgen used in one context or the 10 | other. 11 | Atdgen was designed with efficiency and durability in mind. Software authors are 12 | encouraged to use Atdgen directly and to write tools that may reuse part of 13 | Atdgen’s source code.""" 14 | maintainer: ["Rudi Grinberg "] 15 | authors: [ 16 | "Martin Jambon " 17 | "David Sheets " 18 | "Rudi Grinberg " 19 | "Ivan Jager " 20 | "Jeff Meister " 21 | "Carmelo Piccione " 22 | "Raman Varabets " 23 | "Mathieu Baudet " 24 | "Rauan Mayemir " 25 | "Louis Roché " 26 | "Brendan Long " 27 | "Christophe Troestler " 28 | "Vincent Bernardoff " 29 | "haoyang " 30 | ] 31 | license: "MIT" 32 | homepage: "https://github.com/ahrefs/atd" 33 | bug-reports: "https://github.com/ahrefs/atd/issues" 34 | depends: [ 35 | "ocaml" {>= "4.02"} 36 | "dune" {>= "2.0"} 37 | "atd" {>= "2.0.0"} 38 | "atdgen-runtime" {>= "2.0.0"} 39 | "atdgen-codec-runtime" {with-test} 40 | "biniou" {>= "1.0.6"} 41 | "yojson" {>= "1.7.0"} 42 | ] 43 | dev-repo: "git+https://github.com/ahrefs/atd.git" 44 | build: [ 45 | ["dune" "subst"] {pinned} 46 | [ 47 | "dune" 48 | "build" 49 | "-p" 50 | name 51 | "-j" 52 | jobs 53 | "@install" 54 | "@doc" {with-doc} 55 | ] 56 | ] 57 | url { 58 | src: "https://github.com/ahrefs/atd/releases/download/2.2.1/atd-2.2.1.tbz" 59 | checksum: [ 60 | "sha256=db6b4c1a6293b214a7b7a3da435e681abd1b16b55d5aa246b93d26736d3a559e" 61 | "sha512=0c7f1985cc4d87ddd541bb2f7085b72f81aaef69468653319a4a52e6cd6c9318511229784a12cdb413ae500e7a5b8195759e0d8d49946a9b00f62e8dda07e8a2" 62 | ] 63 | } 64 | -------------------------------------------------------------------------------- /esy.lock/opam/base-bytes.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.02.0"} 7 | "ocamlfind" {>= "1.5.3"} 8 | ] 9 | synopsis: "Bytes library distributed with the OCaml compiler" 10 | -------------------------------------------------------------------------------- /esy.lock/opam/base-threads.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Threads library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /esy.lock/opam/base-unix.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "https://github.com/ocaml/opam-repository/issues" 3 | description: """ 4 | Unix library distributed with the OCaml compiler 5 | """ 6 | 7 | -------------------------------------------------------------------------------- /esy.lock/opam/base.v0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/base" 5 | bug-reports: "https://github.com/janestreet/base/issues" 6 | dev-repo: "git+https://github.com/janestreet/base.git" 7 | doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/base/index.html" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.07.0" & < "4.12"} 14 | "sexplib0" {>= "v0.14" & < "v0.15"} 15 | "dune" {>= "2.0.0"} 16 | "dune-configurator" 17 | ] 18 | synopsis: "Full standard library replacement for OCaml" 19 | description: " 20 | Full standard library replacement for OCaml 21 | 22 | Base is a complete and portable alternative to the OCaml standard 23 | library. It provides all standard functionalities one would expect 24 | from a language standard library. It uses consistent conventions 25 | across all of its module. 26 | 27 | Base aims to be usable in any context. As a result system dependent 28 | features such as I/O are not offered by Base. They are instead 29 | provided by companion libraries such as stdio: 30 | 31 | https://github.com/janestreet/stdio 32 | " 33 | url { 34 | src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/base-v0.14.0.tar.gz" 35 | checksum: "md5=5a00382c724e97b6768aaa27481dd3cc" 36 | } 37 | -------------------------------------------------------------------------------- /esy.lock/opam/bigarray-compat.1.0.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Compatibility library to use Stdlib.Bigarray when possible" 3 | maintainer: "Lucas Pluvinage " 4 | authors: "Lucas Pluvinage " 5 | license: "ISC" 6 | homepage: "https://github.com/mirage/bigarray-compat" 7 | bug-reports: "https://github.com/mirage/bigarray-compat/issues" 8 | depends: [ 9 | "ocaml" {>= "4.03.0"} 10 | "dune" {>= "1.0"} 11 | ] 12 | build: [ 13 | ["dune" "subst"] {pinned} 14 | ["dune" "build" "-p" name "-j" jobs] 15 | ] 16 | dev-repo: "git+https://github.com/mirage/bigarray-compat.git" 17 | url { 18 | src: "https://github.com/mirage/bigarray-compat/archive/v1.0.0.tar.gz" 19 | checksum: [ 20 | "md5=1cc7c25382a8900bada34aadfd66632e" 21 | "sha512=c365fee15582aca35d7b05268cde29e54774ad7df7be56762b4aad78ca1409d4326ad3b34af0f1cc2c7b872837290a9cd9ff43b47987c03bba7bba32fe8a030f" 22 | ] 23 | } -------------------------------------------------------------------------------- /esy.lock/opam/bigstringaf.0.6.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/bigstringaf" 6 | bug-reports: "https://github.com/inhabitedtype/bigstringaf/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/bigstringaf.git" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 12 | ] 13 | depends: [ 14 | "dune" {>= "1.0"} 15 | "alcotest" {with-test} 16 | "bigarray-compat" 17 | "ocaml" {>= "4.03.0"} 18 | ] 19 | depopts: [ 20 | "mirage-xen-posix" 21 | "ocaml-freestanding" 22 | ] 23 | conflicts: [ 24 | "mirage-xen-posix" {< "3.1.0"} 25 | "ocaml-freestanding" {< "0.4.1"} 26 | "js_of_ocaml" {< "3.5.0"} 27 | ] 28 | synopsis: "Bigstring intrinsics and fast blits based on memcpy/memmove" 29 | description: """ 30 | Bigstring intrinsics and fast blits based on memcpy/memmove 31 | 32 | The OCaml compiler has a bunch of intrinsics for Bigstrings, but they're not 33 | widely-known, sometimes misused, and so programs that use Bigstrings are slower 34 | than they have to be. And even if a library got that part right and exposed the 35 | intrinsics properly, the compiler doesn't have any fast blits between 36 | Bigstrings and other string-like types. 37 | 38 | So here they are. Go crazy. 39 | """ 40 | url { 41 | src: "https://github.com/inhabitedtype/bigstringaf/archive/0.6.1.tar.gz" 42 | checksum: "md5=dccf639273b1eec0e0f142f21319268d" 43 | } 44 | -------------------------------------------------------------------------------- /esy.lock/opam/biniou.1.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | build: [ 3 | ["dune" "subst"] {pinned} 4 | ["dune" "build" "-p" name "-j" jobs] 5 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 6 | ["dune" "build" "-p" name "@doc"] {with-doc} 7 | ] 8 | maintainer: ["martin@mjambon.com"] 9 | authors: ["Martin Jambon"] 10 | bug-reports: "https://github.com/mjambon/biniou/issues" 11 | homepage: "https://github.com/mjambon/biniou" 12 | doc: "https://mjambon.github.io/biniou/" 13 | license: "BSD-3-Clause" 14 | dev-repo: "git+https://github.com/mjambon/biniou.git" 15 | synopsis: 16 | "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve" 17 | description: """ 18 | 19 | Biniou (pronounced "be new") is a binary data format designed for speed, safety, 20 | ease of use and backward compatibility as protocols evolve. Biniou is vastly 21 | equivalent to JSON in terms of functionality but allows implementations several 22 | times faster (4 times faster than yojson), with 25-35% space savings. 23 | 24 | Biniou data can be decoded into human-readable form without knowledge of type 25 | definitions except for field and variant names which are represented by 31-bit 26 | hashes. A program named bdump is provided for routine visualization of biniou 27 | data files. 28 | 29 | The program atdgen is used to derive OCaml-Biniou serializers and deserializers 30 | from type definitions. 31 | 32 | Biniou format specification: mjambon.github.io/atdgen-doc/biniou-format.txt""" 33 | depends: [ 34 | "easy-format" 35 | "dune" {>= "1.10"} 36 | "ocaml" {>= "4.02.3"} 37 | ] 38 | url { 39 | src: 40 | "https://github.com/mjambon/biniou/releases/download/1.2.1/biniou-1.2.1.tbz" 41 | checksum: [ 42 | "sha256=35546c68b1929a8e6d27a3b39ecd17b38303a0d47e65eb9d1480c2061ea84335" 43 | "sha512=82670cc77bf3e869ee26e5fbe5a5affa45a22bc8b6c4bd7e85473912780e0111baca59b34a2c14feae3543ce6e239d7fddaeab24b686a65bfe642cdb91d27ebf" 44 | ] 45 | } 46 | -------------------------------------------------------------------------------- /esy.lock/opam/cmdliner.1.0.4/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: ["Daniel Bünzli "] 4 | homepage: "http://erratique.ch/software/cmdliner" 5 | doc: "http://erratique.ch/software/cmdliner/doc/Cmdliner" 6 | dev-repo: "git+http://erratique.ch/repos/cmdliner.git" 7 | bug-reports: "https://github.com/dbuenzli/cmdliner/issues" 8 | tags: [ "cli" "system" "declarative" "org:erratique" ] 9 | license: "ISC" 10 | depends:[ "ocaml" {>= "4.03.0"} ] 11 | build: [[ make "all" "PREFIX=%{prefix}%" ]] 12 | install: 13 | [[make "install" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%" ] 14 | [make "install-doc" "LIBDIR=%{_:lib}%" "DOCDIR=%{_:doc}%" ]] 15 | 16 | synopsis: """Declarative definition of command line interfaces for OCaml""" 17 | description: """\ 18 | 19 | Cmdliner allows the declarative definition of command line interfaces 20 | for OCaml. 21 | 22 | It provides a simple and compositional mechanism to convert command 23 | line arguments to OCaml values and pass them to your functions. The 24 | module automatically handles syntax errors, help messages and UNIX man 25 | page generation. It supports programs with single or multiple commands 26 | and respects most of the [POSIX][1] and [GNU][2] conventions. 27 | 28 | Cmdliner has no dependencies and is distributed under the ISC license. 29 | 30 | [1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html 31 | [2]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html 32 | """ 33 | url { 34 | archive: "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.4.tbz" 35 | checksum: "fe2213d0bc63b1e10a2d0aa66d2fc8d9" 36 | } 37 | -------------------------------------------------------------------------------- /esy.lock/opam/conf-m4.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "tim@gfxmonk.net" 3 | homepage: "http://www.gnu.org/software/m4/m4.html" 4 | bug-reports: "https://github.com/ocaml/opam-repository/issues" 5 | authors: "GNU Project" 6 | license: "GPL-3.0-only" 7 | build: [["sh" "-exc" "echo | m4"]] 8 | depexts: [ 9 | ["m4"] {os-family = "debian"} 10 | ["m4"] {os-distribution = "fedora"} 11 | ["m4"] {os-distribution = "rhel"} 12 | ["m4"] {os-distribution = "centos"} 13 | ["m4"] {os-distribution = "alpine"} 14 | ["m4"] {os-distribution = "nixos"} 15 | ["m4"] {os-family = "suse"} 16 | ["m4"] {os-distribution = "ol"} 17 | ["m4"] {os-distribution = "arch"} 18 | ] 19 | synopsis: "Virtual package relying on m4" 20 | description: 21 | "This package can only install if the m4 binary is installed on the system." 22 | flags: conf 23 | -------------------------------------------------------------------------------- /esy.lock/opam/cppo.1.6.6/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "martin@mjambon.com" 3 | authors: "Martin Jambon" 4 | license: "BSD-3-Clause" 5 | homepage: "http://mjambon.com/cppo.html" 6 | doc: "https://ocaml-community.github.io/cppo/" 7 | bug-reports: "https://github.com/ocaml-community/cppo/issues" 8 | depends: [ 9 | "ocaml" {>= "4.03"} 10 | "dune" {>= "1.0"} 11 | "base-unix" 12 | ] 13 | build: [ 14 | ["dune" "subst"] {pinned} 15 | ["dune" "build" "-p" name "-j" jobs] 16 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 17 | ] 18 | dev-repo: "git+https://github.com/ocaml-community/cppo.git" 19 | synopsis: "Code preprocessor like cpp for OCaml" 20 | description: """ 21 | Cppo is an equivalent of the C preprocessor for OCaml programs. 22 | It allows the definition of simple macros and file inclusion. 23 | 24 | Cppo is: 25 | 26 | * more OCaml-friendly than cpp 27 | * easy to learn without consulting a manual 28 | * reasonably fast 29 | * simple to install and to maintain 30 | """ 31 | url { 32 | src: "https://github.com/ocaml-community/cppo/releases/download/v1.6.6/cppo-v1.6.6.tbz" 33 | checksum: [ 34 | "sha256=e7272996a7789175b87bb998efd079794a8db6625aae990d73f7b4484a07b8a0" 35 | "sha512=44ecf9d225d9e45490a2feac0bde04865ca398dba6c3579e3370fcd1ea255707b8883590852af8b2df87123801062b9f3acce2455c092deabf431f9c4fb8d8eb" 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /esy.lock/opam/csexp.1.3.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Parsing and printing of S-expressions in Canonical form" 3 | description: """ 4 | 5 | This library provides minimal support for Canonical S-expressions 6 | [1]. Canonical S-expressions are a binary encoding of S-expressions 7 | that is super simple and well suited for communication between 8 | programs. 9 | 10 | This library only provides a few helpers for simple applications. If 11 | you need more advanced support, such as parsing from more fancy input 12 | sources, you should consider copying the code of this library given 13 | how simple parsing S-expressions in canonical form is. 14 | 15 | To avoid a dependency on a particular S-expression library, the only 16 | module of this library is parameterised by the type of S-expressions. 17 | 18 | [1] https://en.wikipedia.org/wiki/Canonical_S-expressions 19 | """ 20 | maintainer: ["Jeremie Dimino "] 21 | authors: [ 22 | "Quentin Hocquet " 23 | "Jane Street Group, LLC " 24 | "Jeremie Dimino " 25 | ] 26 | license: "MIT" 27 | homepage: "https://github.com/ocaml-dune/csexp" 28 | doc: "https://ocaml-dune.github.io/csexp/" 29 | bug-reports: "https://github.com/ocaml-dune/csexp/issues" 30 | depends: [ 31 | "dune" {>= "1.11"} 32 | "ocaml" {>= "4.02.3"} 33 | "result" {>= "1.5"} 34 | ] 35 | dev-repo: "git+https://github.com/ocaml-dune/csexp.git" 36 | build: [ 37 | ["dune" "subst"] {pinned} 38 | [ 39 | "dune" 40 | "build" 41 | "-p" 42 | name 43 | "-j" 44 | jobs 45 | "@install" 46 | # "@runtest" {with-test & ocaml:version >= "4.04"} 47 | "@doc" {with-doc} 48 | ] 49 | ] 50 | x-commit-hash: "19a2e7bc171a707059c73d78dd18e4e3ff03ac9b" 51 | url { 52 | src: 53 | "https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz" 54 | checksum: [ 55 | "sha256=f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" 56 | "sha512=ff1bd6a7c6bb3a73ca9ab0506c9ec1f357657deaa9ecc7eb32955817d9b0f266d976af3e2b8fc34c621cb0caf1fde55f9a609dd184e2054f500bf09afeb83026" 57 | ] 58 | } 59 | -------------------------------------------------------------------------------- /esy.lock/opam/dot-merlin-reader.3.4.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "defree@gmail.com" 3 | authors: "The Merlin team" 4 | synopsis: "Reads config files for merlin" 5 | homepage: "https://github.com/ocaml/merlin" 6 | bug-reports: "https://github.com/ocaml/merlin/issues" 7 | dev-repo: "git+https://github.com/ocaml/merlin.git" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.02.1"} 14 | "dune" {>= "1.8.0"} 15 | "yojson" {>= "1.6.0"} 16 | "ocamlfind" {>= "1.6.0"} 17 | "csexp" {>= "1.2.3"} 18 | "result" {>= "1.5"} 19 | ] 20 | x-commit-hash: "35dd6b466dce1f542de82e5c6df0bff94e394fe1" 21 | url { 22 | src: 23 | "https://github.com/ocaml/merlin/releases/download/v3.4.1/merlin-v3.4.1.tbz" 24 | checksum: [ 25 | "sha256=e7f28ca520d1ab4a58e8ba876b665b1ecf9917cee7e5b3e3330afbd1d12a9e2a" 26 | "sha512=40ae93397aea031c1b4450998b448fc1df9671d612be0a02986688e5dd1390ced1c31bb2cdde9c6b52f8be841ca9fd1931fc302b26ef19cb2e88925d3b360c37" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /esy.lock/opam/dune-build-info.2.7.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Embed build informations inside executable" 3 | description: """ 4 | The build-info library allows to access information about how the 5 | executable was built, such as the version of the project at which it 6 | was built or the list of statically linked libraries with their 7 | versions. It supports reporting the version from the version control 8 | system during development to get an precise reference of when the 9 | executable was built. 10 | """ 11 | maintainer: ["Jane Street Group, LLC "] 12 | authors: ["Jane Street Group, LLC "] 13 | license: "MIT" 14 | homepage: "https://github.com/ocaml/dune" 15 | doc: "https://dune.readthedocs.io/" 16 | bug-reports: "https://github.com/ocaml/dune/issues" 17 | depends: [ 18 | "dune" {>= "2.7"} 19 | "odoc" {with-doc} 20 | ] 21 | dev-repo: "git+https://github.com/ocaml/dune.git" 22 | build: [ 23 | ["dune" "subst"] {dev} 24 | [ 25 | "dune" 26 | "build" 27 | "-p" 28 | name 29 | "-j" 30 | jobs 31 | "@install" 32 | "@doc" {with-doc} 33 | ] 34 | ] 35 | x-commit-hash: "5472766b2448308a7160dfd0fca1ec711e124a5c" 36 | url { 37 | src: "https://github.com/ocaml/dune/releases/download/2.7.1/dune-2.7.1.tbz" 38 | checksum: [ 39 | "sha256=c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d" 40 | "sha512=2b4b311824471dac8196181d7c7267f96b1b73f35341b72019f169cf6d42a19254e90bdfba2d3ecb138ad318e2e2431dd0ec6c38d9efe1da382ec95f5d9e959b" 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /esy.lock/opam/dune-configurator.2.7.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Helper library for gathering system configuration" 3 | description: """ 4 | dune-configurator is a small library that helps writing OCaml scripts that 5 | test features available on the system, in order to generate config.h 6 | files for instance. 7 | Among other things, dune-configurator allows one to: 8 | - test if a C program compiles 9 | - query pkg-config 10 | - import #define from OCaml header files 11 | - generate config.h file 12 | """ 13 | maintainer: ["Jane Street Group, LLC "] 14 | authors: ["Jane Street Group, LLC "] 15 | license: "MIT" 16 | homepage: "https://github.com/ocaml/dune" 17 | doc: "https://dune.readthedocs.io/" 18 | bug-reports: "https://github.com/ocaml/dune/issues" 19 | depends: [ 20 | "dune" {>= "2.7"} 21 | "ocaml" {>= "4.03.0"} 22 | "result" 23 | "csexp" {>= "1.3.0"} 24 | "odoc" {with-doc} 25 | ] 26 | dev-repo: "git+https://github.com/ocaml/dune.git" 27 | build: [ 28 | ["dune" "subst"] {dev} 29 | [ 30 | "dune" 31 | "build" 32 | "-p" 33 | name 34 | "-j" 35 | jobs 36 | "@install" 37 | "@doc" {with-doc} 38 | ] 39 | ] 40 | x-commit-hash: "5472766b2448308a7160dfd0fca1ec711e124a5c" 41 | url { 42 | src: "https://github.com/ocaml/dune/releases/download/2.7.1/dune-2.7.1.tbz" 43 | checksum: [ 44 | "sha256=c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d" 45 | "sha512=2b4b311824471dac8196181d7c7267f96b1b73f35341b72019f169cf6d42a19254e90bdfba2d3ecb138ad318e2e2431dd0ec6c38d9efe1da382ec95f5d9e959b" 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /esy.lock/opam/dune.2.7.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Fast, portable, and opinionated build system" 3 | description: """ 4 | 5 | dune is a build system that was designed to simplify the release of 6 | Jane Street packages. It reads metadata from "dune" files following a 7 | very simple s-expression syntax. 8 | 9 | dune is fast, has very low-overhead, and supports parallel builds on 10 | all platforms. It has no system dependencies; all you need to build 11 | dune or packages using dune is OCaml. You don't need make or bash 12 | as long as the packages themselves don't use bash explicitly. 13 | 14 | dune supports multi-package development by simply dropping multiple 15 | repositories into the same directory. 16 | 17 | It also supports multi-context builds, such as building against 18 | several opam roots/switches simultaneously. This helps maintaining 19 | packages across several versions of OCaml and gives cross-compilation 20 | for free. 21 | """ 22 | maintainer: ["Jane Street Group, LLC "] 23 | authors: ["Jane Street Group, LLC "] 24 | license: "MIT" 25 | homepage: "https://github.com/ocaml/dune" 26 | doc: "https://dune.readthedocs.io/" 27 | bug-reports: "https://github.com/ocaml/dune/issues" 28 | conflicts: [ 29 | "dune-configurator" {< "2.3.0"} 30 | "odoc" {< "1.3.0"} 31 | "dune-release" {< "1.3.0"} 32 | "js_of_ocaml-compiler" {< "3.6.0"} 33 | "jbuilder" {= "transition"} 34 | ] 35 | dev-repo: "git+https://github.com/ocaml/dune.git" 36 | build: [ 37 | # opam 2 sets OPAM_SWITCH_PREFIX, so we don't need a hardcoded path 38 | ["ocaml" "configure.ml" "--libdir" lib] {opam-version < "2"} 39 | ["ocaml" "bootstrap.ml" "-j" jobs] 40 | ["./dune.exe" "build" "-p" name "--profile" "dune-bootstrap" "-j" jobs] 41 | ] 42 | depends: [ 43 | # Please keep the lower bound in sync with .github/workflows/workflow.yml, 44 | # dune-project and min_ocaml_version in bootstrap.ml 45 | ("ocaml" {>= "4.08"} | ("ocaml" {< "4.08~~"} & "ocamlfind-secondary")) 46 | "base-unix" 47 | "base-threads" 48 | ] 49 | x-commit-hash: "5472766b2448308a7160dfd0fca1ec711e124a5c" 50 | url { 51 | src: "https://github.com/ocaml/dune/releases/download/2.7.1/dune-2.7.1.tbz" 52 | checksum: [ 53 | "sha256=c3528f2f8b3a2e3fe18e166fc823e6caeee8b7c78ade6b6fe4d2fa978070925d" 54 | "sha512=2b4b311824471dac8196181d7c7267f96b1b73f35341b72019f169cf6d42a19254e90bdfba2d3ecb138ad318e2e2431dd0ec6c38d9efe1da382ec95f5d9e959b" 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /esy.lock/opam/easy-format.1.3.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | build: [ 3 | ["dune" "subst"] {pinned} 4 | ["dune" "build" "-p" name "-j" jobs] 5 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 6 | ["dune" "build" "-p" name "@doc"] {with-doc} 7 | ] 8 | maintainer: ["martin@mjambon.com" "rudi.grinberg@gmail.com"] 9 | authors: ["Martin Jambon"] 10 | bug-reports: "https://github.com/mjambon/easy-format/issues" 11 | homepage: "https://github.com/mjambon/easy-format" 12 | doc: "https://mjambon.github.io/easy-format/" 13 | license: "BSD-3-Clause" 14 | dev-repo: "git+https://github.com/mjambon/easy-format.git" 15 | synopsis: 16 | "High-level and functional interface to the Format module of the OCaml standard library" 17 | description: """ 18 | 19 | This module offers a high-level and functional interface to the Format module of 20 | the OCaml standard library. It is a pretty-printing facility, i.e. it takes as 21 | input some code represented as a tree and formats this code into the most 22 | visually satisfying result, breaking and indenting lines of code where 23 | appropriate. 24 | 25 | Input data must be first modelled and converted into a tree using 3 kinds of 26 | nodes: 27 | 28 | * atoms 29 | * lists 30 | * labelled nodes 31 | 32 | Atoms represent any text that is guaranteed to be printed as-is. Lists can model 33 | any sequence of items such as arrays of data or lists of definitions that are 34 | labelled with something like "int main", "let x =" or "x:".""" 35 | depends: [ 36 | "dune" {>= "1.10"} 37 | "ocaml" {>= "4.02.3"} 38 | ] 39 | url { 40 | src: 41 | "https://github.com/mjambon/easy-format/releases/download/1.3.2/easy-format-1.3.2.tbz" 42 | checksum: [ 43 | "sha256=3440c2b882d537ae5e9011eb06abb53f5667e651ea4bb3b460ea8230fa8c1926" 44 | "sha512=e39377a2ff020ceb9ac29e8515a89d9bdbc91dfcfa871c4e3baafa56753fac2896768e5d9822a050dc1e2ade43c8967afb69391a386c0a8ecd4e1f774e236135" 45 | ] 46 | } 47 | -------------------------------------------------------------------------------- /esy.lock/opam/faraday-lwt-unix.0.7.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/faraday" 6 | bug-reports: "https://github.com/inhabitedtype/faraday/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/faraday.git" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.02.0"} 15 | "dune" {>= "1.11"} 16 | "faraday-lwt" 17 | "lwt" {>= "2.7.0"} 18 | "base-unix" 19 | ] 20 | synopsis: "Lwt_unix support for Faraday" 21 | url { 22 | src: "https://github.com/inhabitedtype/faraday/archive/0.7.2.tar.gz" 23 | checksum: "md5=61bb83e1a4bed100eb0bd1365878e3a1" 24 | } 25 | -------------------------------------------------------------------------------- /esy.lock/opam/faraday-lwt.0.7.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/faraday" 6 | bug-reports: "https://github.com/inhabitedtype/faraday/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/faraday.git" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.02.0"} 15 | "dune" {>= "1.11"} 16 | "faraday" {>= "0.5.0"} 17 | "lwt" 18 | ] 19 | synopsis: "Lwt support for Faraday" 20 | url { 21 | src: "https://github.com/inhabitedtype/faraday/archive/0.7.2.tar.gz" 22 | checksum: "md5=61bb83e1a4bed100eb0bd1365878e3a1" 23 | } 24 | -------------------------------------------------------------------------------- /esy.lock/opam/faraday.0.7.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/faraday" 6 | bug-reports: "https://github.com/inhabitedtype/faraday/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/faraday.git" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.02.0"} 15 | "dune" {>= "1.11"} 16 | "alcotest" {with-test & >= "0.4.1"} 17 | "bigstringaf" 18 | ] 19 | synopsis: "A library for writing fast and memory-efficient serializers." 20 | description: """ 21 | Faraday is a library for writing fast and memory-efficient serializers. Its 22 | core type and related operation gives the user fine-grained control over 23 | copying and allocation behavior while serializing user-defined types, and 24 | presents the output in a form that makes it possible to use vectorized write 25 | operations, such as the writev system call, or any other platform or 26 | application-specific output APIs.""" 27 | url { 28 | src: "https://github.com/inhabitedtype/faraday/archive/0.7.2.tar.gz" 29 | checksum: "md5=61bb83e1a4bed100eb0bd1365878e3a1" 30 | } 31 | -------------------------------------------------------------------------------- /esy.lock/opam/fieldslib.v0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/fieldslib" 5 | bug-reports: "https://github.com/janestreet/fieldslib/issues" 6 | dev-repo: "git+https://github.com/janestreet/fieldslib.git" 7 | doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/fieldslib/index.html" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.04.2"} 14 | "base" {>= "v0.14" & < "v0.15"} 15 | "dune" {>= "2.0.0"} 16 | ] 17 | synopsis: "Syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values" 18 | description: " 19 | Part of Jane Street's Core library 20 | The Core suite of libraries is an industrial strength alternative to 21 | OCaml's standard library that was developed by Jane Street, the 22 | largest industrial user of OCaml. 23 | " 24 | url { 25 | src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/fieldslib-v0.14.0.tar.gz" 26 | checksum: "md5=4fbf05d88be119e883abecba8c33cb85" 27 | } 28 | -------------------------------------------------------------------------------- /esy.lock/opam/fix.20200131/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "francois.pottier@inria.fr" 3 | authors: [ 4 | "François Pottier " 5 | ] 6 | homepage: "https://gitlab.inria.fr/fpottier/fix" 7 | dev-repo: "git+https://gitlab.inria.fr/fpottier/fix.git" 8 | bug-reports: "francois.pottier@inria.fr" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" { >= "4.03" } 14 | "dune" { >= "1.3" } 15 | ] 16 | synopsis: "Facilities for memoization and fixed points" 17 | url { 18 | src: 19 | "https://gitlab.inria.fr/fpottier/fix/repository/20200131/archive.tar.gz" 20 | checksum: [ 21 | "md5=991ff031666c662eaab638d2e0f4ac1d" 22 | "sha512=01c45a1d90b02ec0939e968b185a6a373ac6117e2287b9a26d3db9d71e9569d086cea50da60710fcab5c2ed9d3b4c72b76839c0651e436f1fb39c77dc7c04b5e" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /esy.lock/opam/hmap.0.8.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: ["Daniel Bünzli "] 4 | homepage: "http://erratique.ch/software/hmap" 5 | doc: "http://erratique.ch/software/hmap/doc" 6 | license: "ISC" 7 | dev-repo: "git+http://erratique.ch/repos/hmap.git" 8 | bug-reports: "http://github.com/dbuenzli/hmap/issues" 9 | tags: ["data-structure" "org:erratique"] 10 | depends: [ 11 | "ocaml" {>= "4.02.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build} 15 | ] 16 | build: [[ 17 | "ocaml" "pkg/pkg.ml" "build" 18 | "--pinned" "%{pinned}%" ]] 19 | synopsis: "Heterogeneous value maps for OCaml" 20 | description: """ 21 | Hmap provides heterogeneous value maps for OCaml. These maps bind keys 22 | to values with arbitrary types. Keys witness the type of the value 23 | they are bound to which allows to add and lookup bindings in a type 24 | safe manner. 25 | 26 | Hmap has no dependency and is distributed under the ISC license.""" 27 | url { 28 | src: "http://erratique.ch/software/hmap/releases/hmap-0.8.1.tbz" 29 | checksum: "md5=04169252265a11d852e1547445177196" 30 | } 31 | -------------------------------------------------------------------------------- /esy.lock/opam/httpaf-lwt-unix.0.6.6/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | name: "httpaf-lwt-unix" 3 | maintainer: "Spiros Eliopoulos " 4 | authors: [ 5 | "Anton Bachin " 6 | "Spiros Eliopoulos " 7 | ] 8 | license: "BSD-3-clause" 9 | homepage: "https://github.com/inhabitedtype/httpaf" 10 | bug-reports: "https://github.com/inhabitedtype/httpaf/issues" 11 | dev-repo: "git+https://github.com/inhabitedtype/httpaf.git" 12 | build: [ 13 | ["dune" "subst"] {pinned} 14 | ["dune" "build" "-p" name "-j" jobs] 15 | ] 16 | depends: [ 17 | "ocaml" {>= "4.03.0"} 18 | "faraday-lwt-unix" 19 | "httpaf" {>= "0.6.0"} 20 | "dune" {>= "1.5.0"} 21 | "lwt" 22 | ] 23 | synopsis: "Lwt support for http/af" 24 | url { 25 | src: "https://github.com/inhabitedtype/httpaf/archive/0.6.6.tar.gz" 26 | checksum: "md5=905aa1eea6fd5c1ddc0902d9884a8832" 27 | } 28 | -------------------------------------------------------------------------------- /esy.lock/opam/httpaf.0.6.6/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Spiros Eliopoulos " 3 | authors: [ "Spiros Eliopoulos " ] 4 | license: "BSD-3-clause" 5 | homepage: "https://github.com/inhabitedtype/httpaf" 6 | bug-reports: "https://github.com/inhabitedtype/httpaf/issues" 7 | dev-repo: "git+https://github.com/inhabitedtype/httpaf.git" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.03.0"} 15 | "dune" {>= "1.5.0"} 16 | "alcotest" {with-test} 17 | "bigstringaf" {>= "0.4.0"} 18 | "angstrom" {>= "0.9.0"} 19 | "angstrom" {with-test & < "0.14.0"} 20 | "faraday" {>= "0.6.1"} 21 | "result" 22 | ] 23 | synopsis: 24 | "A high-performance, memory-efficient, and scalable web server for OCaml" 25 | description: """ 26 | http/af implements the HTTP 1.1 specification with respect to parsing, 27 | serialization, and connection pipelining as a state machine that is agnostic to 28 | the underlying IO mechanism, and is therefore portable across many platform. 29 | It uses the Angstrom and Faraday libraries to implement the parsing and 30 | serialization layers of the HTTP standard, hence the name.""" 31 | url { 32 | src: "https://github.com/inhabitedtype/httpaf/archive/0.6.6.tar.gz" 33 | checksum: "md5=905aa1eea6fd5c1ddc0902d9884a8832" 34 | } 35 | -------------------------------------------------------------------------------- /esy.lock/opam/logs.0.7.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: ["The logs programmers"] 4 | homepage: "https://erratique.ch/software/logs" 5 | doc: "https://erratique.ch/software/logs/doc" 6 | dev-repo: "git+https://erratique.ch/repos/logs.git" 7 | bug-reports: "https://github.com/dbuenzli/logs/issues" 8 | tags: [ "log" "system" "org:erratique" ] 9 | license: "ISC" 10 | depends: [ 11 | "ocaml" {>= "4.03.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build} 15 | "mtime" {with-test} ] 16 | depopts: [ 17 | "js_of_ocaml" 18 | "fmt" 19 | "cmdliner" 20 | "lwt" 21 | "base-threads" 22 | ] 23 | conflicts: [ 24 | "js_of_ocaml" { < "3.3.0" } ] 25 | 26 | build: [[ 27 | "ocaml" "pkg/pkg.ml" "build" 28 | "--pinned" "%{pinned}%" 29 | "--with-js_of_ocaml" "%{js_of_ocaml:installed}%" 30 | "--with-fmt" "%{fmt:installed}%" 31 | "--with-cmdliner" "%{cmdliner:installed}%" 32 | "--with-lwt" "%{lwt:installed}%" 33 | "--with-base-threads" "%{base-threads:installed}%" 34 | ]] 35 | 36 | synopsis: """Logging infrastructure for OCaml""" 37 | description: """\ 38 | 39 | Logs provides a logging infrastructure for OCaml. Logging is performed 40 | on sources whose reporting level can be set independently. Log message 41 | report is decoupled from logging and is handled by a reporter. 42 | 43 | A few optional log reporters are distributed with the base library and 44 | the API easily allows to implement your own. 45 | 46 | `Logs` has no dependencies. The optional `Logs_fmt` reporter on OCaml 47 | formatters depends on [Fmt][fmt]. The optional `Logs_browser` 48 | reporter that reports to the web browser console depends on 49 | [js_of_ocaml][jsoo]. The optional `Logs_cli` library that provides 50 | command line support for controlling Logs depends on 51 | [`Cmdliner`][cmdliner]. The optional `Logs_lwt` library that provides 52 | Lwt logging functions depends on [`Lwt`][lwt] 53 | 54 | Logs and its reporters are distributed under the ISC license. 55 | 56 | [fmt]: http://erratique.ch/software/fmt 57 | [jsoo]: http://ocsigen.org/js_of_ocaml/ 58 | [cmdliner]: http://erratique.ch/software/cmdliner 59 | [lwt]: http://ocsigen.org/lwt/ 60 | """ 61 | url { 62 | archive: "https://erratique.ch/software/logs/releases/logs-0.7.0.tbz" 63 | checksum: "2bf021ca13331775e33cf34ab60246f7" 64 | } 65 | -------------------------------------------------------------------------------- /esy.lock/opam/lwt.5.3.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | synopsis: "Promises and event-driven I/O" 4 | 5 | version: "5.3.0" 6 | license: "MIT" 7 | homepage: "https://github.com/ocsigen/lwt" 8 | doc: "https://ocsigen.org/lwt" 9 | bug-reports: "https://github.com/ocsigen/lwt/issues" 10 | 11 | authors: [ 12 | "Jérôme Vouillon" 13 | "Jérémie Dimino" 14 | ] 15 | maintainer: [ 16 | "Anton Bachin " 17 | ] 18 | dev-repo: "git+https://github.com/ocsigen/lwt.git" 19 | 20 | depends: [ 21 | "cppo" {build & >= "1.1.0"} 22 | "dune" {>= "1.8.0"} 23 | "dune-configurator" 24 | "mmap" {>= "1.1.0"} # mmap is needed as long as Lwt supports OCaml < 4.06.0. 25 | "ocaml" {>= "4.02.0" & < "4.12"} 26 | ("ocaml" {>= "4.08.0"} | "ocaml-syntax-shims") 27 | "ocplib-endian" 28 | "result" # result is needed as long as Lwt supports OCaml 4.02. 29 | "seq" # seq is needed as long as Lwt supports OCaml < 4.07.0. 30 | 31 | "bisect_ppx" {dev & >= "2.0.0"} 32 | "ocamlfind" {dev & >= "1.7.3-1"} 33 | ] 34 | 35 | depopts: [ 36 | "base-threads" 37 | "base-unix" 38 | "conf-libev" 39 | ] 40 | 41 | conflicts: [ 42 | "ocaml-variants" {= "4.02.1+BER"} 43 | ] 44 | 45 | build: [ 46 | ["dune" "exec" "-p" name "src/unix/config/discover.exe" "--" "--save" 47 | "--use-libev" "%{conf-libev:installed}%"] 48 | ["dune" "build" "-p" name "-j" jobs] 49 | ] 50 | 51 | description: "A promise is a value that may become determined in the future. 52 | 53 | Lwt provides typed, composable promises. Promises that are resolved by I/O are 54 | resolved by Lwt in parallel. 55 | 56 | Meanwhile, OCaml code, including code creating and waiting on promises, runs in 57 | a single thread by default. This reduces the need for locks or other 58 | synchronization primitives. Code can be run in parallel on an opt-in basis." 59 | 60 | url { 61 | src: "https://github.com/ocsigen/lwt/archive/5.3.0.tar.gz" 62 | checksum: "md5=85e9c7e9095b4e14d0698e3ece72f378" 63 | } 64 | -------------------------------------------------------------------------------- /esy.lock/opam/magic-mime.1.1.2/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | name: "magic-mime" 3 | synopsis: "Map filenames to common MIME types" 4 | description: """ 5 | This library contains a database of MIME types that maps filename extensions 6 | into MIME types suitable for use in many Internet protocols such as HTTP or 7 | e-mail. It is generated from the `mime.types` file found in Unix systems, but 8 | has no dependency on a filesystem since it includes the contents of the 9 | database as an ML datastructure. 10 | 11 | For example, here's how to lookup MIME types in the [utop] REPL: 12 | 13 | #require "magic-mime";; 14 | Magic_mime.lookup "/foo/bar.txt";; 15 | - : bytes = "text/plain" 16 | Magic_mime.lookup "bar.css";; 17 | - : bytes = "text/css" 18 | """ 19 | maintainer: "Anil Madhavapeddy " 20 | authors: ["Anil Madhavapeddy" "Maxence Guesdon"] 21 | license: "ISC" 22 | homepage: "https://github.com/mirage/ocaml-magic-mime" 23 | doc: "https://mirage.github.io/ocaml-magic-mime/" 24 | bug-reports: "https://github.com/mirage/ocaml-magic-mime/issues" 25 | dev-repo: "git+https://github.com/mirage/ocaml-magic-mime.git" 26 | depends: [ 27 | "ocaml" {>= "4.03.0"} 28 | "dune" 29 | ] 30 | build: [ 31 | ["dune" "subst"] {pinned} 32 | ["dune" "build" "-p" name "-j" jobs] 33 | ] 34 | url { 35 | src: 36 | "https://github.com/mirage/ocaml-magic-mime/releases/download/v1.1.2/magic-mime-v1.1.2.tbz" 37 | checksum: [ 38 | "sha256=0c590bbc747531b56d392ee8f063d879df1e2026ba2dfa2d1bc98c9a9acb04eb" 39 | "sha512=8264db78adc2c75b8adabc23c26ad34eab98383bd3a8f2068f2236ff3425d653c0238fbd7361e55a3d70d843413ef8671b6e97293074b4d3a1e300628d5292ab" 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /esy.lock/opam/menhir.20200624/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "francois.pottier@inria.fr" 3 | authors: [ 4 | "François Pottier " 5 | "Yann Régis-Gianas " 6 | ] 7 | homepage: "http://gitlab.inria.fr/fpottier/menhir" 8 | dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" 9 | bug-reports: "menhir@inria.fr" 10 | build: [ 11 | ["dune" "build" "-p" name "-j" jobs] 12 | ] 13 | depends: [ 14 | "ocaml" {>= "4.02.3"} 15 | "dune" { >= "2.2.0"} 16 | "menhirLib" {= version} 17 | "menhirSdk" {= version} 18 | ] 19 | synopsis: "An LR(1) parser generator" 20 | url { 21 | src: 22 | "https://gitlab.inria.fr/fpottier/menhir/repository/20200624/archive.tar.gz" 23 | checksum: [ 24 | "md5=c37ff53a4a69059e1f8223067b91bb8b" 25 | "sha512=68cd165bd65c93fc9b14820a032b6d760674b3e811d8536c2e26e10f9fc5892720564f109484f12f8d08d849c2983c2eaf350d76ab1122a5b8a3c7674ab2bd39" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /esy.lock/opam/menhirLib.20200624/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "francois.pottier@inria.fr" 3 | authors: [ 4 | "François Pottier " 5 | "Yann Régis-Gianas " 6 | ] 7 | homepage: "http://gitlab.inria.fr/fpottier/menhir" 8 | dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" 9 | bug-reports: "menhir@inria.fr" 10 | build: [ 11 | ["dune" "build" "-p" name "-j" jobs] 12 | ] 13 | depends: [ 14 | "ocaml" { >= "4.02.3" } 15 | "dune" { >= "2.0.0" } 16 | ] 17 | conflicts: [ 18 | "menhir" { != version } 19 | ] 20 | synopsis: "Runtime support library for parsers generated by Menhir" 21 | url { 22 | src: 23 | "https://gitlab.inria.fr/fpottier/menhir/repository/20200624/archive.tar.gz" 24 | checksum: [ 25 | "md5=c37ff53a4a69059e1f8223067b91bb8b" 26 | "sha512=68cd165bd65c93fc9b14820a032b6d760674b3e811d8536c2e26e10f9fc5892720564f109484f12f8d08d849c2983c2eaf350d76ab1122a5b8a3c7674ab2bd39" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /esy.lock/opam/menhirSdk.20200624/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "francois.pottier@inria.fr" 3 | authors: [ 4 | "François Pottier " 5 | "Yann Régis-Gianas " 6 | ] 7 | homepage: "http://gitlab.inria.fr/fpottier/menhir" 8 | dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" 9 | bug-reports: "menhir@inria.fr" 10 | build: [ 11 | ["dune" "build" "-p" name "-j" jobs] 12 | ] 13 | depends: [ 14 | "ocaml" { >= "4.02.3" } 15 | "dune" { >= "2.0.0" } 16 | ] 17 | conflicts: [ 18 | "menhir" { != version } 19 | ] 20 | synopsis: "Compile-time library for auxiliary tools related to Menhir" 21 | url { 22 | src: 23 | "https://gitlab.inria.fr/fpottier/menhir/repository/20200624/archive.tar.gz" 24 | checksum: [ 25 | "md5=c37ff53a4a69059e1f8223067b91bb8b" 26 | "sha512=68cd165bd65c93fc9b14820a032b6d760674b3e811d8536c2e26e10f9fc5892720564f109484f12f8d08d849c2983c2eaf350d76ab1122a5b8a3c7674ab2bd39" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /esy.lock/opam/merlin-extend.0.6/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Frederic Bour " 3 | authors: "Frederic Bour " 4 | homepage: "https://github.com/let-def/merlin-extend" 5 | bug-reports: "https://github.com/let-def/merlin-extend" 6 | license: "MIT" 7 | dev-repo: "git+https://github.com/let-def/merlin-extend.git" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "dune" {>= "1.0"} 14 | "cppo" {build} 15 | "ocaml" {>= "4.02.3"} 16 | ] 17 | synopsis: "A protocol to provide custom frontend to Merlin" 18 | description: """ 19 | This protocol allows to replace the OCaml frontend of Merlin. 20 | It extends what used to be done with the `-pp' flag to handle a few more cases.""" 21 | doc: "https://let-def.github.io/merlin-extend" 22 | x-commit-hash: "640620568a5f5c7798239ecf7c707c813e3df3cf" 23 | url { 24 | src: 25 | "https://github.com/let-def/merlin-extend/releases/download/v0.6/merlin-extend-v0.6.tbz" 26 | checksum: [ 27 | "sha256=c2f236ae97feb6ba0bc90f33beb7b7343e42f9871b66de9ba07974917e256c43" 28 | "sha512=4c64a490e2ece04fc89aef679c1d9202175df4fe045b5fdc7a37cd7cebe861226fddd9648c1bf4f06175ecfcd2ed7686c96bd6a8cae003a5096f6134c240f857" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /esy.lock/opam/merlin.3.4.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "defree@gmail.com" 3 | authors: "The Merlin team" 4 | homepage: "https://github.com/ocaml/merlin" 5 | bug-reports: "https://github.com/ocaml/merlin/issues" 6 | dev-repo: "git+https://github.com/ocaml/merlin.git" 7 | build: [ 8 | ["dune" "subst"] {pinned} 9 | ["dune" "build" "-p" name "-j" jobs] 10 | ["dune" "runtest" "-p" name "-j" "1"] {with-test & ocaml:version >= "4.03"} 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.02.3" & < "4.12"} 14 | "dune" {>= "1.8.0"} 15 | "dot-merlin-reader" {= version} 16 | "yojson" {>= "1.6.0"} 17 | "mdx" {with-test & >= "1.3.0"} 18 | "conf-jq" {with-test} 19 | "csexp" {>= "1.2.3"} 20 | "result" {>= "1.5"} 21 | ] 22 | synopsis: 23 | "Editor helper, provides completion, typing and source browsing in Vim and Emacs" 24 | description: 25 | "Merlin is an assistant for editing OCaml code. It aims to provide the features available in modern IDEs: error reporting, auto completion, source browsing and much more." 26 | post-messages: [ 27 | "merlin installed. 28 | 29 | Quick setup for VIM 30 | ------------------- 31 | Append this to your .vimrc to add merlin to vim's runtime-path: 32 | let g:opamshare = substitute(system('opam config var share'),'\\n$','','''') 33 | execute \"set rtp+=\" . g:opamshare . \"/merlin/vim\" 34 | 35 | Also run the following line in vim to index the documentation: 36 | :execute \"helptags \" . g:opamshare . \"/merlin/vim/doc\" 37 | 38 | Quick setup for EMACS 39 | ------------------- 40 | Add opam emacs directory to your load-path by appending this to your .emacs: 41 | (let ((opam-share (ignore-errors (car (process-lines \"opam\" \"config\" \"var\" \"share\"))))) 42 | (when (and opam-share (file-directory-p opam-share)) 43 | ;; Register Merlin 44 | (add-to-list 'load-path (expand-file-name \"emacs/site-lisp\" opam-share)) 45 | (autoload 'merlin-mode \"merlin\" nil t nil) 46 | ;; Automatically start it in OCaml buffers 47 | (add-hook 'tuareg-mode-hook 'merlin-mode t) 48 | (add-hook 'caml-mode-hook 'merlin-mode t) 49 | ;; Use opam switch to lookup ocamlmerlin binary 50 | (setq merlin-command 'opam))) 51 | 52 | Take a look at https://github.com/ocaml/merlin for more information 53 | 54 | Quick setup with opam-user-setup 55 | -------------------------------- 56 | 57 | Opam-user-setup support Merlin. 58 | 59 | $ opam user-setup install 60 | 61 | should take care of basic setup. 62 | See https://github.com/OCamlPro/opam-user-setup 63 | " 64 | {success & !user-setup:installed} 65 | ] 66 | x-commit-hash: "35dd6b466dce1f542de82e5c6df0bff94e394fe1" 67 | url { 68 | src: 69 | "https://github.com/ocaml/merlin/releases/download/v3.4.1/merlin-v3.4.1.tbz" 70 | checksum: [ 71 | "sha256=e7f28ca520d1ab4a58e8ba876b665b1ecf9917cee7e5b3e3330afbd1d12a9e2a" 72 | "sha512=40ae93397aea031c1b4450998b448fc1df9671d612be0a02986688e5dd1390ced1c31bb2cdde9c6b52f8be841ca9fd1931fc302b26ef19cb2e88925d3b360c37" 73 | ] 74 | } 75 | -------------------------------------------------------------------------------- /esy.lock/opam/mmap.1.1.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "jeremie@dimino.org" 3 | authors: ["Jérémie Dimino " "Anton Bachin" ] 4 | homepage: "https://github.com/mirage/mmap" 5 | bug-reports: "https://github.com/mirage/mmap/issues" 6 | doc: "https://mirage.github.io/mmap/" 7 | dev-repo: "git+https://github.com/mirage/mmap.git" 8 | license: "LGPL-2.1-only with OCaml-LGPL-linking-exception" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" 14 | "dune" {>= "1.6"} 15 | ] 16 | synopsis: "File mapping functionality" 17 | description: """ 18 | This project provides a Mmap.map_file functions for mapping files in memory. 19 | """ 20 | url { 21 | src: 22 | "https://github.com/mirage/mmap/releases/download/v1.1.0/mmap-v1.1.0.tbz" 23 | checksum: "md5=8c5d5fbc537296dc525867535fb878ba" 24 | } 25 | -------------------------------------------------------------------------------- /esy.lock/opam/mtime.1.2.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: [ "The mtime programmers" ] 4 | homepage: "https://erratique.ch/software/mtime" 5 | doc: "https://erratique.ch/software/mtime" 6 | dev-repo: "git+https://erratique.ch/repos/mtime.git" 7 | bug-reports: "https://github.com/dbuenzli/mtime/issues" 8 | tags: [ "time" "monotonic" "system" "org:erratique" ] 9 | license: "ISC" 10 | depends: 11 | [ 12 | "ocaml" {>= "4.03.0"} 13 | "ocamlfind" {build} 14 | "ocamlbuild" {build} 15 | "topkg" {build} 16 | ] 17 | depopts: [ "js_of_ocaml" ] 18 | conflicts: ["js_of_ocaml" {<= "3.3.0"} ] 19 | build: [[ 20 | "ocaml" "pkg/pkg.ml" "build" 21 | "--pinned" "%{pinned}%" 22 | "--with-js_of_ocaml" "%{js_of_ocaml:installed}%" ]] 23 | 24 | synopsis: """Monotonic wall-clock time for OCaml""" 25 | description: """\ 26 | 27 | Mtime has platform independent support for monotonic wall-clock time 28 | in pure OCaml. This time increases monotonically and is not subject to 29 | operating system calendar time adjustments. The library has types to 30 | represent nanosecond precision timestamps and time spans. 31 | 32 | The additional Mtime_clock library provide access to a system 33 | monotonic clock. 34 | 35 | Mtime has a no dependency. Mtime_clock depends on your system library. 36 | The optional JavaScript support depends on [js_of_ocaml][jsoo]. Mtime 37 | and its libraries are distributed under the ISC license. 38 | 39 | [jsoo]: http://ocsigen.org/js_of_ocaml/ 40 | """ 41 | url { 42 | archive: "https://erratique.ch/software/mtime/releases/mtime-1.2.0.tbz" 43 | checksum: "f3f4c1333c0f74fc27b05c35b9c0dab9" 44 | } 45 | -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-compiler-libs.v0.12.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ocaml-compiler-libs" 5 | bug-reports: "https://github.com/janestreet/ocaml-compiler-libs/issues" 6 | dev-repo: "git+https://github.com/janestreet/ocaml-compiler-libs.git" 7 | license: "MIT" 8 | build: [ 9 | ["dune" "build" "-p" name "-j" jobs] 10 | ] 11 | depends: [ 12 | "ocaml" {>= "4.04.1"} 13 | "dune" {>= "1.5.1"} 14 | ] 15 | synopsis: """OCaml compiler libraries repackaged""" 16 | description: """ 17 | 18 | This packages exposes the OCaml compiler libraries repackages under 19 | the toplevel names Ocaml_common, Ocaml_bytecomp, Ocaml_optcomp, ... 20 | """ 21 | x-commit-hash: "7f5d1d2931b96fb3ee6dd569a469b51f621a6dd4" 22 | url { 23 | src: 24 | "https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.3/ocaml-compiler-libs-v0.12.3.tbz" 25 | checksum: [ 26 | "sha256=a8403531439c14bbda2d504ef93610fd29a8e9520fc700f21889d893a513e3c9" 27 | "sha512=0bb03b38e93bab3274a8ade38d017808110bc02f2181a594d8775c68fdd465733393f0451dbbf8860e6b50b56c45671d2182637c0840d1d6574803ec18673972" 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-migrate-parsetree.1.7.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "frederic.bour@lakaban.net" 3 | authors: [ 4 | "Frédéric Bour " 5 | "Jérémie Dimino " 6 | ] 7 | license: "LGPL-2.1 with OCaml linking exception" 8 | homepage: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree" 9 | bug-reports: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/issues" 10 | dev-repo: "git+https://github.com/ocaml-ppx/ocaml-migrate-parsetree.git" 11 | doc: "https://ocaml-ppx.github.io/ocaml-migrate-parsetree/" 12 | tags: [ "syntax" "org:ocamllabs" ] 13 | build: [ 14 | ["dune" "build" "-p" name "-j" jobs] 15 | ] 16 | depends: [ 17 | "result" 18 | "ppx_derivers" 19 | "dune" {>= "1.9.0"} 20 | "ocaml" {>= "4.02.3" & < "4.12"} 21 | ] 22 | synopsis: "Convert OCaml parsetrees between different versions" 23 | description: """ 24 | Convert OCaml parsetrees between different versions 25 | 26 | This library converts parsetrees, outcometree and ast mappers between 27 | different OCaml versions. High-level functions help making PPX 28 | rewriters independent of a compiler version. 29 | """ 30 | url { 31 | src: 32 | "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v1.7.3/ocaml-migrate-parsetree-v1.7.3.tbz" 33 | checksum: [ 34 | "sha256=6d85717bcf476b87f290714872ed4fbde0233dc899c3158a27f439d70224fb55" 35 | "sha512=fe9c74a244d160d973d8ca62e356edad4c872fc46471ddc668f854456d3979576895d446d49da2aee61c65b441b72c573225b0b254ab2eac4a0fb4debdbce9d4" 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /esy.lock/opam/ocaml-syntax-shims.1.0.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "Backport new syntax to older OCaml versions" 3 | description: """ 4 | This packages backports new features of the language to older 5 | compilers, such as let+. 6 | """ 7 | maintainer: ["jeremie@dimino.org"] 8 | authors: ["Jérémie Dimino "] 9 | license: "MIT" 10 | homepage: "https://github.com/ocaml-ppx/ocaml-syntax-shims" 11 | doc: "https://ocaml-ppx.github.io/ocaml-syntax-shims/" 12 | bug-reports: "https://github.com/ocaml-ppx/ocaml-syntax-shims/issues" 13 | depends: [ 14 | "dune" {>= "2.0"} 15 | "ocaml" {>= "4.02.3"} 16 | ] 17 | build: [ 18 | ["dune" "subst"] {pinned} 19 | [ 20 | "dune" 21 | "build" 22 | "-p" 23 | name 24 | "-j" 25 | jobs 26 | "@install" 27 | "@runtest" {with-test} 28 | "@doc" {with-doc} 29 | ] 30 | ] 31 | dev-repo: "git+https://github.com/ocaml-ppx/ocaml-syntax-shims.git" 32 | url { 33 | src: 34 | "https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz" 35 | checksum: [ 36 | "sha256=89b2e193e90a0c168b6ec5ddf6fef09033681bdcb64e11913c97440a2722e8c8" 37 | "sha512=75c4c6b0bfa1267a8a49a82ba494d08cf0823fc8350863d6d3d4971528cb09e5a2a29e2981d04c75e76ad0f49360b05a432c9efeff9a4fbc1ec6b28960399852" 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlbuild.0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Gabriel Scherer " 3 | authors: ["Nicolas Pouillard" "Berke Durak"] 4 | homepage: "https://github.com/ocaml/ocamlbuild/" 5 | bug-reports: "https://github.com/ocaml/ocamlbuild/issues" 6 | license: "LGPL-2.1-only with OCaml-LGPL-linking-exception" 7 | doc: "https://github.com/ocaml/ocamlbuild/blob/master/manual/manual.adoc" 8 | dev-repo: "git+https://github.com/ocaml/ocamlbuild.git" 9 | build: [ 10 | [ 11 | make 12 | "-f" 13 | "configure.make" 14 | "all" 15 | "OCAMLBUILD_PREFIX=%{prefix}%" 16 | "OCAMLBUILD_BINDIR=%{bin}%" 17 | "OCAMLBUILD_LIBDIR=%{lib}%" 18 | "OCAMLBUILD_MANDIR=%{man}%" 19 | "OCAML_NATIVE=%{ocaml:native}%" 20 | "OCAML_NATIVE_TOOLS=%{ocaml:native}%" 21 | ] 22 | [make "check-if-preinstalled" "all" "opam-install"] 23 | ] 24 | conflicts: [ 25 | "base-ocamlbuild" 26 | "ocamlfind" {< "1.6.2"} 27 | ] 28 | synopsis: 29 | "OCamlbuild is a build system with builtin rules to easily build most OCaml projects." 30 | depends: [ 31 | "ocaml" {>= "4.03"} 32 | ] 33 | url { 34 | src: "https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz" 35 | checksum: "sha256=87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78" 36 | } 37 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BINDIR=$(dirname "$(command -v ocamlc)") 4 | "$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@" 5 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install: -------------------------------------------------------------------------------- 1 | bin: [ 2 | "src/findlib/ocamlfind" {"ocamlfind"} 3 | "?src/findlib/ocamlfind_opt" {"ocamlfind"} 4 | "?tools/safe_camlp4" 5 | ] 6 | toplevel: ["src/findlib/topfind"] 7 | -------------------------------------------------------------------------------- /esy.lock/opam/ocamlfind.1.8.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: "A library manager for OCaml" 3 | maintainer: "Thomas Gazagnaire " 4 | authors: "Gerd Stolpmann " 5 | homepage: "http://projects.camlcity.org/projects/findlib.html" 6 | bug-reports: "https://gitlab.camlcity.org/gerd/lib-findlib/issues" 7 | dev-repo: "git+https://gitlab.camlcity.org/gerd/lib-findlib.git" 8 | description: """ 9 | Findlib is a library manager for OCaml. It provides a convention how 10 | to store libraries, and a file format ("META") to describe the 11 | properties of libraries. There is also a tool (ocamlfind) for 12 | interpreting the META files, so that it is very easy to use libraries 13 | in programs and scripts. 14 | """ 15 | build: [ 16 | [ 17 | "./configure" 18 | "-bindir" 19 | bin 20 | "-sitelib" 21 | lib 22 | "-mandir" 23 | man 24 | "-config" 25 | "%{lib}%/findlib.conf" 26 | "-no-custom" 27 | "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} 28 | "-no-topfind" {ocaml:preinstalled} 29 | ] 30 | [make "all"] 31 | [make "opt"] {ocaml:native} 32 | ] 33 | install: [ 34 | [make "install"] 35 | ["install" "-m" "0755" "ocaml-stub" "%{bin}%/ocaml"] {ocaml:preinstalled} 36 | ] 37 | depends: [ 38 | "ocaml" {>= "4.00.0"} 39 | "conf-m4" {build} 40 | ] 41 | extra-files: [ 42 | ["ocamlfind.install" "md5=06f2c282ab52d93aa6adeeadd82a2543"] 43 | ["ocaml-stub" "md5=181f259c9e0bad9ef523e7d4abfdf87a"] 44 | ] 45 | url { 46 | src: "http://download.camlcity.org/download/findlib-1.8.1.tar.gz" 47 | checksum: "md5=18ca650982c15536616dea0e422cbd8c" 48 | mirrors: "http://download2.camlcity.org/download/findlib-1.8.1.tar.gz" 49 | } 50 | depopts: ["graphics"] 51 | -------------------------------------------------------------------------------- /esy.lock/opam/ocplib-endian.1.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | synopsis: 3 | "Optimised functions to read and write int16/32/64 from strings and bigarrays" 4 | description: """ 5 | The library implements three modules: 6 | * [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; 7 | * [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; 8 | * [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.""" 9 | maintainer: "pierre.chambart@ocamlpro.com" 10 | authors: "Pierre Chambart" 11 | homepage: "https://github.com/OCamlPro/ocplib-endian" 12 | doc: "https://ocamlpro.github.io/ocplib-endian/ocplib-endian/" 13 | bug-reports: "https://github.com/OCamlPro/ocplib-endian/issues" 14 | depends: [ 15 | "base-bytes" 16 | "ocaml" {>= "4.02.3"} 17 | "cppo" {>= "1.1.0" & build} 18 | "dune" {>= "1.0"} 19 | ] 20 | build: [ 21 | "dune" 22 | "build" 23 | "-p" 24 | name 25 | "-j" 26 | jobs 27 | "@install" 28 | "@runtest" {with-test} 29 | "@doc" {with-doc} 30 | ] 31 | dev-repo: "git+https://github.com/OCamlPro/ocplib-endian.git" 32 | url { 33 | src: "https://github.com/OCamlPro/ocplib-endian/archive/1.1.tar.gz" 34 | checksum: [ 35 | "md5=dedf4d69c1b87b3c6c7234f632399285" 36 | "sha512=39351c666d1394770696fa89ac62f7c137ad1697d99888bfba2cc8de2c61df05dd8b3aa327c117bf38f3e29e081026d2c575c5ad0022bde92b3d43aba577d3f9" 37 | ] 38 | } -------------------------------------------------------------------------------- /esy.lock/opam/ppx_derivers.1.2.1/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "jeremie@dimino.org" 3 | authors: ["Jérémie Dimino"] 4 | license: "BSD-3-Clause" 5 | homepage: "https://github.com/ocaml-ppx/ppx_derivers" 6 | bug-reports: "https://github.com/ocaml-ppx/ppx_derivers/issues" 7 | dev-repo: "git://github.com/ocaml-ppx/ppx_derivers.git" 8 | build: [ 9 | ["dune" "build" "-p" name "-j" jobs] 10 | ] 11 | depends: [ 12 | "ocaml" 13 | "dune" 14 | ] 15 | synopsis: "Shared [@@deriving] plugin registry" 16 | description: """ 17 | Ppx_derivers is a tiny package whose sole purpose is to allow 18 | ppx_deriving and ppx_type_conv to inter-operate gracefully when linked 19 | as part of the same ocaml-migrate-parsetree driver.""" 20 | url { 21 | src: "https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz" 22 | checksum: "md5=5dc2bf130c1db3c731fe0fffc5648b41" 23 | } 24 | -------------------------------------------------------------------------------- /esy.lock/opam/ppx_sexp_conv.v0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_sexp_conv" 5 | bug-reports: "https://github.com/janestreet/ppx_sexp_conv/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_sexp_conv.git" 7 | doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_sexp_conv/index.html" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.04.2"} 14 | "base" {>= "v0.14" & < "v0.15"} 15 | "sexplib0" {>= "v0.14" & < "v0.15"} 16 | "dune" {>= "2.0.0"} 17 | "ppxlib" {>= "0.11.0" & < "0.15.0"} 18 | ] 19 | synopsis: "[@@deriving] plugin to generate S-expression conversion functions" 20 | description: " 21 | Part of the Jane Street's PPX rewriters collection. 22 | " 23 | url { 24 | src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/ppx_sexp_conv-v0.14.0.tar.gz" 25 | checksum: "md5=b30d4ec43962b96d293e4c6579c592b0" 26 | } 27 | -------------------------------------------------------------------------------- /esy.lock/opam/ppx_yojson_conv_lib.v0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/ppx_yojson_conv_lib" 5 | bug-reports: "https://github.com/janestreet/ppx_yojson_conv_lib/issues" 6 | dev-repo: "git+https://github.com/janestreet/ppx_yojson_conv_lib.git" 7 | doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/ppx_yojson_conv_lib/index.html" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.02.3"} 14 | "dune" {>= "2.0.0"} 15 | "yojson" {>= "1.7.0"} 16 | ] 17 | synopsis: "Runtime lib for ppx_yojson_conv" 18 | description: " 19 | Part of the Jane Street's PPX rewriters collection. 20 | " 21 | url { 22 | src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/ppx_yojson_conv_lib-v0.14.0.tar.gz" 23 | checksum: "md5=e23c5593a7211ad4fb09e26e9a74698a" 24 | } 25 | -------------------------------------------------------------------------------- /esy.lock/opam/ppxlib.0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/ocaml-ppx/ppxlib" 5 | bug-reports: "https://github.com/ocaml-ppx/ppxlib/issues" 6 | dev-repo: "git+https://github.com/ocaml-ppx/ppxlib.git" 7 | doc: "https://ocaml-ppx.github.io/ppxlib/" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "subst"] {pinned} 11 | ["dune" "build" "-p" name "-j" jobs] 12 | ] 13 | run-test: [ 14 | ["dune" "runtest" "-p" name "-j" jobs] { ocaml:version >= "4.10" } 15 | ] 16 | depends: [ 17 | "ocaml" {>= "4.04.1" & < "4.12"} 18 | "base" {>= "v0.11.0"} 19 | "dune" {>= "1.11"} 20 | "ocaml-compiler-libs" {>= "v0.11.0"} 21 | "ocaml-migrate-parsetree" {>= "1.5.0" & < "2.0.0"} 22 | "ppx_derivers" {>= "1.0"} 23 | "stdio" {>= "v0.11.0"} 24 | "ocamlfind" {with-test} 25 | "cinaps" {with-test & >= "v0.12.1"} 26 | ] 27 | synopsis: "Base library and tools for ppx rewriters" 28 | description: """ 29 | A comprehensive toolbox for ppx development. It features: 30 | - a OCaml AST / parser / pretty-printer snapshot,to create a full 31 | frontend independent of the version of OCaml; 32 | - a library for library for ppx rewriters in general, and type-driven 33 | code generators in particular; 34 | - a feature-full driver for OCaml AST transformers; 35 | - a quotation mechanism allowing to write values representing the 36 | OCaml AST in the OCaml syntax; 37 | - a generator of open recursion classes from type definitions. 38 | """ 39 | url { 40 | src: 41 | "https://github.com/ocaml-ppx/ppxlib/releases/download/0.14.0/ppxlib-0.14.0.tbz" 42 | checksum: [ 43 | "sha256=a1a398f7c8f670d7de80468ff4639862b126f4dcac3de416e0c5c4d5860f3854" 44 | "sha512=987062ecaa406a0bc4d87350947ab7da06b650c2f3c991a3aba470bd45c0a26619536bd50753de958a8a1f3b41f89fbcf7206bf3b5acc33002a9b2debd686d6c" 45 | ] 46 | } 47 | -------------------------------------------------------------------------------- /esy.lock/opam/re.1.9.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | 3 | maintainer: "rudi.grinberg@gmail.com" 4 | authors: [ 5 | "Jerome Vouillon" 6 | "Thomas Gazagnaire" 7 | "Anil Madhavapeddy" 8 | "Rudi Grinberg" 9 | "Gabriel Radanne" 10 | ] 11 | license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" 12 | homepage: "https://github.com/ocaml/ocaml-re" 13 | bug-reports: "https://github.com/ocaml/ocaml-re/issues" 14 | dev-repo: "git+https://github.com/ocaml/ocaml-re.git" 15 | 16 | build: [ 17 | ["dune" "subst"] {pinned} 18 | ["dune" "build" "-p" name "-j" jobs] 19 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 20 | ] 21 | 22 | depends: [ 23 | "ocaml" {>= "4.02"} 24 | "dune" 25 | "ounit" {with-test} 26 | "seq" 27 | ] 28 | 29 | synopsis: "RE is a regular expression library for OCaml" 30 | description: """ 31 | Pure OCaml regular expressions with: 32 | * Perl-style regular expressions (module Re.Perl) 33 | * Posix extended regular expressions (module Re.Posix) 34 | * Emacs-style regular expressions (module Re.Emacs) 35 | * Shell-style file globbing (module Re.Glob) 36 | * Compatibility layer for OCaml's built-in Str module (module Re.Str) 37 | """ 38 | url { 39 | src: 40 | "https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz" 41 | checksum: "md5=bddaed4f386a22cace7850c9c7dac296" 42 | } 43 | -------------------------------------------------------------------------------- /esy.lock/opam/redis-lwt.0.4/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Simon Cruanes" 3 | authors: [ 4 | "Mike Wells" 5 | "David Höppner" 6 | "Aleksandr Dinu" 7 | ] 8 | homepage: "https://github.com/0xffea/ocaml-redis" 9 | bug-reports: "https://github.com/0xffea/ocaml-redis/issues" 10 | license: "BSD3" 11 | tags: ["redis" "lwt"] 12 | dev-repo: "git+https://github.com/0xffea/ocaml-redis.git" 13 | synopsis: "Redis client (lwt interface)" 14 | build: [ 15 | ["dune" "build" "-p" name "-j" jobs] 16 | ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} 17 | ] 18 | depends: [ 19 | "dune" {>= "1.0"} 20 | "redis" { = version } 21 | "lwt" 22 | "ocaml" { >= "4.02.3" } 23 | "ounit" {with-test} 24 | "containers" {with-test} 25 | "odoc" {with-doc} 26 | ] 27 | url { 28 | src: "https://github.com/0xffea/ocaml-redis/archive/0.4.tar.gz" 29 | checksum: [ 30 | "md5=14ed13367ece237de7fb881436762356" 31 | "sha512=cca4d4ed74c3551d87fc52aa75196f96bfddc511086af8133123becf1e981f14f712cf6232c656371e23f8e8f18babf9f2f0494f50023bb5068d2c7c7785fa2c" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /esy.lock/opam/redis.0.4/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Simon Cruanes" 3 | authors: [ 4 | "Mike Wells" 5 | "David Höppner" 6 | "Aleksandr Dinu" 7 | ] 8 | homepage: "https://github.com/0xffea/ocaml-redis" 9 | bug-reports: "https://github.com/0xffea/ocaml-redis/issues" 10 | license: "BSD3" 11 | tags: ["redis"] 12 | dev-repo: "git+https://github.com/0xffea/ocaml-redis.git" 13 | synopsis: "Redis client" 14 | build: [ 15 | ["dune" "build" "-p" name "-j" jobs] 16 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 17 | ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} 18 | ] 19 | depends: [ 20 | "dune" { >= "1.0" } 21 | "base-unix" 22 | "uuidm" 23 | "re" 24 | "ocaml" { >= "4.02.3" } 25 | "odoc" {with-doc} 26 | ] 27 | url { 28 | src: "https://github.com/0xffea/ocaml-redis/archive/0.4.tar.gz" 29 | checksum: [ 30 | "md5=14ed13367ece237de7fb881436762356" 31 | "sha512=cca4d4ed74c3551d87fc52aa75196f96bfddc511086af8133123becf1e981f14f712cf6232c656371e23f8e8f18babf9f2f0494f50023bb5068d2c7c7785fa2c" 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /esy.lock/opam/result.1.5/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/result" 5 | dev-repo: "git+https://github.com/janestreet/result.git" 6 | bug-reports: "https://github.com/janestreet/result/issues" 7 | license: "BSD-3-Clause" 8 | build: [["dune" "build" "-p" name "-j" jobs]] 9 | depends: [ 10 | "ocaml" 11 | "dune" {>= "1.0"} 12 | ] 13 | synopsis: "Compatibility Result module" 14 | description: """ 15 | Projects that want to use the new result type defined in OCaml >= 4.03 16 | while staying compatible with older version of OCaml should use the 17 | Result module defined in this library.""" 18 | url { 19 | src: 20 | "https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz" 21 | checksum: "md5=1b82dec78849680b49ae9a8a365b831b" 22 | } 23 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/files/META.seq: -------------------------------------------------------------------------------- 1 | name="seq" 2 | version="[distributed with OCaml 4.07 or above]" 3 | description="dummy backward-compatibility package for iterators" 4 | requires="" 5 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/files/seq.install: -------------------------------------------------------------------------------- 1 | lib:[ 2 | "META.seq" {"META"} 3 | ] 4 | -------------------------------------------------------------------------------- /esy.lock/opam/seq.base/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: " " 3 | authors: " " 4 | homepage: " " 5 | depends: [ 6 | "ocaml" {>= "4.07.0"} 7 | ] 8 | dev-repo: "git+https://github.com/ocaml/ocaml.git" 9 | bug-reports: "https://caml.inria.fr/mantis/main_page.php" 10 | synopsis: 11 | "Compatibility package for OCaml's standard iterator type starting from 4.07." 12 | extra-files: [ 13 | ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] 14 | ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] 15 | ] 16 | -------------------------------------------------------------------------------- /esy.lock/opam/sexplib0.v0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/sexplib0" 5 | bug-reports: "https://github.com/janestreet/sexplib0/issues" 6 | dev-repo: "git+https://github.com/janestreet/sexplib0.git" 7 | doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/sexplib0/index.html" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.04.2"} 14 | "dune" {>= "2.0.0"} 15 | ] 16 | synopsis: "Library containing the definition of S-expressions and some base converters" 17 | description: " 18 | Part of Jane Street's Core library 19 | The Core suite of libraries is an industrial strength alternative to 20 | OCaml's standard library that was developed by Jane Street, the 21 | largest industrial user of OCaml. 22 | " 23 | url { 24 | src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/sexplib0-v0.14.0.tar.gz" 25 | checksum: "md5=37aff0af8f8f6f759249475684aebdc4" 26 | } 27 | -------------------------------------------------------------------------------- /esy.lock/opam/stdio.v0.14.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "opensource@janestreet.com" 3 | authors: ["Jane Street Group, LLC "] 4 | homepage: "https://github.com/janestreet/stdio" 5 | bug-reports: "https://github.com/janestreet/stdio/issues" 6 | dev-repo: "git+https://github.com/janestreet/stdio.git" 7 | doc: "https://ocaml.janestreet.com/ocaml-core/latest/doc/stdio/index.html" 8 | license: "MIT" 9 | build: [ 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | depends: [ 13 | "ocaml" {>= "4.04.2"} 14 | "base" {>= "v0.14" & < "v0.15"} 15 | "dune" {>= "2.0.0"} 16 | ] 17 | synopsis: "Standard IO library for OCaml" 18 | description: " 19 | Stdio implements simple input/output functionalities for OCaml. 20 | 21 | It re-exports the input/output functions of the OCaml standard 22 | libraries using a more consistent API. 23 | " 24 | url { 25 | src: "https://ocaml.janestreet.com/ocaml-core/v0.14/files/stdio-v0.14.0.tar.gz" 26 | checksum: "md5=4cbdf15f0be88c3258aaeff9e04e00e9" 27 | } 28 | -------------------------------------------------------------------------------- /esy.lock/opam/stdlib-shims.0.1.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "The stdlib-shims programmers" 3 | authors: "The stdlib-shims programmers" 4 | homepage: "https://github.com/ocaml/stdlib-shims" 5 | doc: "https://ocaml.github.io/stdlib-shims/" 6 | dev-repo: "git+https://github.com/ocaml/stdlib-shims.git" 7 | bug-reports: "https://github.com/ocaml/stdlib-shims/issues" 8 | tags: ["stdlib" "compatibility" "org:ocaml"] 9 | license: ["typeof OCaml system"] 10 | depends: [ 11 | "ocaml" {>="4.02.3"} 12 | "dune" 13 | ("dune" {>= "2.7.0"} | "dune" & "ocaml" {<"4.12.0~~"}) 14 | ] 15 | build: [ "dune" "build" "-p" name "-j" jobs ] 16 | synopsis: "Backport some of the new stdlib features to older compiler" 17 | description: """ 18 | Backport some of the new stdlib features to older compiler, 19 | such as the Stdlib module. 20 | 21 | This allows projects that require compatibility with older compiler to 22 | use these new features in their code. 23 | """ 24 | url { 25 | src: 26 | "https://github.com/ocaml/stdlib-shims/releases/download/0.1.0/stdlib-shims-0.1.0.tbz" 27 | checksum: "md5=12b5704eed70c6bff5ac39a16db1425d" 28 | } 29 | -------------------------------------------------------------------------------- /esy.lock/opam/stringext.1.6.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "rudi.grinberg@gmail.com" 3 | authors: "Rudi Grinberg" 4 | license: "MIT" 5 | homepage: "https://github.com/rgrinberg/stringext" 6 | bug-reports: "https://github.com/rgrinberg/stringext/issues" 7 | depends: [ 8 | "ocaml" {>= "4.02.3"} 9 | "dune" {>= "1.0"} 10 | "ounit" {with-test} 11 | "qtest" {with-test & >= "2.2"} 12 | "base-bytes" 13 | ] 14 | build: [ 15 | ["dune" "subst"] {pinned} 16 | ["dune" "build" "-p" name "-j" jobs] 17 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 18 | ] 19 | dev-repo: "git+https://github.com/rgrinberg/stringext.git" 20 | synopsis: "Extra string functions for OCaml" 21 | description: """ 22 | Extra string functions for OCaml. Mainly splitting. All functions are in the 23 | Stringext module. 24 | """ 25 | url { 26 | src: 27 | "https://github.com/rgrinberg/stringext/releases/download/1.6.0/stringext-1.6.0.tbz" 28 | checksum: [ 29 | "sha256=db41f5d52e9eab17615f110b899dfeb27dd7e7f89cd35ae43827c5119db206ea" 30 | "sha512=d8ebe40f42b598a9bd99f1ef4b00ba93458385a4accd121af66a0bf3b3f8d7135f576740adf1a43081dd409977c2219fd4bdbb5b3d1308890d301d553ed49900" 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /esy.lock/opam/topkg.1.0.3/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: ["Daniel Bünzli "] 4 | homepage: "http://erratique.ch/software/topkg" 5 | doc: "http://erratique.ch/software/topkg/doc" 6 | license: "ISC" 7 | dev-repo: "git+http://erratique.ch/repos/topkg.git" 8 | bug-reports: "https://github.com/dbuenzli/topkg/issues" 9 | tags: ["packaging" "ocamlbuild" "org:erratique"] 10 | depends: [ 11 | "ocaml" {>= "4.03.0"} 12 | "ocamlfind" {build & >= "1.6.1"} 13 | "ocamlbuild" ] 14 | build: [[ 15 | "ocaml" "pkg/pkg.ml" "build" 16 | "--pkg-name" name 17 | "--dev-pkg" "%{pinned}%" ]] 18 | synopsis: """The transitory OCaml software packager""" 19 | description: """\ 20 | 21 | Topkg is a packager for distributing OCaml software. It provides an 22 | API to describe the files a package installs in a given build 23 | configuration and to specify information about the package's 24 | distribution, creation and publication procedures. 25 | 26 | The optional topkg-care package provides the `topkg` command line tool 27 | which helps with various aspects of a package's life cycle: creating 28 | and linting a distribution, releasing it on the WWW, publish its 29 | documentation, add it to the OCaml opam repository, etc. 30 | 31 | Topkg is distributed under the ISC license and has **no** 32 | dependencies. This is what your packages will need as a *build* 33 | dependency. 34 | 35 | Topkg-care is distributed under the ISC license it depends on 36 | [fmt][fmt], [logs][logs], [bos][bos], [cmdliner][cmdliner], 37 | [webbrowser][webbrowser] and `opam-format`. 38 | 39 | [fmt]: http://erratique.ch/software/fmt 40 | [logs]: http://erratique.ch/software/logs 41 | [bos]: http://erratique.ch/software/bos 42 | [cmdliner]: http://erratique.ch/software/cmdliner 43 | [webbrowser]: http://erratique.ch/software/webbrowser 44 | """ 45 | url { 46 | archive: "http://erratique.ch/software/topkg/releases/topkg-1.0.3.tbz" 47 | checksum: "e285f7a296d77ee7d831ba9a6bfb396f" 48 | } 49 | -------------------------------------------------------------------------------- /esy.lock/opam/uri.3.1.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "anil@recoil.org" 3 | authors: ["Anil Madhavapeddy" "David Sheets" "Rudi Grinberg"] 4 | license: "ISC" 5 | tags: ["url" "uri" "org:mirage" "org:xapi-project"] 6 | homepage: "https://github.com/mirage/ocaml-uri" 7 | bug-reports: "https://github.com/mirage/ocaml-uri/issues" 8 | dev-repo: "git+https://github.com/mirage/ocaml-uri.git" 9 | doc: "https://mirage.github.io/ocaml-uri/" 10 | synopsis: "An RFC3986 URI/URL parsing library" 11 | description: """ 12 | This is an OCaml implementation of the [RFC3986](http://tools.ietf.org/html/rfc3986) specification 13 | for parsing URI or URLs. 14 | """ 15 | depends: [ 16 | "ocaml" {>= "4.04.0"} 17 | "dune" {>= "1.2.0"} 18 | "ounit" {with-test & >= "1.0.2"} 19 | "ppx_sexp_conv" {with-test & >= "v0.9.0" & < "v0.15"} 20 | "re" {>= "1.9.0"} 21 | "stringext" {>= "1.4.0"} 22 | ] 23 | build: [ 24 | ["dune" "subst"] {pinned} 25 | ["dune" "build" "-p" name "-j" jobs] 26 | ["dune" "runtest" "-p" name "-j" jobs] {with-test} 27 | ] 28 | url { 29 | src: 30 | "https://github.com/mirage/ocaml-uri/releases/download/v3.1.0/uri-v3.1.0.tbz" 31 | checksum: [ 32 | "sha256=c452823fd870cf7cffe51aef3e9ca646a382dc6f87282f2b16bfe30a7515ac43" 33 | "sha512=c015576bb077fd243022bcd8804e628d23a253dcd8bbdda8dc2a57e86cfeb9fd629087ec7d7e23dc71dd7cd137450ca2c5ecf8fb7d184ec9d1d4e41f6f83ee38" 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /esy.lock/opam/uuidm.0.9.7/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "Daniel Bünzli " 3 | authors: ["Daniel Bünzli "] 4 | homepage: "https://erratique.ch/software/uuidm" 5 | doc: "https://erratique.ch/software/uuidm/doc/Uuidm" 6 | dev-repo: "git+https://erratique.ch/repos/uuidm.git" 7 | bug-reports: "https://github.com/dbuenzli/uuidm/issues" 8 | tags: [ "uuid" "codec" "org:erratique" ] 9 | license: "ISC" 10 | depends: [ 11 | "ocaml" {>= "4.03.0"} 12 | "ocamlfind" {build} 13 | "ocamlbuild" {build} 14 | "topkg" {build} ] 15 | depopts: [ "cmdliner" ] 16 | build: 17 | [ "ocaml" "pkg/pkg.ml" "build" 18 | "--pinned" "%{pinned}%" 19 | "--with-cmdliner" "%{cmdliner:installed}%" ] 20 | synopsis: """Universally unique identifiers (UUIDs) for OCaml""" 21 | description: """\ 22 | 23 | Uuidm is an OCaml module implementing 128 bits universally unique 24 | identifiers version 3, 5 (named based with MD5, SHA-1 hashing) and 4 25 | (random based) according to [RFC 4122][rfc4122]. 26 | 27 | Uuidm has no dependency and is distributed under the ISC license. 28 | 29 | [rfc4122]: http://tools.ietf.org/html/rfc4122 30 | """ 31 | url { 32 | archive: "https://erratique.ch/software/uuidm/releases/uuidm-0.9.7.tbz" 33 | checksum: "54658248e3981d8c05237d0a4277ccd3" 34 | } 35 | -------------------------------------------------------------------------------- /esy.lock/opam/yojson.1.7.0/opam: -------------------------------------------------------------------------------- 1 | opam-version: "2.0" 2 | maintainer: "martin@mjambon.com" 3 | authors: ["Martin Jambon"] 4 | homepage: "https://github.com/ocaml-community/yojson" 5 | bug-reports: "https://github.com/ocaml-community/yojson/issues" 6 | dev-repo: "git+https://github.com/ocaml-community/yojson.git" 7 | doc: "https://ocaml-community.github.io/yojson/" 8 | build: [ 9 | ["dune" "subst"] {pinned} 10 | ["dune" "build" "-p" name "-j" jobs] 11 | ] 12 | run-test: [["dune" "runtest" "-p" name "-j" jobs]] 13 | depends: [ 14 | "ocaml" {>= "4.02.3"} 15 | "dune" 16 | "cppo" {build} 17 | "easy-format" 18 | "biniou" {>= "1.2.0"} 19 | "alcotest" {with-test & >= "0.8.5"} 20 | ] 21 | synopsis: 22 | "Yojson is an optimized parsing and printing library for the JSON format" 23 | description: """ 24 | Yojson is an optimized parsing and printing library for the JSON format. 25 | 26 | It addresses a few shortcomings of json-wheel including 2x speedup, 27 | polymorphic variants and optional syntax for tuples and variants. 28 | 29 | ydump is a pretty-printing command-line program provided with the 30 | yojson package. 31 | 32 | The program atdgen can be used to derive OCaml-JSON serializers and 33 | deserializers from type definitions.""" 34 | url { 35 | src: 36 | "https://github.com/ocaml-community/yojson/releases/download/1.7.0/yojson-1.7.0.tbz" 37 | checksum: "md5=b89d39ca3f8c532abe5f547ad3b8f84d" 38 | } 39 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__dune_opam__c__2.7.1_opam_override/files/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SECONDARY_CONF="$OCAMLFIND_SECONDARY_PREFIX/lib/findlib.conf.d/ocaml-secondary-compiler.conf" 4 | 5 | if test -f $SECONDARY_CONF; then 6 | export OCAMLFIND_CONF=$SECONDARY_CONF; 7 | fi 8 | 9 | env -u OCAMLLIB ocaml bootstrap.ml 10 | ./dune.exe build -p dune --profile dune-bootstrap 11 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__dune_opam__c__2.7.1_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "buildsInSource": true, 3 | "build": "bash build.sh", 4 | "install": "esy-installer dune.install", 5 | "buildEnv": { 6 | "OCAMLPATH": "#{ $OCAMLFIND_SECONDARY_PREFIX / 'lib' : ocaml.lib : $OCAML_SECONDARY_COMPILER_PREFIX / 'share' / 'ocaml-secondary-compiler' / 'lib' }" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__mtime_opam__c__1.2.0_opam_override/files/mtime-1.2.0.patch: -------------------------------------------------------------------------------- 1 | --- ./myocamlbuild.ml 2 | +++ ./myocamlbuild.ml 3 | @@ -22,6 +22,11 @@ 4 | in 5 | rule "js_of_ocaml: .byte -> .js" ~dep ~prod f 6 | 7 | +let lib s = 8 | + match !Ocamlbuild_plugin.Options.ext_lib with 9 | + | "" -> s ^ ".a" 10 | + | x -> s ^ "." ^ x 11 | + 12 | let () = 13 | dispatch begin function 14 | | After_rules -> 15 | @@ -33,10 +38,10 @@ 16 | 17 | (* mtime-clock-os *) 18 | 19 | - dep ["record_mtime_clock_os_stubs"] ["src-os/libmtime_clock_stubs.a"]; 20 | + dep ["record_mtime_clock_os_stubs"] [lib "src-os/libmtime_clock_stubs"]; 21 | flag_and_dep 22 | ["link"; "ocaml"; "link_mtime_clock_os_stubs"] 23 | - (P "src-os/libmtime_clock_stubs.a"); 24 | + (P (lib "src-os/libmtime_clock_stubs")); 25 | flag ["library"; "ocaml"; "byte"; "record_mtime_clock_os_stubs"] 26 | (S ([A "-dllib"; A "-lmtime_clock_stubs"] @ system_support_lib)); 27 | flag ["library"; "ocaml"; (* byte and native *) 28 | Nur in .: myocamlbuild.ml.orig. 29 | --- ./src-os/mtime_clock_stubs.c 30 | +++ ./src-os/mtime_clock_stubs.c 31 | @@ -26,6 +26,8 @@ 32 | #if defined(_POSIX_VERSION) 33 | #define OCAML_MTIME_POSIX 34 | #endif 35 | +#elif defined(_WIN32) 36 | +#define OCAML_MTIME_WINDOWS 37 | #endif 38 | 39 | /* Darwin */ 40 | @@ -123,6 +125,72 @@ 41 | CAMLreturn (some); 42 | } 43 | 44 | +#elif defined(OCAML_MTIME_WINDOWS) 45 | +#define WIN32_LEAN_AND_MEAN 46 | +#include 47 | + 48 | +static double performance_frequency; 49 | +static void set_performance_frequency(void) 50 | +{ 51 | + LARGE_INTEGER t_freq; 52 | + if (!QueryPerformanceFrequency(&t_freq)) { 53 | + OCAML_MTIME_RAISE_SYS_ERROR ("clock_gettime () failed"); 54 | + } 55 | + performance_frequency = (1000000000.0 / t_freq.QuadPart); 56 | +} 57 | + 58 | +CAMLprim value ocaml_mtime_clock_elapsed_ns (value unit) 59 | +{ 60 | + (void) unit; 61 | + static LARGE_INTEGER start; 62 | + if (performance_frequency == 0.0) { 63 | + set_performance_frequency(); 64 | + } 65 | + if ( start.QuadPart == 0 ) 66 | + { 67 | + if (!QueryPerformanceCounter(&start)) { 68 | + OCAML_MTIME_RAISE_SYS_ERROR ("clock_gettime () failed"); 69 | + } 70 | + } 71 | + static LARGE_INTEGER now; 72 | + if ( !QueryPerformanceCounter(&now)) { 73 | + OCAML_MTIME_RAISE_SYS_ERROR ("clock_gettime () failed"); 74 | + } 75 | + uint64_t ret = (now.QuadPart - start.QuadPart) * performance_frequency; 76 | + return caml_copy_int64(ret); 77 | +} 78 | + 79 | +CAMLprim value ocaml_mtime_clock_now_ns (value unit) 80 | +{ 81 | + (void) unit; 82 | + if (performance_frequency == 0.0) { 83 | + set_performance_frequency(); 84 | + } 85 | + static LARGE_INTEGER now; 86 | + if ( !QueryPerformanceCounter(&now)) { 87 | + OCAML_MTIME_RAISE_SYS_ERROR ("clock_gettime () failed"); 88 | + } 89 | + uint64_t ret = now.QuadPart * performance_frequency; 90 | + return caml_copy_int64(ret); 91 | +} 92 | + 93 | +CAMLprim value ocaml_mtime_clock_period_ns (value unit) 94 | +{ 95 | + (void) unit; 96 | + if (performance_frequency == 0.0) { 97 | + set_performance_frequency(); 98 | + } 99 | + if ( performance_frequency <= 0.0 ) { 100 | + return Val_none; 101 | + } 102 | + value ret; 103 | + value p = caml_copy_int64(performance_frequency); 104 | + Begin_roots1(p); 105 | + ret = caml_alloc_small(1,0); 106 | + Field(ret,0) = p; 107 | + End_roots(); 108 | + return ret; 109 | +} 110 | /* Unsupported */ 111 | 112 | #else 113 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__mtime_opam__c__1.2.0_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'windows' ? 'patch -p1 < mtime-1.2.0.patch' : 'true'}" 7 | ], 8 | [ 9 | "ocaml", 10 | "pkg/pkg.ml", 11 | "build", 12 | "--pinned", 13 | "false", 14 | "--with-js_of_ocaml", 15 | "false" 16 | ] 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch: -------------------------------------------------------------------------------- 1 | --- ./Makefile 2 | +++ ./Makefile 3 | @@ -213,7 +213,7 @@ 4 | rm -f man/ocamlbuild.1 5 | 6 | man/options_man.byte: src/ocamlbuild_pack.cmo 7 | - $(OCAMLC) $^ -I src man/options_man.ml -o man/options_man.byte 8 | + $(OCAMLC) -I +unix unix.cma $^ -I src man/options_man.ml -o man/options_man.byte 9 | 10 | clean:: 11 | rm -f man/options_man.cm* 12 | --- ./src/command.ml 13 | +++ ./src/command.ml 14 | @@ -148,9 +148,10 @@ 15 | let self = string_of_command_spec_with_calls call_with_tags call_with_target resolve_virtuals in 16 | let b = Buffer.create 256 in 17 | (* The best way to prevent bash from switching to its windows-style 18 | - * quote-handling is to prepend an empty string before the command name. *) 19 | + * quote-handling is to prepend an empty string before the command name. 20 | + * space seems to work, too - and the ouput is nicer *) 21 | if Sys.os_type = "Win32" then 22 | - Buffer.add_string b "''"; 23 | + Buffer.add_char b ' '; 24 | let first = ref true in 25 | let put_space () = 26 | if !first then 27 | @@ -260,7 +261,7 @@ 28 | 29 | let execute_many ?(quiet=false) ?(pretend=false) cmds = 30 | add_parallel_stat (List.length cmds); 31 | - let degraded = !*My_unix.is_degraded || Sys.os_type = "Win32" in 32 | + let degraded = !*My_unix.is_degraded in 33 | let jobs = !jobs in 34 | if jobs < 0 then invalid_arg "jobs < 0"; 35 | let max_jobs = if jobs = 0 then None else Some jobs in 36 | --- ./src/findlib.ml 37 | +++ ./src/findlib.ml 38 | @@ -66,9 +66,6 @@ 39 | (fun command -> lexer & Lexing.from_string & run_and_read command) 40 | command 41 | 42 | -let run_and_read command = 43 | - Printf.ksprintf run_and_read command 44 | - 45 | let rec query name = 46 | try 47 | Hashtbl.find packages name 48 | @@ -135,7 +132,8 @@ 49 | with Not_found -> s 50 | 51 | let list () = 52 | - List.map before_space (split_nl & run_and_read "%s list" ocamlfind) 53 | + let cmd = Shell.quote_filename_if_needed ocamlfind ^ " list" in 54 | + List.map before_space (split_nl & run_and_read cmd) 55 | 56 | (* The closure algorithm is easy because the dependencies are already closed 57 | and sorted for each package. We only have to make the union. We could also 58 | --- ./src/main.ml 59 | +++ ./src/main.ml 60 | @@ -162,6 +162,9 @@ 61 | Tags.mem "traverse" tags 62 | || List.exists (Pathname.is_prefix path_name) !Options.include_dirs 63 | || List.exists (Pathname.is_prefix path_name) target_dirs) 64 | + && ((* beware: !Options.build_dir is an absolute directory *) 65 | + Pathname.normalize !Options.build_dir 66 | + <> Pathname.normalize (Pathname.pwd/path_name)) 67 | end 68 | end 69 | end 70 | --- ./src/my_std.ml 71 | +++ ./src/my_std.ml 72 | @@ -271,13 +271,107 @@ 73 | try Array.iter (fun x -> if x = basename then raise Exit) a; false 74 | with Exit -> true 75 | 76 | +let command_plain = function 77 | +| [| |] -> 0 78 | +| margv -> 79 | + let rec waitpid a b = 80 | + match Unix.waitpid a b with 81 | + | exception (Unix.Unix_error(Unix.EINTR,_,_)) -> waitpid a b 82 | + | x -> x 83 | + in 84 | + let pid = Unix.(create_process margv.(0) margv stdin stdout stderr) in 85 | + let pid', process_status = waitpid [] pid in 86 | + assert (pid = pid'); 87 | + match process_status with 88 | + | Unix.WEXITED n -> n 89 | + | Unix.WSIGNALED _ -> 2 (* like OCaml's uncaught exceptions *) 90 | + | Unix.WSTOPPED _ -> 127 91 | + 92 | +(* can't use Lexers because of circular dependency *) 93 | +let split_path_win str = 94 | + let rec aux pos = 95 | + try 96 | + let i = String.index_from str pos ';' in 97 | + let len = i - pos in 98 | + if len = 0 then 99 | + aux (succ i) 100 | + else 101 | + String.sub str pos (i - pos) :: aux (succ i) 102 | + with Not_found | Invalid_argument _ -> 103 | + let len = String.length str - pos in 104 | + if len = 0 then [] else [String.sub str pos len] 105 | + in 106 | + aux 0 107 | + 108 | +let windows_shell = lazy begin 109 | + let rec iter = function 110 | + | [] -> [| "bash.exe" ; "--norc" ; "--noprofile" |] 111 | + | hd::tl -> 112 | + let dash = Filename.concat hd "dash.exe" in 113 | + if Sys.file_exists dash then [|dash|] else 114 | + let bash = Filename.concat hd "bash.exe" in 115 | + if Sys.file_exists bash = false then iter tl else 116 | + (* if sh.exe and bash.exe exist in the same dir, choose sh.exe *) 117 | + let sh = Filename.concat hd "sh.exe" in 118 | + if Sys.file_exists sh then [|sh|] else [|bash ; "--norc" ; "--noprofile"|] 119 | + in 120 | + split_path_win (try Sys.getenv "PATH" with Not_found -> "") |> iter 121 | +end 122 | + 123 | +let prep_windows_cmd cmd = 124 | + (* workaround known ocaml bug, remove later *) 125 | + if String.contains cmd '\t' && String.contains cmd ' ' = false then 126 | + " " ^ cmd 127 | + else 128 | + cmd 129 | + 130 | +let run_with_shell = function 131 | +| "" -> 0 132 | +| cmd -> 133 | + let cmd = prep_windows_cmd cmd in 134 | + let shell = Lazy.force windows_shell in 135 | + let qlen = Filename.quote cmd |> String.length in 136 | + (* old versions of dash had problems with bs *) 137 | + try 138 | + if qlen < 7_900 then 139 | + command_plain (Array.append shell [| "-ec" ; cmd |]) 140 | + else begin 141 | + (* it can still work, if the called command is a cygwin tool *) 142 | + let ch_closed = ref false in 143 | + let file_deleted = ref false in 144 | + let fln,ch = 145 | + Filename.open_temp_file 146 | + ~mode:[Open_binary] 147 | + "ocamlbuildtmp" 148 | + ".sh" 149 | + in 150 | + try 151 | + let f_slash = String.map ( fun x -> if x = '\\' then '/' else x ) fln in 152 | + output_string ch cmd; 153 | + ch_closed:= true; 154 | + close_out ch; 155 | + let ret = command_plain (Array.append shell [| "-e" ; f_slash |]) in 156 | + file_deleted:= true; 157 | + Sys.remove fln; 158 | + ret 159 | + with 160 | + | x -> 161 | + if !ch_closed = false then 162 | + close_out_noerr ch; 163 | + if !file_deleted = false then 164 | + (try Sys.remove fln with _ -> ()); 165 | + raise x 166 | + end 167 | + with 168 | + | (Unix.Unix_error _) as x -> 169 | + (* Sys.command doesn't raise an exception, so run_with_shell also won't 170 | + raise *) 171 | + Printexc.to_string x ^ ":" ^ cmd |> prerr_endline; 172 | + 1 173 | + 174 | let sys_command = 175 | - match Sys.os_type with 176 | - | "Win32" -> fun cmd -> 177 | - if cmd = "" then 0 else 178 | - let cmd = "bash --norc -c " ^ Filename.quote cmd in 179 | - Sys.command cmd 180 | - | _ -> fun cmd -> if cmd = "" then 0 else Sys.command cmd 181 | + if Sys.win32 then run_with_shell 182 | + else fun cmd -> if cmd = "" then 0 else Sys.command cmd 183 | 184 | (* FIXME warning fix and use Filename.concat *) 185 | let filename_concat x y = 186 | --- ./src/my_std.mli 187 | +++ ./src/my_std.mli 188 | @@ -69,3 +69,6 @@ 189 | 190 | val split_ocaml_version : (int * int * int * string) option 191 | (** (major, minor, patchlevel, rest) *) 192 | + 193 | +val windows_shell : string array Lazy.t 194 | +val prep_windows_cmd : string -> string 195 | --- ./src/ocamlbuild_executor.ml 196 | +++ ./src/ocamlbuild_executor.ml 197 | @@ -34,6 +34,8 @@ 198 | job_stdin : out_channel; 199 | job_stderr : in_channel; 200 | job_buffer : Buffer.t; 201 | + job_pid : int; 202 | + job_tmp_file: string option; 203 | mutable job_dying : bool; 204 | };; 205 | 206 | @@ -76,6 +78,61 @@ 207 | in 208 | loop 0 209 | ;; 210 | + 211 | +let open_process_full_win cmd env = 212 | + let (in_read, in_write) = Unix.pipe () in 213 | + let (out_read, out_write) = Unix.pipe () in 214 | + let (err_read, err_write) = Unix.pipe () in 215 | + Unix.set_close_on_exec in_read; 216 | + Unix.set_close_on_exec out_write; 217 | + Unix.set_close_on_exec err_read; 218 | + let inchan = Unix.in_channel_of_descr in_read in 219 | + let outchan = Unix.out_channel_of_descr out_write in 220 | + let errchan = Unix.in_channel_of_descr err_read in 221 | + let shell = Lazy.force Ocamlbuild_pack.My_std.windows_shell in 222 | + let test_cmd = 223 | + String.concat " " (List.map Filename.quote (Array.to_list shell)) ^ 224 | + "-ec " ^ 225 | + Filename.quote (Ocamlbuild_pack.My_std.prep_windows_cmd cmd) in 226 | + let argv,tmp_file = 227 | + if String.length test_cmd < 7_900 then 228 | + Array.append 229 | + shell 230 | + [| "-ec" ; Ocamlbuild_pack.My_std.prep_windows_cmd cmd |],None 231 | + else 232 | + let fln,ch = Filename.open_temp_file ~mode:[Open_binary] "ocamlbuild" ".sh" in 233 | + output_string ch (Ocamlbuild_pack.My_std.prep_windows_cmd cmd); 234 | + close_out ch; 235 | + let fln' = String.map (function '\\' -> '/' | c -> c) fln in 236 | + Array.append 237 | + shell 238 | + [| "-c" ; fln' |], Some fln in 239 | + let pid = 240 | + Unix.create_process_env argv.(0) argv env out_read in_write err_write in 241 | + Unix.close out_read; 242 | + Unix.close in_write; 243 | + Unix.close err_write; 244 | + (pid, inchan, outchan, errchan,tmp_file) 245 | + 246 | +let close_process_full_win (pid,inchan, outchan, errchan, tmp_file) = 247 | + let delete tmp_file = 248 | + match tmp_file with 249 | + | None -> () 250 | + | Some x -> try Sys.remove x with Sys_error _ -> () in 251 | + let tmp_file_deleted = ref false in 252 | + try 253 | + close_in inchan; 254 | + close_out outchan; 255 | + close_in errchan; 256 | + let res = snd(Unix.waitpid [] pid) in 257 | + tmp_file_deleted := true; 258 | + delete tmp_file; 259 | + res 260 | + with 261 | + | x when tmp_file <> None && !tmp_file_deleted = false -> 262 | + delete tmp_file; 263 | + raise x 264 | + 265 | (* ***) 266 | (*** execute *) 267 | (* XXX: Add test for non reentrancy *) 268 | @@ -130,10 +187,16 @@ 269 | (*** add_job *) 270 | let add_job cmd rest result id = 271 | (*display begin fun oc -> fp oc "Job %a is %s\n%!" print_job_id id cmd; end;*) 272 | - let (stdout', stdin', stderr') = open_process_full cmd env in 273 | + let (pid,stdout', stdin', stderr', tmp_file) = 274 | + if Sys.win32 then open_process_full_win cmd env else 275 | + let a,b,c = open_process_full cmd env in 276 | + -1,a,b,c,None 277 | + in 278 | incr jobs_active; 279 | - set_nonblock (doi stdout'); 280 | - set_nonblock (doi stderr'); 281 | + if not Sys.win32 then ( 282 | + set_nonblock (doi stdout'); 283 | + set_nonblock (doi stderr'); 284 | + ); 285 | let job = 286 | { job_id = id; 287 | job_command = cmd; 288 | @@ -143,7 +206,9 @@ 289 | job_stdin = stdin'; 290 | job_stderr = stderr'; 291 | job_buffer = Buffer.create 1024; 292 | - job_dying = false } 293 | + job_dying = false; 294 | + job_tmp_file = tmp_file; 295 | + job_pid = pid } 296 | in 297 | outputs := FDM.add (doi stdout') job (FDM.add (doi stderr') job !outputs); 298 | jobs := JS.add job !jobs; 299 | @@ -199,6 +264,7 @@ 300 | try 301 | read fd u 0 (Bytes.length u) 302 | with 303 | + | Unix.Unix_error(Unix.EPIPE,_,_) when Sys.win32 -> 0 304 | | Unix.Unix_error(e,_,_) -> 305 | let msg = error_message e in 306 | display (fun oc -> fp oc 307 | @@ -241,14 +307,19 @@ 308 | decr jobs_active; 309 | 310 | (* PR#5371: we would get EAGAIN below otherwise *) 311 | - clear_nonblock (doi job.job_stdout); 312 | - clear_nonblock (doi job.job_stderr); 313 | - 314 | + if not Sys.win32 then ( 315 | + clear_nonblock (doi job.job_stdout); 316 | + clear_nonblock (doi job.job_stderr); 317 | + ); 318 | do_read ~loop:true (doi job.job_stdout) job; 319 | do_read ~loop:true (doi job.job_stderr) job; 320 | outputs := FDM.remove (doi job.job_stdout) (FDM.remove (doi job.job_stderr) !outputs); 321 | jobs := JS.remove job !jobs; 322 | - let status = close_process_full (job.job_stdout, job.job_stdin, job.job_stderr) in 323 | + let status = 324 | + if Sys.win32 then 325 | + close_process_full_win (job.job_pid, job.job_stdout, job.job_stdin, job.job_stderr, job.job_tmp_file) 326 | + else 327 | + close_process_full (job.job_stdout, job.job_stdin, job.job_stderr) in 328 | 329 | let shown = ref false in 330 | 331 | --- ./src/ocamlbuild_unix_plugin.ml 332 | +++ ./src/ocamlbuild_unix_plugin.ml 333 | @@ -48,12 +48,22 @@ 334 | end 335 | 336 | let run_and_open s kont = 337 | + let s_orig = s in 338 | + let s = 339 | + (* Be consistent! My_unix.run_and_open uses My_std.sys_command and 340 | + sys_command uses bash. *) 341 | + if Sys.win32 = false then s else 342 | + let l = match Lazy.force My_std.windows_shell |> Array.to_list with 343 | + | hd::tl -> (Filename.quote hd)::tl 344 | + | _ -> assert false in 345 | + "\"" ^ (String.concat " " l) ^ " -ec " ^ Filename.quote (" " ^ s) ^ "\"" 346 | + in 347 | let ic = Unix.open_process_in s in 348 | let close () = 349 | match Unix.close_process_in ic with 350 | | Unix.WEXITED 0 -> () 351 | | Unix.WEXITED _ | Unix.WSIGNALED _ | Unix.WSTOPPED _ -> 352 | - failwith (Printf.sprintf "Error while running: %s" s) in 353 | + failwith (Printf.sprintf "Error while running: %s" s_orig) in 354 | let res = try 355 | kont ic 356 | with e -> (close (); raise e) 357 | --- ./src/options.ml 358 | +++ ./src/options.ml 359 | @@ -174,11 +174,24 @@ 360 | build_dir := Filename.concat (Sys.getcwd ()) s 361 | else 362 | build_dir := s 363 | + 364 | +let slashify = 365 | + if Sys.win32 then fun p -> String.map (function '\\' -> '/' | x -> x) p 366 | + else fun p ->p 367 | + 368 | +let sb () = 369 | + match Sys.os_type with 370 | + | "Win32" -> 371 | + (try set_binary_mode_out stdout true with _ -> ()); 372 | + | _ -> () 373 | + 374 | + 375 | let spec = ref ( 376 | let print_version () = 377 | + sb (); 378 | Printf.printf "ocamlbuild %s\n%!" Ocamlbuild_config.version; raise Exit_OK 379 | in 380 | - let print_vnum () = print_endline Ocamlbuild_config.version; raise Exit_OK in 381 | + let print_vnum () = sb (); print_endline Ocamlbuild_config.version; raise Exit_OK in 382 | Arg.align 383 | [ 384 | "-version", Unit print_version , " Display the version"; 385 | @@ -257,8 +270,8 @@ 386 | "-build-dir", String set_build_dir, " Set build directory (implies no-links)"; 387 | "-install-lib-dir", Set_string Ocamlbuild_where.libdir, " Set the install library directory"; 388 | "-install-bin-dir", Set_string Ocamlbuild_where.bindir, " Set the install binary directory"; 389 | - "-where", Unit (fun () -> print_endline !Ocamlbuild_where.libdir; raise Exit_OK), " Display the install library directory"; 390 | - "-which", String (fun cmd -> print_endline (find_tool cmd); raise Exit_OK), " Display path to the tool command"; 391 | + "-where", Unit (fun () -> sb (); print_endline (slashify !Ocamlbuild_where.libdir); raise Exit_OK), " Display the install library directory"; 392 | + "-which", String (fun cmd -> sb (); print_endline (slashify (find_tool cmd)); raise Exit_OK), " Display path to the tool command"; 393 | "-ocamlc", set_cmd ocamlc, " Set the OCaml bytecode compiler"; 394 | "-plugin-ocamlc", set_cmd plugin_ocamlc, " Set the OCaml bytecode compiler \ 395 | used when building myocamlbuild.ml (only)"; 396 | --- ./src/pathname.ml 397 | +++ ./src/pathname.ml 398 | @@ -84,6 +84,26 @@ 399 | | x :: xs -> x :: normalize_list xs 400 | 401 | let normalize x = 402 | + let x = 403 | + if Sys.win32 = false then 404 | + x 405 | + else 406 | + let len = String.length x in 407 | + let b = Bytes.create len in 408 | + for i = 0 to pred len do 409 | + match x.[i] with 410 | + | '\\' -> Bytes.set b i '/' 411 | + | c -> Bytes.set b i c 412 | + done; 413 | + if len > 1 then ( 414 | + let c1 = Bytes.get b 0 in 415 | + let c2 = Bytes.get b 1 in 416 | + if c2 = ':' && c1 >= 'a' && c1 <= 'z' && 417 | + ( len = 2 || Bytes.get b 2 = '/') then 418 | + Bytes.set b 0 (Char.uppercase_ascii c1) 419 | + ); 420 | + Bytes.unsafe_to_string b 421 | + in 422 | if Glob.eval not_normal_form_re x then 423 | let root, paths = split x in 424 | join root (normalize_list paths) 425 | --- ./src/shell.ml 426 | +++ ./src/shell.ml 427 | @@ -24,12 +24,26 @@ 428 | | 'a'..'z' | 'A'..'Z' | '0'..'9' | '.' | '-' | '/' | '_' | ':' | '@' | '+' | ',' -> loop (pos + 1) 429 | | _ -> false in 430 | loop 0 431 | + 432 | +let generic_quote quotequote s = 433 | + let l = String.length s in 434 | + let b = Buffer.create (l + 20) in 435 | + Buffer.add_char b '\''; 436 | + for i = 0 to l - 1 do 437 | + if s.[i] = '\'' 438 | + then Buffer.add_string b quotequote 439 | + else Buffer.add_char b s.[i] 440 | + done; 441 | + Buffer.add_char b '\''; 442 | + Buffer.contents b 443 | +let unix_quote = generic_quote "'\\''" 444 | + 445 | let quote_filename_if_needed s = 446 | if is_simple_filename s then s 447 | (* We should probably be using [Filename.unix_quote] except that function 448 | * isn't exported. Users on Windows will have to live with not being able to 449 | * install OCaml into c:\o'caml. Too bad. *) 450 | - else if Sys.os_type = "Win32" then Printf.sprintf "'%s'" s 451 | + else if Sys.os_type = "Win32" then unix_quote s 452 | else Filename.quote s 453 | let chdir dir = 454 | reset_filesys_cache (); 455 | @@ -37,7 +51,7 @@ 456 | let run args target = 457 | reset_readdir_cache (); 458 | let cmd = String.concat " " (List.map quote_filename_if_needed args) in 459 | - if !*My_unix.is_degraded || Sys.os_type = "Win32" then 460 | + if !*My_unix.is_degraded then 461 | begin 462 | Log.event cmd target Tags.empty; 463 | let st = sys_command cmd in 464 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'windows' ? 'patch -p1 < ocamlbuild-0.14.0.patch' : 'true'}" 7 | ], 8 | [ 9 | "make", 10 | "-f", 11 | "configure.make", 12 | "all", 13 | "OCAMLBUILD_PREFIX=#{self.install}", 14 | "OCAMLBUILD_BINDIR=#{self.bin}", 15 | "OCAMLBUILD_LIBDIR=#{self.lib}", 16 | "OCAMLBUILD_MANDIR=#{self.man}", 17 | "OCAMLBUILD_NATIVE=true", 18 | "OCAMLBUILD_NATIVE_TOOLS=true" 19 | ], 20 | [ 21 | "make", 22 | "check-if-preinstalled", 23 | "all", 24 | "#{os == 'windows' ? 'install' : 'opam-install'}" 25 | ] 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch: -------------------------------------------------------------------------------- 1 | --- ./Makefile 2 | +++ ./Makefile 3 | @@ -57,16 +57,16 @@ 4 | cat findlib.conf.in | \ 5 | $(SH) tools/patch '@SITELIB@' '$(OCAML_SITELIB)' >findlib.conf 6 | if ./tools/cmd_from_same_dir ocamlc; then \ 7 | - echo 'ocamlc="ocamlc.opt"' >>findlib.conf; \ 8 | + echo 'ocamlc="ocamlc.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ 9 | fi 10 | if ./tools/cmd_from_same_dir ocamlopt; then \ 11 | - echo 'ocamlopt="ocamlopt.opt"' >>findlib.conf; \ 12 | + echo 'ocamlopt="ocamlopt.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ 13 | fi 14 | if ./tools/cmd_from_same_dir ocamldep; then \ 15 | - echo 'ocamldep="ocamldep.opt"' >>findlib.conf; \ 16 | + echo 'ocamldep="ocamldep.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ 17 | fi 18 | if ./tools/cmd_from_same_dir ocamldoc; then \ 19 | - echo 'ocamldoc="ocamldoc.opt"' >>findlib.conf; \ 20 | + echo 'ocamldoc="ocamldoc.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ 21 | fi 22 | 23 | .PHONY: install-doc 24 | --- ./src/findlib/findlib_config.mlp 25 | +++ ./src/findlib/findlib_config.mlp 26 | @@ -24,3 +24,5 @@ 27 | | "MacOS" -> "" (* don't know *) 28 | | _ -> failwith "Unknown Sys.os_type" 29 | ;; 30 | + 31 | +let exec_suffix = "@EXEC_SUFFIX@";; 32 | --- ./src/findlib/findlib.ml 33 | +++ ./src/findlib/findlib.ml 34 | @@ -28,15 +28,20 @@ 35 | let conf_ldconf = ref "";; 36 | let conf_ignore_dups_in = ref ([] : string list);; 37 | 38 | -let ocamlc_default = "ocamlc";; 39 | -let ocamlopt_default = "ocamlopt";; 40 | -let ocamlcp_default = "ocamlcp";; 41 | -let ocamloptp_default = "ocamloptp";; 42 | -let ocamlmklib_default = "ocamlmklib";; 43 | -let ocamlmktop_default = "ocamlmktop";; 44 | -let ocamldep_default = "ocamldep";; 45 | -let ocamlbrowser_default = "ocamlbrowser";; 46 | -let ocamldoc_default = "ocamldoc";; 47 | +let add_exec str = 48 | + match Findlib_config.exec_suffix with 49 | + | "" -> str 50 | + | a -> str ^ a ;; 51 | +let ocamlc_default = add_exec "ocamlc";; 52 | +let ocamlopt_default = add_exec "ocamlopt";; 53 | +let ocamlcp_default = add_exec "ocamlcp";; 54 | +let ocamloptp_default = add_exec "ocamloptp";; 55 | +let ocamlmklib_default = add_exec "ocamlmklib";; 56 | +let ocamlmktop_default = add_exec "ocamlmktop";; 57 | +let ocamldep_default = add_exec "ocamldep";; 58 | +let ocamlbrowser_default = add_exec "ocamlbrowser";; 59 | +let ocamldoc_default = add_exec "ocamldoc";; 60 | + 61 | 62 | 63 | let init_manually 64 | --- ./src/findlib/fl_package_base.ml 65 | +++ ./src/findlib/fl_package_base.ml 66 | @@ -133,7 +133,15 @@ 67 | List.find (fun def -> def.def_var = "exists_if") p.package_defs in 68 | let files = Fl_split.in_words def.def_value in 69 | List.exists 70 | - (fun file -> Sys.file_exists (Filename.concat d' file)) 71 | + (fun file -> 72 | + let fln = Filename.concat d' file in 73 | + let e = Sys.file_exists fln in 74 | + (* necessary for ppx executables *) 75 | + if e || Sys.os_type <> "Win32" || Filename.check_suffix fln ".exe" then 76 | + e 77 | + else 78 | + Sys.file_exists (fln ^ ".exe") 79 | + ) 80 | files 81 | with Not_found -> true in 82 | 83 | --- ./src/findlib/fl_split.ml 84 | +++ ./src/findlib/fl_split.ml 85 | @@ -126,10 +126,17 @@ 86 | | '/' | '\\' -> true 87 | | _ -> false in 88 | let norm_dir_win() = 89 | - if l >= 1 && s.[0] = '/' then 90 | - Buffer.add_char b '\\' else Buffer.add_char b s.[0]; 91 | - if l >= 2 && s.[1] = '/' then 92 | - Buffer.add_char b '\\' else Buffer.add_char b s.[1]; 93 | + if l >= 1 then ( 94 | + if s.[0] = '/' then 95 | + Buffer.add_char b '\\' 96 | + else 97 | + Buffer.add_char b s.[0] ; 98 | + if l >= 2 then 99 | + if s.[1] = '/' then 100 | + Buffer.add_char b '\\' 101 | + else 102 | + Buffer.add_char b s.[1]; 103 | + ); 104 | for k = 2 to l - 1 do 105 | let c = s.[k] in 106 | if is_slash c then ( 107 | --- ./src/findlib/frontend.ml 108 | +++ ./src/findlib/frontend.ml 109 | @@ -31,10 +31,18 @@ 110 | else 111 | Sys_error (arg ^ ": " ^ Unix.error_message code) 112 | 113 | +let is_win = Sys.os_type = "Win32" 114 | + 115 | +let () = 116 | + match Findlib_config.system with 117 | + | "win32" | "win64" | "mingw" | "cygwin" | "mingw64" | "cygwin64" -> 118 | + (try set_binary_mode_out stdout true with _ -> ()); 119 | + (try set_binary_mode_out stderr true with _ -> ()); 120 | + | _ -> () 121 | 122 | let slashify s = 123 | match Findlib_config.system with 124 | - | "mingw" | "mingw64" | "cygwin" -> 125 | + | "win32" | "win64" | "mingw" | "cygwin" | "mingw64" | "cygwin64" -> 126 | let b = Buffer.create 80 in 127 | String.iter 128 | (function 129 | @@ -49,7 +57,7 @@ 130 | 131 | let out_path ?(prefix="") s = 132 | match Findlib_config.system with 133 | - | "mingw" | "mingw64" | "cygwin" -> 134 | + | "win32" | "win64" | "mingw" | "mingw64" | "cygwin" -> 135 | let u = slashify s in 136 | prefix ^ 137 | (if String.contains u ' ' then 138 | @@ -273,11 +281,9 @@ 139 | 140 | 141 | let identify_dir d = 142 | - match Sys.os_type with 143 | - | "Win32" -> 144 | - failwith "identify_dir" (* not available *) 145 | - | _ -> 146 | - let s = Unix.stat d in 147 | + if is_win then 148 | + failwith "identify_dir"; (* not available *) 149 | + let s = Unix.stat d in 150 | (s.Unix.st_dev, s.Unix.st_ino) 151 | ;; 152 | 153 | @@ -459,6 +465,96 @@ 154 | ) 155 | packages 156 | 157 | +let rewrite_cmd s = 158 | + if s = "" || not is_win then 159 | + s 160 | + else 161 | + let s = 162 | + let l = String.length s in 163 | + let b = Buffer.create l in 164 | + for i = 0 to pred l do 165 | + match s.[i] with 166 | + | '/' -> Buffer.add_char b '\\' 167 | + | x -> Buffer.add_char b x 168 | + done; 169 | + Buffer.contents b 170 | + in 171 | + if (Filename.is_implicit s && String.contains s '\\' = false) || 172 | + Filename.check_suffix (String.lowercase s) ".exe" then 173 | + s 174 | + else 175 | + let s' = s ^ ".exe" in 176 | + if Sys.file_exists s' then 177 | + s' 178 | + else 179 | + s 180 | + 181 | +let rewrite_cmd s = 182 | + if s = "" || not is_win then s else 183 | + let s = 184 | + let l = String.length s in 185 | + let b = Buffer.create l in 186 | + for i = 0 to pred l do 187 | + match s.[i] with 188 | + | '/' -> Buffer.add_char b '\\' 189 | + | x -> Buffer.add_char b x 190 | + done; 191 | + Buffer.contents b 192 | + in 193 | + if (Filename.is_implicit s && String.contains s '\\' = false) || 194 | + Filename.check_suffix (String.lowercase s) ".exe" then 195 | + s 196 | + else 197 | + let s' = s ^ ".exe" in 198 | + if Sys.file_exists s' then 199 | + s' 200 | + else 201 | + s 202 | + 203 | +let rewrite_pp cmd = 204 | + if not is_win then cmd else 205 | + let module T = struct exception Keep end in 206 | + let is_whitespace = function 207 | + | ' ' | '\011' | '\012' | '\n' | '\r' | '\t' -> true 208 | + | _ -> false in 209 | + (* characters that triggers special behaviour (cmd.exe, not unix shell) *) 210 | + let is_unsafe_char = function 211 | + | '(' | ')' | '%' | '!' | '^' | '<' | '>' | '&' -> true 212 | + | _ -> false in 213 | + let len = String.length cmd in 214 | + let buf = Buffer.create (len + 4) in 215 | + let buf_cmd = Buffer.create len in 216 | + let rec iter_ws i = 217 | + if i >= len then () else 218 | + let cur = cmd.[i] in 219 | + if is_whitespace cur then ( 220 | + Buffer.add_char buf cur; 221 | + iter_ws (succ i) 222 | + ) 223 | + else 224 | + iter_cmd i 225 | + and iter_cmd i = 226 | + if i >= len then add_buf_cmd () else 227 | + let cur = cmd.[i] in 228 | + if is_unsafe_char cur || cur = '"' || cur = '\'' then 229 | + raise T.Keep; 230 | + if is_whitespace cur then ( 231 | + add_buf_cmd (); 232 | + Buffer.add_substring buf cmd i (len - i) 233 | + ) 234 | + else ( 235 | + Buffer.add_char buf_cmd cur; 236 | + iter_cmd (succ i) 237 | + ) 238 | + and add_buf_cmd () = 239 | + if Buffer.length buf_cmd > 0 then 240 | + Buffer.add_string buf (rewrite_cmd (Buffer.contents buf_cmd)) 241 | + in 242 | + try 243 | + iter_ws 0; 244 | + Buffer.contents buf 245 | + with 246 | + | T.Keep -> cmd 247 | 248 | let process_pp_spec syntax_preds packages pp_opts = 249 | (* Returns: pp_command *) 250 | @@ -549,7 +645,7 @@ 251 | None -> [] 252 | | Some cmd -> 253 | ["-pp"; 254 | - cmd ^ " " ^ 255 | + (rewrite_cmd cmd) ^ " " ^ 256 | String.concat " " (List.map Filename.quote pp_i_options) ^ " " ^ 257 | String.concat " " (List.map Filename.quote pp_archives) ^ " " ^ 258 | String.concat " " (List.map Filename.quote pp_opts)] 259 | @@ -625,9 +721,11 @@ 260 | in 261 | try 262 | let preprocessor = 263 | + rewrite_cmd ( 264 | resolve_path 265 | ~base ~explicit:true 266 | - (package_property predicates pname "ppx") in 267 | + (package_property predicates pname "ppx") ) 268 | + in 269 | ["-ppx"; String.concat " " (preprocessor :: options)] 270 | with Not_found -> [] 271 | ) 272 | @@ -895,6 +993,14 @@ 273 | switch (e.g. -L instead of -L ) 274 | *) 275 | 276 | +(* We may need to remove files on which we do not have complete control. 277 | + On Windows, removing a read-only file fails so try to change the 278 | + mode of the file first. *) 279 | +let remove_file fname = 280 | + try Sys.remove fname 281 | + with Sys_error _ when is_win -> 282 | + (try Unix.chmod fname 0o666 with Unix.Unix_error _ -> ()); 283 | + Sys.remove fname 284 | 285 | let ocamlc which () = 286 | 287 | @@ -1022,9 +1128,12 @@ 288 | 289 | "-intf", 290 | Arg.String (fun s -> pass_files := !pass_files @ [ Intf(slashify s) ]); 291 | - 292 | + 293 | "-pp", 294 | - Arg.String (fun s -> pp_specified := true; add_spec_fn "-pp" s); 295 | + Arg.String (fun s -> pp_specified := true; add_spec_fn "-pp" (rewrite_pp s)); 296 | + 297 | + "-ppx", 298 | + Arg.String (fun s -> add_spec_fn "-ppx" (rewrite_pp s)); 299 | 300 | "-thread", 301 | Arg.Unit (fun _ -> threads := threads_default); 302 | @@ -1237,7 +1346,7 @@ 303 | with 304 | any -> 305 | close_out initl; 306 | - Sys.remove initl_file_name; 307 | + remove_file initl_file_name; 308 | raise any 309 | end; 310 | 311 | @@ -1245,9 +1354,9 @@ 312 | at_exit 313 | (fun () -> 314 | let tr f x = try f x with _ -> () in 315 | - tr Sys.remove initl_file_name; 316 | - tr Sys.remove (Filename.chop_extension initl_file_name ^ ".cmi"); 317 | - tr Sys.remove (Filename.chop_extension initl_file_name ^ ".cmo"); 318 | + tr remove_file initl_file_name; 319 | + tr remove_file (Filename.chop_extension initl_file_name ^ ".cmi"); 320 | + tr remove_file (Filename.chop_extension initl_file_name ^ ".cmo"); 321 | ); 322 | 323 | let exclude_list = [ stdlibdir; threads_dir; vmthreads_dir ] in 324 | @@ -1493,7 +1602,9 @@ 325 | [ "-v", Arg.Unit (fun () -> verbose := Verbose); 326 | "-pp", Arg.String (fun s -> 327 | pp_specified := true; 328 | - options := !options @ ["-pp"; s]); 329 | + options := !options @ ["-pp"; rewrite_pp s]); 330 | + "-ppx", Arg.String (fun s -> 331 | + options := !options @ ["-ppx"; rewrite_pp s]); 332 | ] 333 | ) 334 | ) 335 | @@ -1672,7 +1783,9 @@ 336 | Arg.String (fun s -> add_spec_fn "-I" (slashify (resolve_path s))); 337 | 338 | "-pp", Arg.String (fun s -> pp_specified := true; 339 | - add_spec_fn "-pp" s); 340 | + add_spec_fn "-pp" (rewrite_pp s)); 341 | + "-ppx", Arg.String (fun s -> add_spec_fn "-ppx" (rewrite_pp s)); 342 | + 343 | ] 344 | ) 345 | ) 346 | @@ -1830,7 +1943,10 @@ 347 | output_string ch_out append; 348 | close_out ch_out; 349 | close_in ch_in; 350 | - Unix.utimes outpath s.Unix.st_mtime s.Unix.st_mtime; 351 | + (try Unix.utimes outpath s.Unix.st_mtime s.Unix.st_mtime 352 | + with Unix.Unix_error(e,_,_) -> 353 | + prerr_endline("Warning: setting utimes for " ^ outpath 354 | + ^ ": " ^ Unix.error_message e)); 355 | 356 | prerr_endline("Installed " ^ outpath); 357 | with 358 | @@ -1882,6 +1998,8 @@ 359 | Unix.openfile (Filename.concat dir owner_file) [Unix.O_RDONLY] 0 in 360 | let f = 361 | Unix.in_channel_of_descr fd in 362 | + if is_win then 363 | + set_binary_mode_in f false; 364 | try 365 | let line = input_line f in 366 | let is_my_file = (line = pkg) in 367 | @@ -2208,7 +2326,7 @@ 368 | let lines = read_ldconf !ldconf in 369 | let dlldir_norm = Fl_split.norm_dir dlldir in 370 | let dlldir_norm_lc = string_lowercase_ascii dlldir_norm in 371 | - let ci_filesys = (Sys.os_type = "Win32") in 372 | + let ci_filesys = is_win in 373 | let check_dir d = 374 | let d' = Fl_split.norm_dir d in 375 | (d' = dlldir_norm) || 376 | @@ -2356,7 +2474,7 @@ 377 | List.iter 378 | (fun file -> 379 | let absfile = Filename.concat dlldir file in 380 | - Sys.remove absfile; 381 | + remove_file absfile; 382 | prerr_endline ("Removed " ^ absfile) 383 | ) 384 | dll_files 385 | @@ -2365,7 +2483,7 @@ 386 | (* Remove the files from the package directory: *) 387 | if Sys.file_exists pkgdir then begin 388 | let files = Sys.readdir pkgdir in 389 | - Array.iter (fun f -> Sys.remove (Filename.concat pkgdir f)) files; 390 | + Array.iter (fun f -> remove_file (Filename.concat pkgdir f)) files; 391 | Unix.rmdir pkgdir; 392 | prerr_endline ("Removed " ^ pkgdir) 393 | end 394 | @@ -2415,7 +2533,9 @@ 395 | 396 | 397 | let print_configuration() = 398 | + let sl = slashify in 399 | let dir s = 400 | + let s = sl s in 401 | if Sys.file_exists s then 402 | s 403 | else 404 | @@ -2453,27 +2573,27 @@ 405 | if md = "" then "the corresponding package directories" else dir md 406 | ); 407 | Printf.printf "The standard library is assumed to reside in:\n %s\n" 408 | - (Findlib.ocaml_stdlib()); 409 | + (sl (Findlib.ocaml_stdlib())); 410 | Printf.printf "The ld.conf file can be found here:\n %s\n" 411 | - (Findlib.ocaml_ldconf()); 412 | + (sl (Findlib.ocaml_ldconf())); 413 | flush stdout 414 | | Some "conf" -> 415 | - print_endline (Findlib.config_file()) 416 | + print_endline (sl (Findlib.config_file())) 417 | | Some "path" -> 418 | - List.iter print_endline (Findlib.search_path()) 419 | + List.iter ( fun x -> print_endline (sl x)) (Findlib.search_path()) 420 | | Some "destdir" -> 421 | - print_endline (Findlib.default_location()) 422 | + print_endline ( sl (Findlib.default_location())) 423 | | Some "metadir" -> 424 | - print_endline (Findlib.meta_directory()) 425 | + print_endline ( sl (Findlib.meta_directory())) 426 | | Some "metapath" -> 427 | let mdir = Findlib.meta_directory() in 428 | let ddir = Findlib.default_location() in 429 | - print_endline 430 | - (if mdir <> "" then mdir ^ "/META.%s" else ddir ^ "/%s/META") 431 | + print_endline ( sl 432 | + (if mdir <> "" then mdir ^ "/META.%s" else ddir ^ "/%s/META")) 433 | | Some "stdlib" -> 434 | - print_endline (Findlib.ocaml_stdlib()) 435 | + print_endline ( sl (Findlib.ocaml_stdlib())) 436 | | Some "ldconf" -> 437 | - print_endline (Findlib.ocaml_ldconf()) 438 | + print_endline ( sl (Findlib.ocaml_ldconf())) 439 | | _ -> 440 | assert false 441 | ;; 442 | @@ -2481,7 +2601,7 @@ 443 | 444 | let ocamlcall pkg cmd = 445 | let dir = package_directory pkg in 446 | - let path = Filename.concat dir cmd in 447 | + let path = rewrite_cmd (Filename.concat dir cmd) in 448 | begin 449 | try Unix.access path [ Unix.X_OK ] 450 | with 451 | @@ -2647,6 +2767,10 @@ 452 | | Sys_error f -> 453 | prerr_endline ("ocamlfind: " ^ f); 454 | exit 2 455 | + | Unix.Unix_error (e, fn, f) -> 456 | + prerr_endline ("ocamlfind: " ^ fn ^ " " ^ f 457 | + ^ ": " ^ Unix.error_message e); 458 | + exit 2 459 | | Findlib.No_such_package(pkg,info) -> 460 | prerr_endline ("ocamlfind: Package `" ^ pkg ^ "' not found" ^ 461 | (if info <> "" then " - " ^ info else "")); 462 | --- ./src/findlib/Makefile 463 | +++ ./src/findlib/Makefile 464 | @@ -90,6 +90,7 @@ 465 | cat findlib_config.mlp | \ 466 | $(SH) $(TOP)/tools/patch '@CONFIGFILE@' '$(OCAMLFIND_CONF)' | \ 467 | $(SH) $(TOP)/tools/patch '@STDLIB@' '$(OCAML_CORE_STDLIB)' | \ 468 | + $(SH) $(TOP)/tools/patch '@EXEC_SUFFIX@' '$(EXEC_SUFFIX)' | \ 469 | sed -e 's;@AUTOLINK@;$(OCAML_AUTOLINK);g' \ 470 | -e 's;@SYSTEM@;$(SYSTEM);g' \ 471 | >findlib_config.ml 472 | -------------------------------------------------------------------------------- /esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": [ 3 | [ 4 | "bash", 5 | "-c", 6 | "#{os == 'windows' ? 'patch -p1 < findlib-1.8.1.patch' : 'true'}" 7 | ], 8 | [ 9 | "./configure", 10 | "-bindir", 11 | "#{self.bin}", 12 | "-sitelib", 13 | "#{self.lib}", 14 | "-mandir", 15 | "#{self.man}", 16 | "-config", 17 | "#{self.lib}/findlib.conf", 18 | "-no-custom", 19 | "-no-topfind" 20 | ], 21 | [ 22 | "make", 23 | "all" 24 | ], 25 | [ 26 | "make", 27 | "opt" 28 | ] 29 | ], 30 | "install": [ 31 | [ 32 | "make", 33 | "install" 34 | ], 35 | [ 36 | "install", 37 | "-m", 38 | "0755", 39 | "ocaml-stub", 40 | "#{self.bin}/ocaml" 41 | ], 42 | [ 43 | "mkdir", 44 | "-p", 45 | "#{self.toplevel}" 46 | ], 47 | [ 48 | "install", 49 | "-m", 50 | "0644", 51 | "src/findlib/topfind", 52 | "#{self.toplevel}/topfind" 53 | ] 54 | ], 55 | "exportedEnv": { 56 | "OCAML_TOPLEVEL_PATH": { 57 | "val": "#{self.toplevel}", 58 | "scope": "global" 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reason-redis", 3 | "version": "0.0.0", 4 | "esy": { 5 | "build": "dune build -p reason-redis", 6 | "release": { 7 | "releasedBinaries": [ 8 | "ReasonRedisApp.exe" 9 | ] 10 | } 11 | }, 12 | "scripts": { 13 | "start": "esy x ReasonRedisApp.exe" 14 | }, 15 | "dependencies": { 16 | "@esy-ocaml/reason": "*", 17 | "@opam/dune": ">=1.6.0", 18 | "@opam/lwt": "^5.3.0", 19 | "@opam/opium": "rgrinberg/opium:opium.opam#29165400123c2d54da27d3e6edb3404374f532f9", 20 | "@opam/opium_kernel": "rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9", 21 | "@opam/redis": "0.4", 22 | "@opam/redis-lwt": "0.4", 23 | "ocaml": "~4.10.0" 24 | }, 25 | "devDependencies": { 26 | "ocaml": "~4.10.0", 27 | "refmterr": "*", 28 | "@opam/merlin": "*", 29 | "@opam/ocaml-lsp-server": "ocaml/ocaml-lsp:ocaml-lsp-server.opam" 30 | }, 31 | "resolutions": { 32 | "@opam/opium_kernel": { 33 | "source": "rgrinberg/opium:opium_kernel.opam#29165400123c2d54da27d3e6edb3404374f532f9", 34 | "override": { 35 | "dependencies": { 36 | "@opam/ppx_sexp_conv": "v0.14.0" 37 | } 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /reason-redis.opam: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EduardoRFS/examples-reason-redis/fb2a3baf7fbd3b498304af10626e8fa9da185d25/reason-redis.opam --------------------------------------------------------------------------------