Mirror: 🎩 A tiny but capable push & pull stream library for TypeScript and Flow
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add dune and esy

+2164 -10
+1
.gitignore
··· 21 21 lib/bs 22 22 *.mlast 23 23 *.mliast 24 + *.install 24 25 .vscode 25 26 .merlin 26 27 .bsb.lock
+1
dune-project
··· 1 + (lang dune 1.6)
+19
esy.json
··· 1 + { 2 + "name": "wonka", 3 + "version": "2.0.2", 4 + "esy": { 5 + "build": "dune build -p #{self.name}" 6 + }, 7 + "peerDependencies": { 8 + "ocaml": "^4.6.0" 9 + }, 10 + "dependencies": { 11 + "@opam/dune": "1.7.3", 12 + "@esy-ocaml/reason": "^3.3.7", 13 + "refmterr": "^3.1.0", 14 + "belt": "jaredly/belt" 15 + }, 16 + "devDependencies": { 17 + "ocaml": "~4.6.0" 18 + } 19 + }
+3
esy.lock/.gitattributes
··· 1 + 2 + # Set eol to LF so files aren't converted to CRLF-eol on Windows. 3 + * text eol=lf
+3
esy.lock/.gitignore
··· 1 + 2 + # Reset any possible .gitignore, we want all esy.lock to be un-ignored. 3 + !*
+495
esy.lock/index.json
··· 1 + { 2 + "checksum": "3ed365e73ef2448993c4438e4b6cc7d1", 3 + "root": "wonka@link-dev:./esy.json", 4 + "node": { 5 + "wonka@link-dev:./esy.json": { 6 + "id": "wonka@link-dev:./esy.json", 7 + "name": "wonka", 8 + "version": "link-dev:./esy.json", 9 + "source": { "type": "link-dev", "path": ".", "manifest": "esy.json" }, 10 + "overrides": [], 11 + "dependencies": [ 12 + "refmterr@3.1.10@d41d8cd9", "ocaml@4.6.10@d41d8cd9", 13 + "belt@github:jaredly/belt#4d07f859403fdbd3fbfc5a9547c6066d657a2131@d41d8cd9", 14 + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" 15 + ], 16 + "devDependencies": [ "ocaml@4.6.10@d41d8cd9" ] 17 + }, 18 + "refmterr@3.1.10@d41d8cd9": { 19 + "id": "refmterr@3.1.10@d41d8cd9", 20 + "name": "refmterr", 21 + "version": "3.1.10", 22 + "source": { 23 + "type": "install", 24 + "source": [ 25 + "archive:https://registry.npmjs.org/refmterr/-/refmterr-3.1.10.tgz#sha1:7c3e238022acb5de4e2254ab506d70eee13c0a46" 26 + ] 27 + }, 28 + "overrides": [], 29 + "dependencies": [ 30 + "ocaml@4.6.10@d41d8cd9", "@opam/re@opam:1.9.0@7f4a36a5", 31 + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" 32 + ], 33 + "devDependencies": [] 34 + }, 35 + "ocaml@4.6.10@d41d8cd9": { 36 + "id": "ocaml@4.6.10@d41d8cd9", 37 + "name": "ocaml", 38 + "version": "4.6.10", 39 + "source": { 40 + "type": "install", 41 + "source": [ 42 + "archive:https://registry.npmjs.org/ocaml/-/ocaml-4.6.10.tgz#sha1:33c67d0275dc1aeba25b11557192aefcd3cf0a6a" 43 + ] 44 + }, 45 + "overrides": [], 46 + "dependencies": [], 47 + "devDependencies": [] 48 + }, 49 + "belt@github:jaredly/belt#4d07f859403fdbd3fbfc5a9547c6066d657a2131@d41d8cd9": { 50 + "id": 51 + "belt@github:jaredly/belt#4d07f859403fdbd3fbfc5a9547c6066d657a2131@d41d8cd9", 52 + "name": "belt", 53 + "version": 54 + "github:jaredly/belt#4d07f859403fdbd3fbfc5a9547c6066d657a2131", 55 + "source": { 56 + "type": "install", 57 + "source": [ 58 + "github:jaredly/belt#4d07f859403fdbd3fbfc5a9547c6066d657a2131" 59 + ] 60 + }, 61 + "overrides": [], 62 + "dependencies": [ 63 + "ocaml@4.6.10@d41d8cd9", 64 + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", 65 + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", 66 + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" 67 + ], 68 + "devDependencies": [] 69 + }, 70 + "@opam/seq@opam:0.1@93954fa7": { 71 + "id": "@opam/seq@opam:0.1@93954fa7", 72 + "name": "@opam/seq", 73 + "version": "opam:0.1", 74 + "source": { 75 + "type": "install", 76 + "source": [ 77 + "archive:https://opam.ocaml.org/cache/md5/0e/0e87f9709541ed46ecb6f414bc31458c#md5:0e87f9709541ed46ecb6f414bc31458c", 78 + "archive:https://github.com/c-cube/seq/archive/0.1.tar.gz#md5:0e87f9709541ed46ecb6f414bc31458c" 79 + ], 80 + "opam": { 81 + "name": "seq", 82 + "version": "0.1", 83 + "path": "esy.lock/opam/seq.0.1" 84 + } 85 + }, 86 + "overrides": [], 87 + "dependencies": [ 88 + "ocaml@4.6.10@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", 89 + "@opam/ocamlbuild@opam:0.14.0@427a2331", 90 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 91 + ], 92 + "devDependencies": [ "ocaml@4.6.10@d41d8cd9" ] 93 + }, 94 + "@opam/result@opam:1.3@bee8bf2e": { 95 + "id": "@opam/result@opam:1.3@bee8bf2e", 96 + "name": "@opam/result", 97 + "version": "opam:1.3", 98 + "source": { 99 + "type": "install", 100 + "source": [ 101 + "archive:https://opam.ocaml.org/cache/md5/4b/4beebefd41f7f899b6eeba7414e7ae01#md5:4beebefd41f7f899b6eeba7414e7ae01", 102 + "archive:https://github.com/janestreet/result/releases/download/1.3/result-1.3.tbz#md5:4beebefd41f7f899b6eeba7414e7ae01" 103 + ], 104 + "opam": { 105 + "name": "result", 106 + "version": "1.3", 107 + "path": "esy.lock/opam/result.1.3" 108 + } 109 + }, 110 + "overrides": [], 111 + "dependencies": [ 112 + "ocaml@4.6.10@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", 113 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 114 + ], 115 + "devDependencies": [ "ocaml@4.6.10@d41d8cd9" ] 116 + }, 117 + "@opam/re@opam:1.9.0@7f4a36a5": { 118 + "id": "@opam/re@opam:1.9.0@7f4a36a5", 119 + "name": "@opam/re", 120 + "version": "opam:1.9.0", 121 + "source": { 122 + "type": "install", 123 + "source": [ 124 + "archive:https://opam.ocaml.org/cache/md5/bd/bddaed4f386a22cace7850c9c7dac296#md5:bddaed4f386a22cace7850c9c7dac296", 125 + "archive:https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz#md5:bddaed4f386a22cace7850c9c7dac296" 126 + ], 127 + "opam": { 128 + "name": "re", 129 + "version": "1.9.0", 130 + "path": "esy.lock/opam/re.1.9.0" 131 + } 132 + }, 133 + "overrides": [], 134 + "dependencies": [ 135 + "ocaml@4.6.10@d41d8cd9", "@opam/seq@opam:0.1@93954fa7", 136 + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" 137 + ], 138 + "devDependencies": [ 139 + "ocaml@4.6.10@d41d8cd9", "@opam/seq@opam:0.1@93954fa7" 140 + ] 141 + }, 142 + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765": { 143 + "id": "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", 144 + "name": "@opam/ppx_tools_versioned", 145 + "version": "opam:5.2.1", 146 + "source": { 147 + "type": "install", 148 + "source": [ 149 + "archive:https://opam.ocaml.org/cache/md5/1a/1ae6ae43ec161fbbf12c2b4d3a7e26f5#md5:1ae6ae43ec161fbbf12c2b4d3a7e26f5", 150 + "archive:https://github.com/ocaml-ppx/ppx_tools_versioned/archive/5.2.1.tar.gz#md5:1ae6ae43ec161fbbf12c2b4d3a7e26f5" 151 + ], 152 + "opam": { 153 + "name": "ppx_tools_versioned", 154 + "version": "5.2.1", 155 + "path": "esy.lock/opam/ppx_tools_versioned.5.2.1" 156 + } 157 + }, 158 + "overrides": [], 159 + "dependencies": [ 160 + "ocaml@4.6.10@d41d8cd9", 161 + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", 162 + "@opam/jbuilder@opam:transition@58bdfe0a", 163 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 164 + ], 165 + "devDependencies": [ 166 + "ocaml@4.6.10@d41d8cd9", 167 + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71" 168 + ] 169 + }, 170 + "@opam/ppx_derivers@opam:1.2.1@0b458500": { 171 + "id": "@opam/ppx_derivers@opam:1.2.1@0b458500", 172 + "name": "@opam/ppx_derivers", 173 + "version": "opam:1.2.1", 174 + "source": { 175 + "type": "install", 176 + "source": [ 177 + "archive:https://opam.ocaml.org/cache/md5/5d/5dc2bf130c1db3c731fe0fffc5648b41#md5:5dc2bf130c1db3c731fe0fffc5648b41", 178 + "archive:https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz#md5:5dc2bf130c1db3c731fe0fffc5648b41" 179 + ], 180 + "opam": { 181 + "name": "ppx_derivers", 182 + "version": "1.2.1", 183 + "path": "esy.lock/opam/ppx_derivers.1.2.1" 184 + } 185 + }, 186 + "overrides": [], 187 + "dependencies": [ 188 + "ocaml@4.6.10@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", 189 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 190 + ], 191 + "devDependencies": [ "ocaml@4.6.10@d41d8cd9" ] 192 + }, 193 + "@opam/ocamlfind@opam:1.8.0@f744a0c5": { 194 + "id": "@opam/ocamlfind@opam:1.8.0@f744a0c5", 195 + "name": "@opam/ocamlfind", 196 + "version": "opam:1.8.0", 197 + "source": { 198 + "type": "install", 199 + "source": [ 200 + "archive:https://opam.ocaml.org/cache/md5/a7/a710c559667672077a93d34eb6a42e5b#md5:a710c559667672077a93d34eb6a42e5b", 201 + "archive:http://download2.camlcity.org/download/findlib-1.8.0.tar.gz#md5:a710c559667672077a93d34eb6a42e5b", 202 + "archive:http://download.camlcity.org/download/findlib-1.8.0.tar.gz#md5:a710c559667672077a93d34eb6a42e5b" 203 + ], 204 + "opam": { 205 + "name": "ocamlfind", 206 + "version": "1.8.0", 207 + "path": "esy.lock/opam/ocamlfind.1.8.0" 208 + } 209 + }, 210 + "overrides": [ 211 + { 212 + "opamoverride": 213 + "esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override" 214 + } 215 + ], 216 + "dependencies": [ 217 + "ocaml@4.6.10@d41d8cd9", "@opam/conf-m4@opam:1@dd7dde42", 218 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 219 + ], 220 + "devDependencies": [ "ocaml@4.6.10@d41d8cd9" ] 221 + }, 222 + "@opam/ocamlbuild@opam:0.14.0@427a2331": { 223 + "id": "@opam/ocamlbuild@opam:0.14.0@427a2331", 224 + "name": "@opam/ocamlbuild", 225 + "version": "opam:0.14.0", 226 + "source": { 227 + "type": "install", 228 + "source": [ 229 + "archive:https://opam.ocaml.org/cache/sha256/87/87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78#sha256:87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78", 230 + "archive:https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz#sha256:87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78" 231 + ], 232 + "opam": { 233 + "name": "ocamlbuild", 234 + "version": "0.14.0", 235 + "path": "esy.lock/opam/ocamlbuild.0.14.0" 236 + } 237 + }, 238 + "overrides": [ 239 + { 240 + "opamoverride": 241 + "esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override" 242 + } 243 + ], 244 + "dependencies": [ 245 + "ocaml@4.6.10@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" 246 + ], 247 + "devDependencies": [ "ocaml@4.6.10@d41d8cd9" ] 248 + }, 249 + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71": { 250 + "id": "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", 251 + "name": "@opam/ocaml-migrate-parsetree", 252 + "version": "opam:1.2.0", 253 + "source": { 254 + "type": "install", 255 + "source": [ 256 + "archive:https://opam.ocaml.org/cache/md5/cc/cc6fb09ad6f99156c7dba47711c62c6f#md5:cc6fb09ad6f99156c7dba47711c62c6f", 257 + "archive:https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v1.2.0/ocaml-migrate-parsetree-v1.2.0.tbz#md5:cc6fb09ad6f99156c7dba47711c62c6f" 258 + ], 259 + "opam": { 260 + "name": "ocaml-migrate-parsetree", 261 + "version": "1.2.0", 262 + "path": "esy.lock/opam/ocaml-migrate-parsetree.1.2.0" 263 + } 264 + }, 265 + "overrides": [], 266 + "dependencies": [ 267 + "ocaml@4.6.10@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", 268 + "@opam/ppx_derivers@opam:1.2.1@0b458500", 269 + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" 270 + ], 271 + "devDependencies": [ 272 + "ocaml@4.6.10@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", 273 + "@opam/ppx_derivers@opam:1.2.1@0b458500" 274 + ] 275 + }, 276 + "@opam/merlin-extend@opam:0.3@0af73a50": { 277 + "id": "@opam/merlin-extend@opam:0.3@0af73a50", 278 + "name": "@opam/merlin-extend", 279 + "version": "opam:0.3", 280 + "source": { 281 + "type": "install", 282 + "source": [ 283 + "archive:https://opam.ocaml.org/cache/md5/9c/9c6dfd4f53328f02f12fcc265f4e2dda#md5:9c6dfd4f53328f02f12fcc265f4e2dda", 284 + "archive:https://github.com/let-def/merlin-extend/archive/v0.3.tar.gz#md5:9c6dfd4f53328f02f12fcc265f4e2dda" 285 + ], 286 + "opam": { 287 + "name": "merlin-extend", 288 + "version": "0.3", 289 + "path": "esy.lock/opam/merlin-extend.0.3" 290 + } 291 + }, 292 + "overrides": [ 293 + { 294 + "opamoverride": 295 + "esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override" 296 + } 297 + ], 298 + "dependencies": [ 299 + "ocaml@4.6.10@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", 300 + "@opam/cppo@opam:1.6.5@bec3dbd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" 301 + ], 302 + "devDependencies": [ "ocaml@4.6.10@d41d8cd9" ] 303 + }, 304 + "@opam/menhir@opam:20181113@0c8257a8": { 305 + "id": "@opam/menhir@opam:20181113@0c8257a8", 306 + "name": "@opam/menhir", 307 + "version": "opam:20181113", 308 + "source": { 309 + "type": "install", 310 + "source": [ 311 + "archive:https://opam.ocaml.org/cache/md5/69/69ce441a06ea131cd43e7b44c4303f3c#md5:69ce441a06ea131cd43e7b44c4303f3c", 312 + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20181113/archive.tar.gz#md5:69ce441a06ea131cd43e7b44c4303f3c" 313 + ], 314 + "opam": { 315 + "name": "menhir", 316 + "version": "20181113", 317 + "path": "esy.lock/opam/menhir.20181113" 318 + } 319 + }, 320 + "overrides": [], 321 + "dependencies": [ 322 + "ocaml@4.6.10@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", 323 + "@opam/ocamlbuild@opam:0.14.0@427a2331", 324 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 325 + ], 326 + "devDependencies": [ "ocaml@4.6.10@d41d8cd9" ] 327 + }, 328 + "@opam/jbuilder@opam:transition@58bdfe0a": { 329 + "id": "@opam/jbuilder@opam:transition@58bdfe0a", 330 + "name": "@opam/jbuilder", 331 + "version": "opam:transition", 332 + "source": { 333 + "type": "install", 334 + "source": [ "no-source:" ], 335 + "opam": { 336 + "name": "jbuilder", 337 + "version": "transition", 338 + "path": "esy.lock/opam/jbuilder.transition" 339 + } 340 + }, 341 + "overrides": [], 342 + "dependencies": [ 343 + "ocaml@4.6.10@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", 344 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 345 + ], 346 + "devDependencies": [ 347 + "ocaml@4.6.10@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784" 348 + ] 349 + }, 350 + "@opam/dune@opam:1.7.3@72aad784": { 351 + "id": "@opam/dune@opam:1.7.3@72aad784", 352 + "name": "@opam/dune", 353 + "version": "opam:1.7.3", 354 + "source": { 355 + "type": "install", 356 + "source": [ 357 + "archive:https://opam.ocaml.org/cache/md5/64/644f0c1419d70b9daccac4b4e5664523#md5:644f0c1419d70b9daccac4b4e5664523", 358 + "archive:https://github.com/ocaml/dune/releases/download/1.7.3/dune-1.7.3.tbz#md5:644f0c1419d70b9daccac4b4e5664523" 359 + ], 360 + "opam": { 361 + "name": "dune", 362 + "version": "1.7.3", 363 + "path": "esy.lock/opam/dune.1.7.3" 364 + } 365 + }, 366 + "overrides": [ 367 + { 368 + "opamoverride": 369 + "esy.lock/overrides/opam__s__dune_opam__c__1.7.3_opam_override" 370 + } 371 + ], 372 + "dependencies": [ 373 + "ocaml@4.6.10@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", 374 + "@opam/base-threads@opam:base@36803084", 375 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 376 + ], 377 + "devDependencies": [ 378 + "ocaml@4.6.10@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", 379 + "@opam/base-threads@opam:base@36803084" 380 + ] 381 + }, 382 + "@opam/cppo@opam:1.6.5@bec3dbd9": { 383 + "id": "@opam/cppo@opam:1.6.5@bec3dbd9", 384 + "name": "@opam/cppo", 385 + "version": "opam:1.6.5", 386 + "source": { 387 + "type": "install", 388 + "source": [ 389 + "archive:https://opam.ocaml.org/cache/md5/1c/1cd25741d31417995b0973fe0b6f6c82#md5:1cd25741d31417995b0973fe0b6f6c82", 390 + "archive:https://github.com/mjambon/cppo/archive/v1.6.5.tar.gz#md5:1cd25741d31417995b0973fe0b6f6c82" 391 + ], 392 + "opam": { 393 + "name": "cppo", 394 + "version": "1.6.5", 395 + "path": "esy.lock/opam/cppo.1.6.5" 396 + } 397 + }, 398 + "overrides": [], 399 + "dependencies": [ 400 + "ocaml@4.6.10@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", 401 + "@opam/base-unix@opam:base@87d0b2eb", 402 + "@esy-ocaml/substs@0.0.1@d41d8cd9" 403 + ], 404 + "devDependencies": [ 405 + "ocaml@4.6.10@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb" 406 + ] 407 + }, 408 + "@opam/conf-m4@opam:1@dd7dde42": { 409 + "id": "@opam/conf-m4@opam:1@dd7dde42", 410 + "name": "@opam/conf-m4", 411 + "version": "opam:1", 412 + "source": { 413 + "type": "install", 414 + "source": [ "no-source:" ], 415 + "opam": { 416 + "name": "conf-m4", 417 + "version": "1", 418 + "path": "esy.lock/opam/conf-m4.1" 419 + } 420 + }, 421 + "overrides": [], 422 + "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], 423 + "devDependencies": [] 424 + }, 425 + "@opam/base-unix@opam:base@87d0b2eb": { 426 + "id": "@opam/base-unix@opam:base@87d0b2eb", 427 + "name": "@opam/base-unix", 428 + "version": "opam:base", 429 + "source": { 430 + "type": "install", 431 + "source": [ "no-source:" ], 432 + "opam": { 433 + "name": "base-unix", 434 + "version": "base", 435 + "path": "esy.lock/opam/base-unix.base" 436 + } 437 + }, 438 + "overrides": [], 439 + "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], 440 + "devDependencies": [] 441 + }, 442 + "@opam/base-threads@opam:base@36803084": { 443 + "id": "@opam/base-threads@opam:base@36803084", 444 + "name": "@opam/base-threads", 445 + "version": "opam:base", 446 + "source": { 447 + "type": "install", 448 + "source": [ "no-source:" ], 449 + "opam": { 450 + "name": "base-threads", 451 + "version": "base", 452 + "path": "esy.lock/opam/base-threads.base" 453 + } 454 + }, 455 + "overrides": [], 456 + "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], 457 + "devDependencies": [] 458 + }, 459 + "@esy-ocaml/substs@0.0.1@d41d8cd9": { 460 + "id": "@esy-ocaml/substs@0.0.1@d41d8cd9", 461 + "name": "@esy-ocaml/substs", 462 + "version": "0.0.1", 463 + "source": { 464 + "type": "install", 465 + "source": [ 466 + "archive:https://registry.npmjs.org/@esy-ocaml/substs/-/substs-0.0.1.tgz#sha1:59ebdbbaedcda123fc7ed8fb2b302b7d819e9a46" 467 + ] 468 + }, 469 + "overrides": [], 470 + "dependencies": [], 471 + "devDependencies": [] 472 + }, 473 + "@esy-ocaml/reason@3.4.0@d41d8cd9": { 474 + "id": "@esy-ocaml/reason@3.4.0@d41d8cd9", 475 + "name": "@esy-ocaml/reason", 476 + "version": "3.4.0", 477 + "source": { 478 + "type": "install", 479 + "source": [ 480 + "archive:https://registry.npmjs.org/@esy-ocaml/reason/-/reason-3.4.0.tgz#sha1:8c84c183a95d489a3e82ff0465effe4b56ff12af" 481 + ] 482 + }, 483 + "overrides": [], 484 + "dependencies": [ 485 + "ocaml@4.6.10@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", 486 + "@opam/ocamlfind@opam:1.8.0@f744a0c5", 487 + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", 488 + "@opam/merlin-extend@opam:0.3@0af73a50", 489 + "@opam/menhir@opam:20181113@0c8257a8", 490 + "@opam/dune@opam:1.7.3@72aad784" 491 + ], 492 + "devDependencies": [] 493 + } 494 + } 495 + }
+6
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 +
+6
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 +
+23
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" 7 + build: [["sh" "-exc" "echo | m4"]] 8 + depexts: [ 9 + ["m4"] {os-distribution = "debian"} 10 + ["m4"] {os-distribution = "ubuntu"} 11 + ["m4"] {os-distribution = "fedora"} 12 + ["m4"] {os-distribution = "rhel"} 13 + ["m4"] {os-distribution = "centos"} 14 + ["m4"] {os-distribution = "alpine"} 15 + ["m4"] {os-distribution = "nixos"} 16 + ["m4"] {os-family = "suse"} 17 + ["m4"] {os-distribution = "ol"} 18 + ["m4"] {os-distribution = "arch"} 19 + ] 20 + synopsis: "Virtual package relying on m4" 21 + description: 22 + "This package can only install if the m4 binary is installed on the system." 23 + flags: conf
+23
esy.lock/opam/cppo.1.6.5/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "martin@mjambon.com" 3 + authors: ["Martin Jambon"] 4 + homepage: "https://github.com/mjambon/cppo" 5 + dev-repo: "git+https://github.com/mjambon/cppo.git" 6 + bug-reports: "https://github.com/mjambon/cppo/issues" 7 + license: "BSD-3-Clause" 8 + 9 + build: [ 10 + ["jbuilder" "subst" "-p" name] {pinned} 11 + ["jbuilder" "build" "-p" name "-j" jobs] 12 + ["jbuilder" "runtest" "-p" name] {with-test} 13 + ] 14 + depends: [ 15 + "ocaml" 16 + "jbuilder" {build & >= "1.0+beta17"} 17 + "base-unix" 18 + ] 19 + synopsis: "Equivalent of the C preprocessor for OCaml programs" 20 + url { 21 + src: "https://github.com/mjambon/cppo/archive/v1.6.5.tar.gz" 22 + checksum: "md5=1cd25741d31417995b0973fe0b6f6c82" 23 + }
+47
esy.lock/opam/dune.1.7.3/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "opensource@janestreet.com" 3 + authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] 4 + homepage: "https://github.com/ocaml/dune" 5 + bug-reports: "https://github.com/ocaml/dune/issues" 6 + dev-repo: "git+https://github.com/ocaml/dune.git" 7 + license: "MIT" 8 + depends: [ 9 + "ocaml" {>= "4.02"} 10 + "base-unix" 11 + "base-threads" 12 + ] 13 + build: [ 14 + # opam 2 sets OPAM_SWITCH_PREFIX, so we don't need a hardcoded path 15 + ["ocaml" "configure.ml" "--libdir" lib] {opam-version < "2"} 16 + ["ocaml" "bootstrap.ml"] 17 + ["./boot.exe" "--release" "--subst"] {pinned} 18 + ["./boot.exe" "--release" "-j" jobs] 19 + ] 20 + conflicts: [ 21 + "jbuilder" {!= "transition"} 22 + "odoc" {< "1.3.0"} 23 + ] 24 + 25 + synopsis: "Fast, portable and opinionated build system" 26 + description: """ 27 + dune is a build system that was designed to simplify the release of 28 + Jane Street packages. It reads metadata from "dune" files following a 29 + very simple s-expression syntax. 30 + 31 + dune is fast, it has very low-overhead and support parallel builds on 32 + all platforms. It has no system dependencies, all you need to build 33 + dune and packages using dune is OCaml. You don't need or make or bash 34 + as long as the packages themselves don't use bash explicitly. 35 + 36 + dune supports multi-package development by simply dropping multiple 37 + repositories into the same directory. 38 + 39 + It also supports multi-context builds, such as building against 40 + several opam roots/switches simultaneously. This helps maintaining 41 + packages across several versions of OCaml and gives cross-compilation 42 + for free. 43 + """ 44 + url { 45 + src: "https://github.com/ocaml/dune/releases/download/1.7.3/dune-1.7.3.tbz" 46 + checksum: "md5=644f0c1419d70b9daccac4b4e5664523" 47 + }
+15
esy.lock/opam/jbuilder.transition/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "opensource@janestreet.com" 3 + authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] 4 + homepage: "https://github.com/ocaml/dune" 5 + bug-reports: "https://github.com/ocaml/dune/issues" 6 + dev-repo: "git+https://github.com/ocaml/dune.git" 7 + license: "MIT" 8 + depends: ["ocaml" "dune"] 9 + post-messages: [ 10 + "Jbuilder has been renamed and the jbuilder package is now a transition \ 11 + package. Use the dune package instead." 12 + ] 13 + synopsis: 14 + "This is a transition package, jbuilder is now named dune. Use the dune" 15 + description: "package instead."
+32
esy.lock/opam/menhir.20181113/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "francois.pottier@inria.fr" 3 + authors: [ 4 + "François Pottier <francois.pottier@inria.fr>" 5 + "Yann Régis-Gianas <yrg@pps.univ-paris-diderot.fr>" 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 + [make "-f" "Makefile" "PREFIX=%{prefix}%" "USE_OCAMLFIND=true" "docdir=%{doc}%/menhir" "libdir=%{lib}%/menhir" "mandir=%{man}%/man1"] 12 + ] 13 + install: [ 14 + [make "-f" "Makefile" "install" "PREFIX=%{prefix}%" "docdir=%{doc}%/menhir" "libdir=%{lib}%/menhir" "mandir=%{man}%/man1"] 15 + ] 16 + remove: [ 17 + [make "-f" "Makefile" "uninstall" "PREFIX=%{prefix}%" "docdir=%{doc}%/menhir" "libdir=%{lib}%/menhir" "mandir=%{man}%/man1"] 18 + ] 19 + depends: [ 20 + "ocaml" {>= "4.02"} 21 + "ocamlfind" {build} 22 + "ocamlbuild" {build} 23 + ] 24 + synopsis: "An LR(1) parser generator" 25 + url { 26 + src: 27 + "https://gitlab.inria.fr/fpottier/menhir/repository/20181113/archive.tar.gz" 28 + checksum: [ 29 + "md5=69ce441a06ea131cd43e7b44c4303f3c" 30 + "sha512=4ddefcd71d305bfb933a4056da57e36c13c99ec6dfcc4695814798fbbd78b4d65828381ebcb0e58c4c0394105ac763af3d475474e05e408f7080315bc3cf6176" 31 + ] 32 + }
+24
esy.lock/opam/merlin-extend.0.3/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "Frederic Bour <frederic.bour@lakaban.net>" 3 + authors: "Frederic Bour <frederic.bour@lakaban.net>" 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: [make] 9 + install: [make "install"] 10 + remove: ["ocamlfind" "remove" "merlin_extend"] 11 + depends: [ 12 + "ocaml" {>= "4.02.3" & < "4.08.0"} 13 + "ocamlfind" {build} 14 + "cppo" {build} 15 + ] 16 + synopsis: "A protocol to provide custom frontend to Merlin" 17 + description: """ 18 + This protocol allows to replace the OCaml frontend of Merlin. 19 + It extends what used to be done with the `-pp' flag to handle a few more cases.""" 20 + flags: light-uninstall 21 + url { 22 + src: "https://github.com/let-def/merlin-extend/archive/v0.3.tar.gz" 23 + checksum: "md5=9c6dfd4f53328f02f12fcc265f4e2dda" 24 + }
+34
esy.lock/opam/ocaml-migrate-parsetree.1.2.0/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "frederic.bour@lakaban.net" 3 + authors: [ 4 + "Frédéric Bour <frederic.bour@lakaban.net>" 5 + "Jérémie Dimino <jeremie@dimino.org>" 6 + ] 7 + license: "LGPL-2.1" 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" {build & >= "1.6.0"} 20 + "ocaml" {>= "4.02.3" & < "4.08.0"} 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.2.0/ocaml-migrate-parsetree-v1.2.0.tbz" 33 + checksum: "md5=cc6fb09ad6f99156c7dba47711c62c6f" 34 + }
+36
esy.lock/opam/ocamlbuild.0.14.0/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "Gabriel Scherer <gabriel.scherer@gmail.com>" 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 with OCaml 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 + }
+19
esy.lock/opam/ocamlfind.1.8.0/files/no-awk-check.patch
··· 1 + commit 40142bc941e6e308686e86be6fc2da92f346a22f 2 + Author: Kate <kit.ty.kate@disroot.org> 3 + Date: Tue Mar 19 16:29:06 2019 +0000 4 + 5 + Remove awk from the set of checked unix tools as it's not used anywhere 6 + 7 + diff --git a/configure b/configure 8 + index d9b587c..20e8dca 100755 9 + --- a/configure 10 + +++ b/configure 11 + @@ -184,7 +184,7 @@ echo "Configuring core..." 12 + 13 + # Some standard Unix tools must be available: 14 + 15 + -for tool in sed awk ocaml ocamlc uname rm make cat m4 dirname basename; do 16 + +for tool in sed ocaml ocamlc uname rm make cat m4 dirname basename; do 17 + if in_path $tool; then true; else 18 + echo "configure: $tool not in PATH; this is required" 1>&2 19 + exit 1
+4
esy.lock/opam/ocamlfind.1.8.0/files/ocaml-stub
··· 1 + #!/bin/sh 2 + 3 + BINDIR=$(dirname "$(command -v ocamlc)") 4 + "$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@"
+6
esy.lock/opam/ocamlfind.1.8.0/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"]
+68
esy.lock/opam/ocamlfind.1.8.0/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "Thomas Gazagnaire <thomas@gazagnaire.org>" 3 + homepage: "http://projects.camlcity.org/projects/findlib.html" 4 + bug-reports: "https://gitlab.camlcity.org/gerd/lib-findlib/issues" 5 + dev-repo: "git+https://gitlab.camlcity.org/gerd/lib-findlib.git" 6 + patches: ["no-awk-check.patch"] 7 + build: [ 8 + [ 9 + "./configure" 10 + "-bindir" 11 + bin 12 + "-sitelib" 13 + lib 14 + "-mandir" 15 + man 16 + "-config" 17 + "%{lib}%/findlib.conf" 18 + "-no-custom" 19 + "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} 20 + "-no-topfind" {ocaml:preinstalled} 21 + ] 22 + [make "all"] 23 + [make "opt"] {ocaml:native} 24 + ] 25 + install: [ 26 + [make "install"] 27 + ["install" "-m" "0755" "ocaml-stub" "%{bin}%/ocaml"] {ocaml:preinstalled} 28 + ] 29 + remove: [ 30 + ["ocamlfind" "remove" "bytes"] 31 + [ 32 + "./configure" 33 + "-bindir" 34 + bin 35 + "-sitelib" 36 + lib 37 + "-mandir" 38 + man 39 + "-config" 40 + "%{lib}%/findlib.conf" 41 + "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} 42 + "-no-topfind" {ocaml:preinstalled} 43 + ] 44 + [make "uninstall"] 45 + ["rm" "-f" "%{bin}%/ocaml"] {ocaml:preinstalled} 46 + ] 47 + depends: [ 48 + "ocaml" {>= "4.00.0"} 49 + "conf-m4" {build} 50 + ] 51 + synopsis: "A library manager for OCaml" 52 + description: """ 53 + Findlib is a library manager for OCaml. It provides a convention how 54 + to store libraries, and a file format ("META") to describe the 55 + properties of libraries. There is also a tool (ocamlfind) for 56 + interpreting the META files, so that it is very easy to use libraries 57 + in programs and scripts.""" 58 + authors: "Gerd Stolpmann <gerd@gerd-stolpmann.de>" 59 + extra-files: [ 60 + ["ocamlfind.install" "md5=06f2c282ab52d93aa6adeeadd82a2543"] 61 + ["ocaml-stub" "md5=181f259c9e0bad9ef523e7d4abfdf87a"] 62 + ["no-awk-check.patch" "md5=0378123bf1a45fccdea434c053ddb687"] 63 + ] 64 + url { 65 + src: "http://download.camlcity.org/download/findlib-1.8.0.tar.gz" 66 + checksum: "md5=a710c559667672077a93d34eb6a42e5b" 67 + mirrors: "http://download2.camlcity.org/download/findlib-1.8.0.tar.gz" 68 + }
+23
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: "BSD3" 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" {build} 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 + }
+27
esy.lock/opam/ppx_tools_versioned.5.2.1/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "frederic.bour@lakaban.net" 3 + authors: [ 4 + "Frédéric Bour <frederic.bour@lakaban.net>" 5 + "Alain Frisch <alain.frisch@lexifi.com>" 6 + ] 7 + license: "MIT" 8 + homepage: "https://github.com/let-def/ppx_tools_versioned" 9 + bug-reports: "https://github.com/let-def/ppx_tools_versioned/issues" 10 + dev-repo: "git://github.com/let-def/ppx_tools_versioned.git" 11 + tags: [ "syntax" ] 12 + build: [ 13 + ["jbuilder" "subst" "-p" name] {pinned} 14 + ["jbuilder" "build" "-p" name "-j" jobs] 15 + ["jbuilder" "runtest" "-p" name "-j" jobs] {with-test} 16 + ] 17 + depends: [ 18 + "ocaml" {>= "4.02.0"} 19 + "jbuilder" {build & >= "1.0+beta17"} 20 + "ocaml-migrate-parsetree" {>= "1.0.10" & < "1.3.0"} 21 + ] 22 + synopsis: "A variant of ppx_tools based on ocaml-migrate-parsetree" 23 + url { 24 + src: 25 + "https://github.com/ocaml-ppx/ppx_tools_versioned/archive/5.2.1.tar.gz" 26 + checksum: "md5=1ae6ae43ec161fbbf12c2b4d3a7e26f5" 27 + }
+42
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 with OCaml 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" {build} 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 + }
+22
esy.lock/opam/result.1.3/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "opensource@janestreet.com" 3 + authors: ["Jane Street Group, LLC <opensource@janestreet.com>"] 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: "BSD3" 8 + build: [["jbuilder" "build" "-p" name "-j" jobs]] 9 + depends: [ 10 + "ocaml" 11 + "jbuilder" {build & >= "1.0+beta11"} 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.3/result-1.3.tbz" 21 + checksum: "md5=4beebefd41f7f899b6eeba7414e7ae01" 22 + }
+23
esy.lock/opam/seq.0.1/opam
··· 1 + opam-version: "2.0" 2 + maintainer: "simon.cruanes.2007@m4x.org" 3 + authors: "Simon Cruanes" 4 + homepage: "https://github.com/c-cube/seq/" 5 + bug-reports: "https://github.com/c-cube/seq/issues" 6 + license: "GPL" 7 + tags: ["iterator" "seq" "pure" "list" "compatibility" "cascade"] 8 + dev-repo: "git+https://github.com/c-cube/seq.git" 9 + build: [make "build"] 10 + install: [make "install"] 11 + remove: [ "ocamlfind" "remove" "seq" ] 12 + depends: [ 13 + "ocaml" {< "4.07.0"} 14 + "ocamlfind" {build} 15 + "ocamlbuild" {build} 16 + ] 17 + synopsis: 18 + "Compatibility package for OCaml's standard iterator type starting from 4.07." 19 + flags: light-uninstall 20 + url { 21 + src: "https://github.com/c-cube/seq/archive/0.1.tar.gz" 22 + checksum: "md5=0e87f9709541ed46ecb6f414bc31458c" 23 + }
+14
esy.lock/overrides/opam__s__dune_opam__c__1.7.3_opam_override/package.json
··· 1 + { 2 + "build": [ 3 + [ 4 + "ocaml", 5 + "bootstrap.ml" 6 + ], 7 + [ 8 + "./boot.exe", 9 + "--release", 10 + "-j", 11 + "4" 12 + ] 13 + ] 14 + }
+34
esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix-4.2.3007.patch
··· 1 + --- ./extend_helper.ml 2 + +++ ./extend_helper.ml 3 + @@ -1,13 +1,6 @@ 4 + -(*pp cppo -V OCAML:`ocamlc -version` *) 5 + open Parsetree 6 + open Extend_protocol 7 + 8 + -#if OCAML_VERSION < (4, 3, 0) 9 + -# define CONST_STRING Asttypes.Const_string 10 + -#else 11 + -# define CONST_STRING Parsetree.Pconst_string 12 + -#endif 13 + - 14 + (** Default implementation for [Reader_def.print_outcome] using 15 + [Oprint] from compiler-libs *) 16 + let print_outcome_using_oprint ppf = function 17 + @@ -28,7 +21,7 @@ 18 + pstr_loc = Location.none; 19 + pstr_desc = Pstr_eval ({ 20 + pexp_loc = Location.none; 21 + - pexp_desc = Pexp_constant (CONST_STRING (msg, None)); 22 + + pexp_desc = Pexp_constant (Asttypes.Const_string (msg, None)); 23 + pexp_attributes = []; 24 + }, []); 25 + }] 26 + @@ -112,7 +105,7 @@ 27 + let msg = match payload with 28 + | PStr [{ 29 + pstr_desc = Pstr_eval ({ 30 + - pexp_desc = Pexp_constant (CONST_STRING (msg, _)); 31 + + pexp_desc = Pexp_constant (Asttypes.Const_string (msg, _)); 32 + }, _); 33 + }] -> msg 34 + | _ -> "Warning: extension produced an incorrect syntax-error node"
+34
esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix.patch
··· 1 + --- ./extend_helper.ml 2 + +++ ./extend_helper.ml 3 + @@ -1,13 +1,6 @@ 4 + -(*pp cppo -V OCAML:`ocamlc -version` *) 5 + open Parsetree 6 + open Extend_protocol 7 + 8 + -#if OCAML_VERSION < (4, 3, 0) 9 + -# define CONST_STRING Asttypes.Const_string 10 + -#else 11 + -# define CONST_STRING Parsetree.Pconst_string 12 + -#endif 13 + - 14 + (** Default implementation for [Reader_def.print_outcome] using 15 + [Oprint] from compiler-libs *) 16 + let print_outcome_using_oprint ppf = function 17 + @@ -28,7 +21,7 @@ 18 + pstr_loc = Location.none; 19 + pstr_desc = Pstr_eval ({ 20 + pexp_loc = Location.none; 21 + - pexp_desc = Pexp_constant (CONST_STRING (msg, None)); 22 + + pexp_desc = Pexp_constant (Parsetree.Pconst_string (msg, None)); 23 + pexp_attributes = []; 24 + }, []); 25 + }] 26 + @@ -112,7 +105,7 @@ 27 + let msg = match payload with 28 + | PStr [{ 29 + pstr_desc = Pstr_eval ({ 30 + - pexp_desc = Pexp_constant (CONST_STRING (msg, _)); 31 + + pexp_desc = Pexp_constant (Parsetree.Pconst_string (msg, _)); 32 + }, _); 33 + }] -> msg 34 + | _ -> "Warning: extension produced an incorrect syntax-error node"
+15
esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/package.json
··· 1 + { 2 + "buildEnv": { 3 + "PATCH_CMD": "#{ocaml.version == '4.2.3007' ? 'patch -p1 < merlin-extend-winfix-4.2.3007.patch' : 'patch -p1 < merlin-extend-winfix.patch'}" 4 + }, 5 + "build": [ 6 + [ 7 + "bash", 8 + "-c", 9 + "#{os == 'windows' ? $PATCH_CMD : 'true'}" 10 + ], 11 + [ 12 + "make" 13 + ] 14 + ] 15 + }
+463
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, "<path> Set build directory (implies no-links)"; 387 + "-install-lib-dir", Set_string Ocamlbuild_where.libdir, "<path> Set the install library directory"; 388 + "-install-bin-dir", Set_string Ocamlbuild_where.bindir, "<path> 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), "<command> 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), "<command> Display path to the tool command"; 393 + "-ocamlc", set_cmd ocamlc, "<command> Set the OCaml bytecode compiler"; 394 + "-plugin-ocamlc", set_cmd plugin_ocamlc, "<command> 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
+27
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 + }
+489
esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/files/findlib-1.8.0.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<path> instead of -L <path>) 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.config_file 416 + + print_endline (sl Findlib_config.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 + @@ -113,7 +114,7 @@ 473 + $(OCAMLC) -a -o num_top.cma $(NUMTOP_OBJECTS) 474 + 475 + clean: 476 + - rm -f *.cmi *.cmo *.cma *.cmx *.a *.o *.cmxa \ 477 + + rm -f *.cmi *.cmo *.cma *.cmx *.lib *.a *.o *.cmxa \ 478 + fl_meta.ml findlib_config.ml findlib.mml topfind.ml topfind \ 479 + ocamlfind$(EXEC_SUFFIX) ocamlfind_opt$(EXEC_SUFFIX) 480 + 481 + @@ -121,7 +122,7 @@ 482 + mkdir -p "$(prefix)$(OCAML_SITELIB)/$(NAME)" 483 + mkdir -p "$(prefix)$(OCAMLFIND_BIN)" 484 + test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_CORE_STDLIB)" 485 + - files=`$(SH) $(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma findlib.cmxa findlib.a findlib.cmxs topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib_top.cmxa findlib_top.a findlib_top.cmxs findlib_dynload.cma findlib_dynload.cmxa findlib_dynload.a findlib_dynload.cmxs fl_dynload.mli fl_dynload.cmi META` && \ 486 + + files=`$(SH) $(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma findlib.cmxa findlib$(LIB_SUFFIX) findlib.cmxs topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib_top.cmxa findlib_top$(LIB_SUFFIX) findlib_top.cmxs findlib_dynload.cma findlib_dynload.cmxa findlib_dynload$(LIB_SUFFIX) findlib_dynload.cmxs fl_dynload.mli fl_dynload.cmi META` && \ 487 + cp $$files "$(prefix)$(OCAML_SITELIB)/$(NAME)" 488 + f="ocamlfind$(EXEC_SUFFIX)"; { test -f ocamlfind_opt$(EXEC_SUFFIX) && f="ocamlfind_opt$(EXEC_SUFFIX)"; }; \ 489 + cp $$f "$(prefix)$(OCAMLFIND_BIN)/ocamlfind$(EXEC_SUFFIX)"
+61
esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/package.json
··· 1 + { 2 + "build": [ 3 + [ 4 + "bash", 5 + "-c", 6 + "#{os == 'windows' ? 'patch -p1 < findlib-1.8.0.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 + }
-3
include/rebel_js/Array_js.re
··· 14 14 [@bs.send] external copy: t('a) => t('a) = "slice"; 15 15 [@bs.send] 16 16 external slice: (t('a), ~start: int, ~end_: int) => t('a) = "slice"; 17 - [@bs.send] external sliceFrom: (t('a), int) => t('a) = "slice"; 18 17 [@bs.send] external append: (t('a), 'a) => t('a) = "concat"; 19 18 [@bs.send] external concat: (t('a), t('a)) => t('a) = "concat"; 20 19 ··· 32 31 [@bs.send] external forEach: (t('a), 'a => unit) => unit = "forEach"; 33 32 [@bs.send] external forEachi: (t('a), ('a, int) => unit) => unit = "forEach"; 34 33 [@bs.send] external reduce: (t('a), ('b, 'a) => 'b, 'b) => 'b = "reduce"; 35 - [@bs.send] 36 - external reducei: (t('a), ('b, 'a, int) => 'b, 'b) => 'b = "reduce"; 37 34 [@bs.send] 38 35 external reduceRight: (t('a), ('b, 'a) => 'b, 'b) => 'b = "reduceRight"; 39 36
+3 -7
include/rebel_native/Array_native.re
··· 25 25 Belt.Array.slice(arr, ~offset=start, ~len); 26 26 }; 27 27 28 - let sliceFrom = Belt.Array.sliceToEnd; 29 28 let concat = Belt.Array.concat; 30 29 31 30 let append = (arr: t('a), x: 'a) => Belt.Array.concat(arr, [|x|]); ··· 105 104 106 105 let filteri = (arr: t('a), f: ('a, int) => bool): t('a) => { 107 106 let len = size(arr); 108 - let res = makeUninitialized(len); 107 + let res: t('a) = copy(arr); 109 108 let j = ref(-1); 110 109 111 110 let rec filter = (i: int) => 112 111 if (i >= len) { 113 - Belt.Array.truncateToLengthUnsafe(res, j^ + 1); 114 - res; 112 + Array.sub(res, 0, j^ + 1); 115 113 } else { 116 114 let x = getUnsafe(arr, i); 117 115 if (f(x, i)) { ··· 128 126 let removeCount = (arr: t('a), ~pos: int, ~count: int): t('a) => { 129 127 let len = size(arr); 130 128 let pos2 = pos + count - 1; 131 - let res = makeUninitialized(len - count); 129 + let res = Array.sub(arr, 0, len - count); 132 130 133 131 let rec copy = (i: int) => 134 132 if (i >= len) { ··· 164 162 Belt.Array.forEachWithIndexU(arr, (. i, x) => f(x, i)); 165 163 let reduce = (arr: t('a), reducer: ('b, 'a) => 'b, acc: 'b): 'b => 166 164 Belt.Array.reduce(arr, acc, reducer); 167 - let reducei = (arr: t('a), reducer: ('b, 'a, int) => 'b, acc: 'b): 'b => 168 - Belt.Array.reduceWithIndex(arr, acc, reducer); 169 165 let reduceRight = (arr: t('a), reducer: ('b, 'a) => 'b, acc: 'b): 'b => 170 166 Belt.Array.reduceReverse(arr, acc, reducer);
+11
src/dune/dune
··· 1 + (library 2 + (name wonka) 3 + (public_name wonka) 4 + (libraries belt) 5 + (preprocess (pps belt.ppx))) 6 + 7 + (copy_files ../../include/rebel_native/*.{re,rei}) 8 + (copy_files ../operators/*.{re,rei}) 9 + (copy_files ../sources/*.{re,rei}) 10 + (copy_files ../sinks/*.{re,rei}) 11 + (copy_files ../wonka_*.{re,rei})
+1
src/dune/rebel.re
··· 1 + include Rebel_native;
+4
src/dune/wonka.re
··· 1 + module Types = Wonka_types; 2 + include Wonka_sources; 3 + include Wonka_operators; 4 + include Wonka_sinks;
+6
wonka.opam
··· 1 + opam-version: "1.2" 2 + version: "2.0.2" 3 + maintainer: "phil@kitten.sh" 4 + author: ["Phil Pluckthun"] 5 + synopsis: "A fast push & pull stream library" 6 + build: []