From e106a847c36ded8e9122d7f02be4d8440d564360 Mon Sep 17 00:00:00 2001 From: Bryan Phelps Date: Tue, 16 Apr 2019 14:38:29 -0700 Subject: [PATCH] Developer Experience - Speed up Oni2 build (#241) * Refactor libs to not need top-level libraries * Only build Oni2 in main package.json * Add test.json * Update build steps * Add test.esy.lock * Add hygiene check for '@test' sandbox * Update tests to point to new lbs * Update missed test * Fix libs * Update test.json * Wire test/bench back up * Fix nested describe * Update lockfile * Update BufferViewTokenizer tests * Update lockfile * Update test instructions --- .ci/esy-build-steps.yml | 6 +- .ci/esy-check-hygiene.yml | 4 + Oni_Core.opam | 7 - Oni_Extensions.opam | 7 - Oni_Model.opam | 7 - Oni_Neovim.opam | 7 - Oni_Store.opam | 7 - Oni_UI.opam | 7 - README.md | 6 +- bench.json | 2 +- bench/exe/Bench.re | 1 - bench/exe/OniBench.re | 1 + bench/exe/dune | 5 +- bench/lib/dune | 4 +- dune | 1 + package.json | 11 +- src/editor/Core/dune | 2 +- src/editor/Extensions/dune | 4 +- src/editor/Model/dune | 6 +- src/editor/Neovim/dune | 6 +- src/editor/Store/dune | 10 +- src/editor/UI/dune | 6 +- src/editor/bin/dune | 12 +- test.esy.lock/.gitattributes | 3 + test.esy.lock/.gitignore | 3 + test.esy.lock/index.json | 2202 +++++++++++++++++ test.esy.lock/opam/astring.0.8.3/opam | 38 + test.esy.lock/opam/base-bigarray.base/opam | 6 + test.esy.lock/opam/base-bytes.base/opam | 9 + test.esy.lock/opam/base-threads.base/opam | 6 + test.esy.lock/opam/base-unix.base/opam | 6 + test.esy.lock/opam/base.v0.11.1/opam | 37 + test.esy.lock/opam/biniou.1.2.0/opam | 25 + test.esy.lock/opam/camomile.1.0.1/opam | 27 + test.esy.lock/opam/chalk.1.0/opam | 27 + test.esy.lock/opam/cmdliner.1.0.2/opam | 39 + test.esy.lock/opam/color.0.2.0/opam | 38 + test.esy.lock/opam/conf-m4.1/opam | 23 + test.esy.lock/opam/conf-which.1/opam | 20 + test.esy.lock/opam/cppo.1.6.5/opam | 23 + test.esy.lock/opam/cppo_ocamlbuild.1.6.0/opam | 25 + test.esy.lock/opam/dune.1.7.3/opam | 47 + test.esy.lock/opam/easy-format.1.3.1/opam | 20 + test.esy.lock/opam/fpath.0.7.2/opam | 34 + test.esy.lock/opam/gg.0.9.3/opam | 36 + test.esy.lock/opam/jbuilder.transition/opam | 15 + test.esy.lock/opam/js_of_ocaml-lwt.3.3.0/opam | 25 + test.esy.lock/opam/js_of_ocaml-ppx.3.3.0/opam | 27 + test.esy.lock/opam/junit.2.0.1/opam | 29 + test.esy.lock/opam/lambda-term.1.13/opam | 36 + test.esy.lock/opam/lwt.4.2.1/opam | 58 + test.esy.lock/opam/lwt_log.1.1.0/opam | 26 + test.esy.lock/opam/lwt_ppx.1.2.2/opam | 33 + test.esy.lock/opam/lwt_react.1.1.2/opam | 34 + test.esy.lock/opam/menhir.20181113/opam | 32 + test.esy.lock/opam/merlin-extend.0.3/opam | 24 + test.esy.lock/opam/merlin.3.2.2/opam | 74 + test.esy.lock/opam/mmap.1.1.0/opam | 24 + test.esy.lock/opam/msgpck.1.4/opam | 27 + .../opam/ocaml-compiler-libs.v0.11.0/opam | 23 + .../opam/ocaml-migrate-parsetree.1.2.0/opam | 34 + test.esy.lock/opam/ocamlbuild.0.14.0/opam | 36 + .../ocamlfind.1.8.0/files/no-awk-check.patch | 19 + .../opam/ocamlfind.1.8.0/files/ocaml-stub | 4 + .../ocamlfind.1.8.0/files/ocamlfind.install | 6 + test.esy.lock/opam/ocamlfind.1.8.0/opam | 68 + test.esy.lock/opam/ocplib-endian.1.0/opam | 33 + test.esy.lock/opam/ppx_derivers.1.2.1/opam | 23 + test.esy.lock/opam/ppx_deriving.4.2.1/opam | 48 + .../opam/ppx_deriving_yojson.3.3/opam | 36 + test.esy.lock/opam/ppx_let.v0.11.0/opam | 25 + test.esy.lock/opam/ppx_tools.5.1+4.06.0/opam | 21 + .../opam/ppx_tools_versioned.5.2.1/opam | 27 + test.esy.lock/opam/ppxfind.1.2/opam | 26 + test.esy.lock/opam/ppxlib.0.5.0/opam | 42 + test.esy.lock/opam/printbox.0.2/opam | 29 + test.esy.lock/opam/ptime.0.8.4/opam | 47 + test.esy.lock/opam/re.1.9.0/opam | 42 + test.esy.lock/opam/react.1.2.1/opam | 33 + test.esy.lock/opam/result.1.3/opam | 22 + test.esy.lock/opam/seq.base/files/META.seq | 4 + test.esy.lock/opam/seq.base/files/seq.install | 3 + test.esy.lock/opam/seq.base/opam | 15 + test.esy.lock/opam/sexplib0.v0.11.0/opam | 29 + test.esy.lock/opam/stdio.v0.11.0/opam | 26 + test.esy.lock/opam/topkg.1.0.0/opam | 49 + test.esy.lock/opam/tyxml.4.3.0/opam | 45 + test.esy.lock/opam/uchar.0.0.2/opam | 36 + test.esy.lock/opam/uutf.1.0.2/opam | 40 + test.esy.lock/opam/yojson.1.5.0/opam | 36 + test.esy.lock/opam/zed.1.6/opam | 32 + .../files/base-v0.11.1.patch | 56 + .../package.json | 17 + .../package.json | 14 + .../files/lambda-term-1.13.patch | 88 + .../package.json | 17 + .../files/merlin-extend-winfix-4.2.3007.patch | 34 + .../files/merlin-extend-winfix.patch | 34 + .../package.json | 15 + .../files/ocamlbuild-0.14.0.patch | 463 ++++ .../package.json | 27 + .../files/findlib-1.8.0.patch | 489 ++++ .../package.json | 61 + .../files/esy-fix.patch | 13 + .../files/ocplib-endian-0.8.patch | 41 + .../package.json | 34 + .../files/ppx_deriving-4.2.1.patch | 78 + .../package.json | 15 + test.json | 17 + test/editor/Core/dune | 2 +- test/editor/Extensions/dune | 2 +- test/editor/Model/dune | 2 +- test/editor/Neovim/dune | 2 +- 113 files changed, 5679 insertions(+), 88 deletions(-) delete mode 100644 Oni_Core.opam delete mode 100644 Oni_Extensions.opam delete mode 100644 Oni_Model.opam delete mode 100644 Oni_Neovim.opam delete mode 100644 Oni_Store.opam delete mode 100644 Oni_UI.opam delete mode 100644 bench/exe/Bench.re create mode 100644 bench/exe/OniBench.re create mode 100644 dune create mode 100644 test.esy.lock/.gitattributes create mode 100644 test.esy.lock/.gitignore create mode 100644 test.esy.lock/index.json create mode 100644 test.esy.lock/opam/astring.0.8.3/opam create mode 100644 test.esy.lock/opam/base-bigarray.base/opam create mode 100644 test.esy.lock/opam/base-bytes.base/opam create mode 100644 test.esy.lock/opam/base-threads.base/opam create mode 100644 test.esy.lock/opam/base-unix.base/opam create mode 100644 test.esy.lock/opam/base.v0.11.1/opam create mode 100644 test.esy.lock/opam/biniou.1.2.0/opam create mode 100644 test.esy.lock/opam/camomile.1.0.1/opam create mode 100644 test.esy.lock/opam/chalk.1.0/opam create mode 100644 test.esy.lock/opam/cmdliner.1.0.2/opam create mode 100644 test.esy.lock/opam/color.0.2.0/opam create mode 100644 test.esy.lock/opam/conf-m4.1/opam create mode 100644 test.esy.lock/opam/conf-which.1/opam create mode 100644 test.esy.lock/opam/cppo.1.6.5/opam create mode 100644 test.esy.lock/opam/cppo_ocamlbuild.1.6.0/opam create mode 100644 test.esy.lock/opam/dune.1.7.3/opam create mode 100644 test.esy.lock/opam/easy-format.1.3.1/opam create mode 100644 test.esy.lock/opam/fpath.0.7.2/opam create mode 100644 test.esy.lock/opam/gg.0.9.3/opam create mode 100644 test.esy.lock/opam/jbuilder.transition/opam create mode 100644 test.esy.lock/opam/js_of_ocaml-lwt.3.3.0/opam create mode 100644 test.esy.lock/opam/js_of_ocaml-ppx.3.3.0/opam create mode 100644 test.esy.lock/opam/junit.2.0.1/opam create mode 100644 test.esy.lock/opam/lambda-term.1.13/opam create mode 100644 test.esy.lock/opam/lwt.4.2.1/opam create mode 100644 test.esy.lock/opam/lwt_log.1.1.0/opam create mode 100644 test.esy.lock/opam/lwt_ppx.1.2.2/opam create mode 100644 test.esy.lock/opam/lwt_react.1.1.2/opam create mode 100644 test.esy.lock/opam/menhir.20181113/opam create mode 100644 test.esy.lock/opam/merlin-extend.0.3/opam create mode 100644 test.esy.lock/opam/merlin.3.2.2/opam create mode 100644 test.esy.lock/opam/mmap.1.1.0/opam create mode 100644 test.esy.lock/opam/msgpck.1.4/opam create mode 100644 test.esy.lock/opam/ocaml-compiler-libs.v0.11.0/opam create mode 100644 test.esy.lock/opam/ocaml-migrate-parsetree.1.2.0/opam create mode 100644 test.esy.lock/opam/ocamlbuild.0.14.0/opam create mode 100644 test.esy.lock/opam/ocamlfind.1.8.0/files/no-awk-check.patch create mode 100644 test.esy.lock/opam/ocamlfind.1.8.0/files/ocaml-stub create mode 100644 test.esy.lock/opam/ocamlfind.1.8.0/files/ocamlfind.install create mode 100644 test.esy.lock/opam/ocamlfind.1.8.0/opam create mode 100644 test.esy.lock/opam/ocplib-endian.1.0/opam create mode 100644 test.esy.lock/opam/ppx_derivers.1.2.1/opam create mode 100644 test.esy.lock/opam/ppx_deriving.4.2.1/opam create mode 100644 test.esy.lock/opam/ppx_deriving_yojson.3.3/opam create mode 100644 test.esy.lock/opam/ppx_let.v0.11.0/opam create mode 100644 test.esy.lock/opam/ppx_tools.5.1+4.06.0/opam create mode 100644 test.esy.lock/opam/ppx_tools_versioned.5.2.1/opam create mode 100644 test.esy.lock/opam/ppxfind.1.2/opam create mode 100644 test.esy.lock/opam/ppxlib.0.5.0/opam create mode 100644 test.esy.lock/opam/printbox.0.2/opam create mode 100644 test.esy.lock/opam/ptime.0.8.4/opam create mode 100644 test.esy.lock/opam/re.1.9.0/opam create mode 100644 test.esy.lock/opam/react.1.2.1/opam create mode 100644 test.esy.lock/opam/result.1.3/opam create mode 100644 test.esy.lock/opam/seq.base/files/META.seq create mode 100644 test.esy.lock/opam/seq.base/files/seq.install create mode 100644 test.esy.lock/opam/seq.base/opam create mode 100644 test.esy.lock/opam/sexplib0.v0.11.0/opam create mode 100644 test.esy.lock/opam/stdio.v0.11.0/opam create mode 100644 test.esy.lock/opam/topkg.1.0.0/opam create mode 100644 test.esy.lock/opam/tyxml.4.3.0/opam create mode 100644 test.esy.lock/opam/uchar.0.0.2/opam create mode 100644 test.esy.lock/opam/uutf.1.0.2/opam create mode 100644 test.esy.lock/opam/yojson.1.5.0/opam create mode 100644 test.esy.lock/opam/zed.1.6/opam create mode 100644 test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override/files/base-v0.11.1.patch create mode 100644 test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override/package.json create mode 100644 test.esy.lock/overrides/opam__s__dune_opam__c__1.7.3_opam_override/package.json create mode 100644 test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override/files/lambda-term-1.13.patch create mode 100644 test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override/package.json create mode 100644 test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix-4.2.3007.patch create mode 100644 test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix.patch create mode 100644 test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/package.json create mode 100644 test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch create mode 100644 test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json create mode 100644 test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/files/findlib-1.8.0.patch create mode 100644 test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/package.json create mode 100644 test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/files/esy-fix.patch create mode 100644 test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/files/ocplib-endian-0.8.patch create mode 100644 test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/package.json create mode 100644 test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override/files/ppx_deriving-4.2.1.patch create mode 100644 test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override/package.json create mode 100644 test.json diff --git a/.ci/esy-build-steps.yml b/.ci/esy-build-steps.yml index 56657fcfca..261a9ba73e 100644 --- a/.ci/esy-build-steps.yml +++ b/.ci/esy-build-steps.yml @@ -9,7 +9,9 @@ steps: displayName: 'Bootstrap Oni2 setup with system specific build variables' - script: esy build displayName: 'Build: esy build' - - script: esy test-ci + - script: esy @test install + displayName: 'Test: install' + - script: esy @test run displayName: 'Unit Tests: esy test-ci (round 1)' # TODO: Stabilize and bring back! # - script: esy x OniUnitTestRunner @@ -28,5 +30,5 @@ steps: displayName: "Bench: install" - script: esy @bench build displayName: "Bench: build" - - script: esy @bench x oni-bench + - script: esy @bench run displayName: "Bench: run" diff --git a/.ci/esy-check-hygiene.yml b/.ci/esy-check-hygiene.yml index 89b33abf65..f135f4b813 100644 --- a/.ci/esy-check-hygiene.yml +++ b/.ci/esy-check-hygiene.yml @@ -14,6 +14,10 @@ steps: displayName: 'esy @bench install' - script: git diff --exit-code displayName: 'check that `bench.esy.lock` is up-to-date. If this fails, commit `bench.esy.lock` changes and re-submit PR.' + - script: esy @test install + displayName: 'esy @test install' + - script: git diff --exit-code + displayName: 'check that `test.esy.lock` is up-to-date. If this fails, commit `test.esy.lock` changes and re-submit PR.' - script: esy bootstrap displayName: 'esy bootstrap' - script: esy build diff --git a/Oni_Core.opam b/Oni_Core.opam deleted file mode 100644 index 9009b869bc..0000000000 --- a/Oni_Core.opam +++ /dev/null @@ -1,7 +0,0 @@ -opam-version: "1.2" -version: "dev" -maintainer: "bryphe@outrunlabs.com" -author: ["Bryan Phelps"] -build: [ - -] diff --git a/Oni_Extensions.opam b/Oni_Extensions.opam deleted file mode 100644 index 9009b869bc..0000000000 --- a/Oni_Extensions.opam +++ /dev/null @@ -1,7 +0,0 @@ -opam-version: "1.2" -version: "dev" -maintainer: "bryphe@outrunlabs.com" -author: ["Bryan Phelps"] -build: [ - -] diff --git a/Oni_Model.opam b/Oni_Model.opam deleted file mode 100644 index 9009b869bc..0000000000 --- a/Oni_Model.opam +++ /dev/null @@ -1,7 +0,0 @@ -opam-version: "1.2" -version: "dev" -maintainer: "bryphe@outrunlabs.com" -author: ["Bryan Phelps"] -build: [ - -] diff --git a/Oni_Neovim.opam b/Oni_Neovim.opam deleted file mode 100644 index 9009b869bc..0000000000 --- a/Oni_Neovim.opam +++ /dev/null @@ -1,7 +0,0 @@ -opam-version: "1.2" -version: "dev" -maintainer: "bryphe@outrunlabs.com" -author: ["Bryan Phelps"] -build: [ - -] diff --git a/Oni_Store.opam b/Oni_Store.opam deleted file mode 100644 index 9009b869bc..0000000000 --- a/Oni_Store.opam +++ /dev/null @@ -1,7 +0,0 @@ -opam-version: "1.2" -version: "dev" -maintainer: "bryphe@outrunlabs.com" -author: ["Bryan Phelps"] -build: [ - -] diff --git a/Oni_UI.opam b/Oni_UI.opam deleted file mode 100644 index 9009b869bc..0000000000 --- a/Oni_UI.opam +++ /dev/null @@ -1,7 +0,0 @@ -opam-version: "1.2" -version: "dev" -maintainer: "bryphe@outrunlabs.com" -author: ["Bryan Phelps"] -build: [ - -] diff --git a/README.md b/README.md index 13c35fe560..017122404e 100644 --- a/README.md +++ b/README.md @@ -62,13 +62,15 @@ The goal of this project is to build an editor that doesn't exist today - the _s ### Tests -- `esy test` +- `esy '@test' install` +- `esy '@test' build` +- `esy '@test' run` ### Benchmarks - `esy '@bench' install` - `esy '@bench' build` -- `esy '@bench' x oni-bench` +- `esy '@bench' run` ## Documentation diff --git a/bench.json b/bench.json index 948cb6b22e..70e8787acd 100644 --- a/bench.json +++ b/bench.json @@ -1,7 +1,7 @@ { "source": "./package.json", "scripts": { - "run": "esy '@bench' x oni-bench" + "run": "esy '@bench' x OniBench" }, "override": { "build": ["dune build --root . -j4"], diff --git a/bench/exe/Bench.re b/bench/exe/Bench.re deleted file mode 100644 index f3ebe4a25f..0000000000 --- a/bench/exe/Bench.re +++ /dev/null @@ -1 +0,0 @@ -OniBench.BenchFramework.cli(); diff --git a/bench/exe/OniBench.re b/bench/exe/OniBench.re new file mode 100644 index 0000000000..3e389d3f02 --- /dev/null +++ b/bench/exe/OniBench.re @@ -0,0 +1 @@ +OniBenchLib.BenchFramework.cli(); diff --git a/bench/exe/dune b/bench/exe/dune index 04abc25e40..030ec64944 100644 --- a/bench/exe/dune +++ b/bench/exe/dune @@ -1,6 +1,7 @@ (executable - (name bench) - (public_name oni-bench) + (name OniBench) + (public_name OniBench) + (modules OniBench) (libraries OniBench.lib) (package OniBench) ) diff --git a/bench/lib/dune b/bench/lib/dune index 9260e6367b..36543d32c7 100644 --- a/bench/lib/dune +++ b/bench/lib/dune @@ -1,6 +1,6 @@ (library - (name OniBench) + (name OniBenchLib) (public_name OniBench.lib) (ocamlopt_flags -linkall) - (libraries Oni_Core Oni_Neovim Oni_UI reperf.lib) + (libraries Oni2.core Oni2.neovim Oni2.ui reperf.lib) ) diff --git a/dune b/dune new file mode 100644 index 0000000000..be2b516a33 --- /dev/null +++ b/dune @@ -0,0 +1 @@ +(ignored_subdirs (node_modules _esy vendor extensions esy.lock bench.esy.lock test.esy.lock)) diff --git a/package.json b/package.json index 0017b8bcc2..5cb0b6ad3e 100644 --- a/package.json +++ b/package.json @@ -4,16 +4,9 @@ "description": "Lightweight code editor", "license": "MIT", "esy": { - "build": "refmterr dune build --root . -j4", + "build": "refmterr dune build -p Oni2 -j4", "install": [ - "esy-installer Oni2.install", - "esy-installer Oni_Core.install", - "esy-installer Oni_Extensions.install", - "esy-installer Oni_Model.install", - "esy-installer Oni_Store.install", - "esy-installer Oni_UI.install", - "esy-installer Oni_Neovim.install", - "esy-installer OniUnitTestRunner.install" + "esy-installer Oni2.install" ] }, "scripts": { diff --git a/src/editor/Core/dune b/src/editor/Core/dune index 7f39b14a7a..88896d5d43 100644 --- a/src/editor/Core/dune +++ b/src/editor/Core/dune @@ -1,6 +1,6 @@ (library (name Oni_Core) - (public_name Oni_Core) + (public_name Oni2.core) (libraries str bigarray diff --git a/src/editor/Extensions/dune b/src/editor/Extensions/dune index 7b6eed85ea..822192c13b 100644 --- a/src/editor/Extensions/dune +++ b/src/editor/Extensions/dune @@ -1,6 +1,6 @@ (library (name Oni_Extensions) - (public_name Oni_Extensions) + (public_name Oni2.extensions) (libraries str bigarray @@ -15,6 +15,6 @@ ppx_deriving.runtime ppx_deriving_yojson.runtime reason-jsonrpc - Oni_Core + Oni2.core ) (preprocess (pps ppx_deriving_yojson ppx_deriving.show))) diff --git a/src/editor/Model/dune b/src/editor/Model/dune index 07386e1bbf..ec92791184 100644 --- a/src/editor/Model/dune +++ b/src/editor/Model/dune @@ -1,6 +1,6 @@ (library (name Oni_Model) - (public_name Oni_Model) + (public_name Oni2.model) (libraries str bigarray @@ -16,8 +16,8 @@ ppx_deriving_yojson.runtime reason-jsonrpc isolinear - Oni_Core - Oni_Extensions + Oni2.core + Oni2.extensions ReasonFuzz ) (preprocess (pps ppx_deriving_yojson ppx_deriving.show))) diff --git a/src/editor/Neovim/dune b/src/editor/Neovim/dune index 05eb139cf1..151874ab03 100644 --- a/src/editor/Neovim/dune +++ b/src/editor/Neovim/dune @@ -1,6 +1,6 @@ (library (name Oni_Neovim) - (public_name Oni_Neovim) + (public_name Oni2.neovim) (libraries str bigarray @@ -9,8 +9,8 @@ msgpck lwt lwt.unix - Oni_Core - Oni_Model + Oni2.core + Oni2.model Rench Revery ppx_deriving.runtime diff --git a/src/editor/Store/dune b/src/editor/Store/dune index 0116fe0c16..eb7e9773cc 100644 --- a/src/editor/Store/dune +++ b/src/editor/Store/dune @@ -1,16 +1,16 @@ (library (name Oni_Store) - (public_name Oni_Store) + (public_name Oni2.store) (libraries Rench Revery yojson ppx_deriving.runtime ppx_deriving_yojson.runtime - Oni_Core - Oni_Model - Oni_Neovim - Oni_Extensions + Oni2.core + Oni2.model + Oni2.neovim + Oni2.extensions isolinear ) (preprocess (pps ppx_deriving_yojson ppx_deriving.show))) diff --git a/src/editor/UI/dune b/src/editor/UI/dune index bb0e00f5c1..2a33447ff7 100644 --- a/src/editor/UI/dune +++ b/src/editor/UI/dune @@ -1,6 +1,6 @@ (library (name Oni_UI) - (public_name Oni_UI) + (public_name Oni2.ui) (libraries str bigarray @@ -9,8 +9,8 @@ msgpck lwt lwt.unix - Oni_Core - Oni_Model + Oni2.core + Oni2.model Rench Revery )) diff --git a/src/editor/bin/dune b/src/editor/bin/dune index 0684189a6b..4dd22c6a65 100644 --- a/src/editor/bin/dune +++ b/src/editor/bin/dune @@ -13,12 +13,12 @@ lwt.unix Rench Revery - Oni_Core - Oni_Extensions - Oni_Neovim - Oni_Model - Oni_Store - Oni_UI + Oni2.core + Oni2.extensions + Oni2.neovim + Oni2.model + Oni2.store + Oni2.ui ) (preprocess ( pps diff --git a/test.esy.lock/.gitattributes b/test.esy.lock/.gitattributes new file mode 100644 index 0000000000..25366aee7a --- /dev/null +++ b/test.esy.lock/.gitattributes @@ -0,0 +1,3 @@ + +# Set eol to LF so files aren't converted to CRLF-eol on Windows. +* text eol=lf diff --git a/test.esy.lock/.gitignore b/test.esy.lock/.gitignore new file mode 100644 index 0000000000..a221be227e --- /dev/null +++ b/test.esy.lock/.gitignore @@ -0,0 +1,3 @@ + +# Reset any possible .gitignore, we want all esy.lock to be un-ignored. +!* diff --git a/test.esy.lock/index.json b/test.esy.lock/index.json new file mode 100644 index 0000000000..c70c7ccdc2 --- /dev/null +++ b/test.esy.lock/index.json @@ -0,0 +1,2202 @@ +{ + "checksum": "0a6a4c999f506099ef7784fa99abaa6f", + "root": "Oni2@link-dev:./package.json", + "node": { + "universalify@0.1.2@d41d8cd9": { + "id": "universalify@0.1.2@d41d8cd9", + "name": "universalify", + "version": "0.1.2", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz#sha1:b646f69be3942dabcecc9d6639c80dc105efaa66" + ] + }, + "overrides": [], + "dependencies": [], + "devDependencies": [] + }, + "revery@0.18.0@d41d8cd9": { + "id": "revery@0.18.0@d41d8cd9", + "name": "revery", + "version": "0.18.0", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/revery/-/revery-0.18.0.tgz#sha1:030182686b1ff8924295d450d77fb9cfd90c3671" + ] + }, + "overrides": [], + "dependencies": [ + "reperf@1.4.0@d41d8cd9", + "rebez@github:jchavarri/rebez#46cbc183@d41d8cd9", + "reason-glfw@3.2.1024@d41d8cd9", + "reason-gl-matrix@0.9.9304@d41d8cd9", + "reason-fontkit@2.4.1@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "flex@1.2.2@d41d8cd9", "@reason-native/console@0.0.3@d41d8cd9", + "@opam/lwt_ppx@opam:1.2.2@946c5ba2", "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/js_of_ocaml-lwt@opam:3.3.0@ff746e31", + "@opam/js_of_ocaml-compiler@github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce@d41d8cd9", + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9", + "@opam/color@opam:0.2.0@8ef09171", + "@esy-ocaml/reason@3.4.0@d41d8cd9", + "@brisk/brisk-reconciler@github:briskml/brisk-reconciler#daa00be@d41d8cd9" + ], + "devDependencies": [] + }, + "reperf@1.4.0@d41d8cd9": { + "id": "reperf@1.4.0@d41d8cd9", + "name": "reperf", + "version": "1.4.0", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/reperf/-/reperf-1.4.0.tgz#sha1:a1b6125e1cb7d61654c435b013114991b974dcde" + ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "@reason-native/pastel@0.1.0@d41d8cd9", + "@opam/printbox@opam:0.2@31968522", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "rench@1.6.1@d41d8cd9": { + "id": "rench@1.6.1@d41d8cd9", + "name": "rench", + "version": "1.6.1", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/rench/-/rench-1.6.1.tgz#sha1:85b9d439df5b7a2165b6a3d3129021c8d7d9fcde" + ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "@reason-native/rely@1.3.1@d41d8cd9", + "@reason-native/console@0.0.3@d41d8cd9", + "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/lambda-term@opam:1.13@a3d28a27", + "@opam/fpath@opam:0.7.2@45477b93", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "rejest@1.3.0@d41d8cd9": { + "id": "rejest@1.3.0@d41d8cd9", + "name": "rejest", + "version": "1.3.0", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/rejest/-/rejest-1.3.0.tgz#sha1:ab0b819f59da0717c2b0512f0754e2cb79cbacf0" + ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "@opam/lwt_ppx@opam:1.2.2@946c5ba2", "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/lambda-term@opam:1.13@a3d28a27", + "@opam/js_of_ocaml-lwt@opam:3.3.0@ff746e31", + "@opam/js_of_ocaml-compiler@github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce@d41d8cd9", + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9", + "@opam/dune@opam:1.7.3@72aad784", "@opam/chalk@opam:1.0@6f5da5ff", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "refmterr@3.1.10@d41d8cd9": { + "id": "refmterr@3.1.10@d41d8cd9", + "name": "refmterr", + "version": "3.1.10", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/refmterr/-/refmterr-3.1.10.tgz#sha1:7c3e238022acb5de4e2254ab506d70eee13c0a46" + ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/re@opam:1.9.0@7f4a36a5", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "rebez@github:jchavarri/rebez#46cbc183@d41d8cd9": { + "id": "rebez@github:jchavarri/rebez#46cbc183@d41d8cd9", + "name": "rebez", + "version": "github:jchavarri/rebez#46cbc183", + "source": { + "type": "install", + "source": [ "github:jchavarri/rebez#46cbc183" ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "pesy@0.4.1@d41d8cd9", + "ocaml@4.7.1004@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "reasonFuzz@github:CrossR/reasonFuzz#63d4056@d41d8cd9": { + "id": "reasonFuzz@github:CrossR/reasonFuzz#63d4056@d41d8cd9", + "name": "reasonFuzz", + "version": "github:CrossR/reasonFuzz#63d4056", + "source": { + "type": "install", + "source": [ "github:CrossR/reasonFuzz#63d4056" ] + }, + "overrides": [], + "dependencies": [ + "reperf@1.4.0@d41d8cd9", "refmterr@3.1.10@d41d8cd9", + "ocaml@4.7.1004@d41d8cd9", "@reason-native/rely@1.3.1@d41d8cd9", + "@reason-native/console@0.0.3@d41d8cd9", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "reason-jsonrpc@github:bryphe/reason-jsonrpc#a73f349@d41d8cd9": { + "id": "reason-jsonrpc@github:bryphe/reason-jsonrpc#a73f349@d41d8cd9", + "name": "reason-jsonrpc", + "version": "github:bryphe/reason-jsonrpc#a73f349", + "source": { + "type": "install", + "source": [ "github:bryphe/reason-jsonrpc#a73f349" ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "@reason-native/rely@1.3.1@d41d8cd9", + "@opam/yojson@opam:1.5.0@890db858", + "@opam/merlin@opam:3.2.2@829ee6dd", "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/merlin@opam:3.2.2@829ee6dd" + ] + }, + "reason-glfw@3.2.1024@d41d8cd9": { + "id": "reason-glfw@3.2.1024@d41d8cd9", + "name": "reason-glfw", + "version": "3.2.1024", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/reason-glfw/-/reason-glfw-3.2.1024.tgz#sha1:6be601ab352e1842bab7f9ca9bbc4f27441cc106" + ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "reason-gl-matrix@0.9.9304@d41d8cd9", + "ocaml@4.7.1004@d41d8cd9", "esy-glfw@3.2.1009@d41d8cd9", + "esy-cmake@0.3.5@d41d8cd9", "@opam/lwt_ppx@opam:1.2.2@946c5ba2", + "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/js_of_ocaml-lwt@opam:3.3.0@ff746e31", + "@opam/js_of_ocaml-compiler@github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce@d41d8cd9", + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "reason-gl-matrix@0.9.9304@d41d8cd9": { + "id": "reason-gl-matrix@0.9.9304@d41d8cd9", + "name": "reason-gl-matrix", + "version": "0.9.9304", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/reason-gl-matrix/-/reason-gl-matrix-0.9.9304.tgz#sha1:f6408931066a2c04365fd6dc8af57b8a308c9103" + ] + }, + "overrides": [], + "dependencies": [ + "rejest@1.3.0@d41d8cd9", "refmterr@3.1.10@d41d8cd9", + "ocaml@4.7.1004@d41d8cd9", + "@opam/js_of_ocaml-compiler@github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce@d41d8cd9", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "reason-fontkit@2.4.1@d41d8cd9": { + "id": "reason-fontkit@2.4.1@d41d8cd9", + "name": "reason-fontkit", + "version": "2.4.1", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/reason-fontkit/-/reason-fontkit-2.4.1.tgz#sha1:696911e73dea0ebbd90be4b3207671362794b2c8" + ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "reason-glfw@3.2.1024@d41d8cd9", + "reason-gl-matrix@0.9.9304@d41d8cd9", + "esy-harfbuzz@1.9.1005@d41d8cd9", "esy-freetype2@2.9.1006@d41d8cd9", + "esy-cmake@0.3.5@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "pesy@0.4.1@d41d8cd9": { + "id": "pesy@0.4.1@d41d8cd9", + "name": "pesy", + "version": "0.4.1", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/pesy/-/pesy-0.4.1.tgz#sha1:37b3faccb3ecdb37f4bf3d95d04ffbd2633247af" + ] + }, + "overrides": [], + "dependencies": [], + "devDependencies": [] + }, + "ocaml@4.7.1004@d41d8cd9": { + "id": "ocaml@4.7.1004@d41d8cd9", + "name": "ocaml", + "version": "4.7.1004", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/ocaml/-/ocaml-4.7.1004.tgz#sha1:731ca0ddb4d845d2ed2da8af50f70c5ba9092114" + ] + }, + "overrides": [], + "dependencies": [], + "devDependencies": [] + }, + "jsonfile@4.0.0@d41d8cd9": { + "id": "jsonfile@4.0.0@d41d8cd9", + "name": "jsonfile", + "version": "4.0.0", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz#sha1:8771aae0799b64076b76640fca058f9c10e33ecb" + ] + }, + "overrides": [], + "dependencies": [ "graceful-fs@4.1.15@d41d8cd9" ], + "devDependencies": [] + }, + "isolinear@2.0.0@d41d8cd9": { + "id": "isolinear@2.0.0@d41d8cd9", + "name": "isolinear", + "version": "2.0.0", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/isolinear/-/isolinear-2.0.0.tgz#sha1:b2825008a358f5ffdf76089aa0416b894ab6404c" + ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "graceful-fs@4.1.15@d41d8cd9": { + "id": "graceful-fs@4.1.15@d41d8cd9", + "name": "graceful-fs", + "version": "4.1.15", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz#sha1:ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + ] + }, + "overrides": [], + "dependencies": [], + "devDependencies": [] + }, + "fs-extra@7.0.1@d41d8cd9": { + "id": "fs-extra@7.0.1@d41d8cd9", + "name": "fs-extra", + "version": "7.0.1", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz#sha1:4f189c44aa123b895f722804f55ea23eadc348e9" + ] + }, + "overrides": [], + "dependencies": [ + "universalify@0.1.2@d41d8cd9", "jsonfile@4.0.0@d41d8cd9", + "graceful-fs@4.1.15@d41d8cd9" + ], + "devDependencies": [] + }, + "flex@1.2.2@d41d8cd9": { + "id": "flex@1.2.2@d41d8cd9", + "name": "flex", + "version": "1.2.2", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/flex/-/flex-1.2.2.tgz#sha1:6b46058d8c909f9ec1ece18ed21b28ae5e611b3e" + ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "esy-harfbuzz@1.9.1005@d41d8cd9": { + "id": "esy-harfbuzz@1.9.1005@d41d8cd9", + "name": "esy-harfbuzz", + "version": "1.9.1005", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/esy-harfbuzz/-/esy-harfbuzz-1.9.1005.tgz#sha1:04651c73d33ce8004e61fde35a7549a7b9e908b6" + ] + }, + "overrides": [], + "dependencies": [ "esy-cmake@0.3.5@d41d8cd9" ], + "devDependencies": [] + }, + "esy-glfw@3.2.1009@d41d8cd9": { + "id": "esy-glfw@3.2.1009@d41d8cd9", + "name": "esy-glfw", + "version": "3.2.1009", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/esy-glfw/-/esy-glfw-3.2.1009.tgz#sha1:48bbd3cb0b8f63f6f8bbfa5fd77284605f26c80b" + ] + }, + "overrides": [], + "dependencies": [ "esy-cmake@0.3.5@d41d8cd9" ], + "devDependencies": [] + }, + "esy-freetype2@2.9.1006@d41d8cd9": { + "id": "esy-freetype2@2.9.1006@d41d8cd9", + "name": "esy-freetype2", + "version": "2.9.1006", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/esy-freetype2/-/esy-freetype2-2.9.1006.tgz#sha1:6c32a49543c273b427bbfb56c563e148006978bc" + ] + }, + "overrides": [], + "dependencies": [ "esy-cmake@0.3.5@d41d8cd9" ], + "devDependencies": [] + }, + "esy-cmake@0.3.5@d41d8cd9": { + "id": "esy-cmake@0.3.5@d41d8cd9", + "name": "esy-cmake", + "version": "0.3.5", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/esy-cmake/-/esy-cmake-0.3.5.tgz#sha1:2df0bdfe9317fbcded5f463fca1f346464494c7a" + ] + }, + "overrides": [], + "dependencies": [], + "devDependencies": [] + }, + "Oni2@link-dev:./package.json": { + "id": "Oni2@link-dev:./package.json", + "name": "Oni2", + "version": "link-dev:./package.json", + "source": { + "type": "link-dev", + "path": ".", + "manifest": "package.json" + }, + "overrides": [ "test.json" ], + "dependencies": [ + "revery@0.18.0@d41d8cd9", "rench@1.6.1@d41d8cd9", + "reasonFuzz@github:CrossR/reasonFuzz#63d4056@d41d8cd9", + "reason-jsonrpc@github:bryphe/reason-jsonrpc#a73f349@d41d8cd9", + "reason-glfw@3.2.1024@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "isolinear@2.0.0@d41d8cd9", "@reason-native/rely@1.3.1@d41d8cd9", + "@opam/zed@opam:1.6@004ea65e", "@opam/yojson@opam:1.5.0@890db858", + "@opam/ppx_let@opam:v0.11.0@15f51b1c", + "@opam/ppx_deriving_yojson@opam:3.3@80aab5d8", + "@opam/ppx_deriving@opam:4.2.1@7927b93a", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/msgpck@opam:1.4@eb408207", "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/dune@opam:1.7.3@72aad784", + "@opam/camomile@opam:1.0.1@4a2e8bdd", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [ + "reperf@1.4.0@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "fs-extra@7.0.1@d41d8cd9", "@opam/merlin@opam:3.2.2@829ee6dd" + ] + }, + "@reason-native/rely@1.3.1@d41d8cd9": { + "id": "@reason-native/rely@1.3.1@d41d8cd9", + "name": "@reason-native/rely", + "version": "1.3.1", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/@reason-native/rely/-/rely-1.3.1.tgz#sha1:f57050aac6887196d1a41f0d42c7b5ec0adee271" + ] + }, + "overrides": [], + "dependencies": [ + "refmterr@3.1.10@d41d8cd9", "ocaml@4.7.1004@d41d8cd9", + "@reason-native/pastel@0.1.0@d41d8cd9", + "@reason-native/file-context-printer@0.0.3@d41d8cd9", + "@opam/re@opam:1.9.0@7f4a36a5", "@opam/junit@opam:2.0.1@c25e35a7", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "@reason-native/pastel@0.1.0@d41d8cd9": { + "id": "@reason-native/pastel@0.1.0@d41d8cd9", + "name": "@reason-native/pastel", + "version": "0.1.0", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/@reason-native/pastel/-/pastel-0.1.0.tgz#sha1:2b262a654b8d807215df74768e628e9b05b3f5e3" + ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "@reason-native/file-context-printer@0.0.3@d41d8cd9": { + "id": "@reason-native/file-context-printer@0.0.3@d41d8cd9", + "name": "@reason-native/file-context-printer", + "version": "0.0.3", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/@reason-native/file-context-printer/-/file-context-printer-0.0.3.tgz#sha1:b92eec7b10107ccb27528f9eea9bb51252bca491" + ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@reason-native/pastel@0.1.0@d41d8cd9", + "@opam/re@opam:1.9.0@7f4a36a5", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "@reason-native/console@0.0.3@d41d8cd9": { + "id": "@reason-native/console@0.0.3@d41d8cd9", + "name": "@reason-native/console", + "version": "0.0.3", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/@reason-native/console/-/console-0.0.3.tgz#sha1:b9b6bdf800e13361cfb4daccb540316c3a11ce38" + ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + }, + "@opam/zed@opam:1.6@004ea65e": { + "id": "@opam/zed@opam:1.6@004ea65e", + "name": "@opam/zed", + "version": "opam:1.6", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/f7/f75c3094af1a22f9801d5ca5eb2d40e0#md5:f75c3094af1a22f9801d5ca5eb2d40e0", + "archive:https://github.com/diml/zed/releases/download/1.6/zed-1.6.tbz#md5:f75c3094af1a22f9801d5ca5eb2d40e0" + ], + "opam": { + "name": "zed", + "version": "1.6", + "path": "test.esy.lock/opam/zed.1.6" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/react@opam:1.2.1@0e11855f", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@opam/camomile@opam:1.0.1@4a2e8bdd", + "@opam/base-bytes@opam:base@19d0c2ff", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/react@opam:1.2.1@0e11855f", + "@opam/camomile@opam:1.0.1@4a2e8bdd", + "@opam/base-bytes@opam:base@19d0c2ff" + ] + }, + "@opam/yojson@opam:1.5.0@890db858": { + "id": "@opam/yojson@opam:1.5.0@890db858", + "name": "@opam/yojson", + "version": "opam:1.5.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/d8/d80de1bacdde292af42f7c78b323da7b#md5:d80de1bacdde292af42f7c78b323da7b", + "archive:https://github.com/ocaml-community/yojson/releases/download/1.5.0/yojson-1.5.0.tbz#md5:d80de1bacdde292af42f7c78b323da7b" + ], + "opam": { + "name": "yojson", + "version": "1.5.0", + "path": "test.esy.lock/opam/yojson.1.5.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/easy-format@opam:1.3.1@9abfd4ed", + "@opam/dune@opam:1.7.3@72aad784", "@opam/cppo@opam:1.6.5@bec3dbd9", + "@opam/biniou@opam:1.2.0@c8516f18", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/easy-format@opam:1.3.1@9abfd4ed", + "@opam/biniou@opam:1.2.0@c8516f18" + ] + }, + "@opam/uutf@opam:1.0.2@4440868f": { + "id": "@opam/uutf@opam:1.0.2@4440868f", + "name": "@opam/uutf", + "version": "opam:1.0.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/a7/a7c542405a39630c689a82bd7ef2292c#md5:a7c542405a39630c689a82bd7ef2292c", + "archive:http://erratique.ch/software/uutf/releases/uutf-1.0.2.tbz#md5:a7c542405a39630c689a82bd7ef2292c" + ], + "opam": { + "name": "uutf", + "version": "1.0.2", + "path": "test.esy.lock/opam/uutf.1.0.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/uchar@opam:0.0.2@c8218eea", + "@opam/topkg@opam:1.0.0@61f4ccf9", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/cmdliner@opam:1.0.2@8ab0598a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/uchar@opam:0.0.2@c8218eea" + ] + }, + "@opam/uchar@opam:0.0.2@c8218eea": { + "id": "@opam/uchar@opam:0.0.2@c8218eea", + "name": "@opam/uchar", + "version": "opam:0.0.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/c9/c9ba2c738d264c420c642f7bb1cf4a36#md5:c9ba2c738d264c420c642f7bb1cf4a36", + "archive:https://github.com/ocaml/uchar/releases/download/v0.0.2/uchar-0.0.2.tbz#md5:c9ba2c738d264c420c642f7bb1cf4a36" + ], + "opam": { + "name": "uchar", + "version": "0.0.2", + "path": "test.esy.lock/opam/uchar.0.0.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/tyxml@opam:4.3.0@15e44054": { + "id": "@opam/tyxml@opam:4.3.0@15e44054", + "name": "@opam/tyxml", + "version": "opam:4.3.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/fd/fd834a567f813bf447cab5f4c3a723e2#md5:fd834a567f813bf447cab5f4c3a723e2", + "archive:https://github.com/ocsigen/tyxml/releases/download/4.3.0/tyxml-4.3.0.tbz#md5:fd834a567f813bf447cab5f4c3a723e2" + ], + "opam": { + "name": "tyxml", + "version": "4.3.0", + "path": "test.esy.lock/opam/tyxml.4.3.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/uutf@opam:1.0.2@4440868f", + "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.9.0@7f4a36a5", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/uutf@opam:1.0.2@4440868f", + "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.9.0@7f4a36a5" + ] + }, + "@opam/topkg@opam:1.0.0@61f4ccf9": { + "id": "@opam/topkg@opam:1.0.0@61f4ccf9", + "name": "@opam/topkg", + "version": "opam:1.0.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/e3/e3d76bda06bf68cb5853caf6627da603#md5:e3d76bda06bf68cb5853caf6627da603", + "archive:http://erratique.ch/software/topkg/releases/topkg-1.0.0.tbz#md5:e3d76bda06bf68cb5853caf6627da603" + ], + "opam": { + "name": "topkg", + "version": "1.0.0", + "path": "test.esy.lock/opam/topkg.1.0.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", + "@opam/ocamlbuild@opam:0.14.0@427a2331" + ] + }, + "@opam/stdio@opam:v0.11.0@3b11cb88": { + "id": "@opam/stdio@opam:v0.11.0@3b11cb88", + "name": "@opam/stdio", + "version": "opam:v0.11.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/2d/2db42ee38c91b3ff7126c2634c407b99#md5:2db42ee38c91b3ff7126c2634c407b99", + "archive:https://ocaml.janestreet.com/ocaml-core/v0.11/files/stdio-v0.11.0.tar.gz#md5:2db42ee38c91b3ff7126c2634c407b99" + ], + "opam": { + "name": "stdio", + "version": "v0.11.0", + "path": "test.esy.lock/opam/stdio.v0.11.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", + "@opam/base@opam:v0.11.1@6ff71eb3", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/base@opam:v0.11.1@6ff71eb3" + ] + }, + "@opam/sexplib0@opam:v0.11.0@9df6bcd1": { + "id": "@opam/sexplib0@opam:v0.11.0@9df6bcd1", + "name": "@opam/sexplib0", + "version": "opam:v0.11.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/1c/1c14ba30b471e49f1b23fea5ff99ea6b#md5:1c14ba30b471e49f1b23fea5ff99ea6b", + "archive:https://ocaml.janestreet.com/ocaml-core/v0.11/files/sexplib0-v0.11.0.tar.gz#md5:1c14ba30b471e49f1b23fea5ff99ea6b" + ], + "opam": { + "name": "sexplib0", + "version": "v0.11.0", + "path": "test.esy.lock/opam/sexplib0.v0.11.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/seq@opam:base@d8d7de1d": { + "id": "@opam/seq@opam:base@d8d7de1d", + "name": "@opam/seq", + "version": "opam:base", + "source": { + "type": "install", + "source": [ "no-source:" ], + "opam": { + "name": "seq", + "version": "base", + "path": "test.esy.lock/opam/seq.base" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/result@opam:1.3@bee8bf2e": { + "id": "@opam/result@opam:1.3@bee8bf2e", + "name": "@opam/result", + "version": "opam:1.3", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/4b/4beebefd41f7f899b6eeba7414e7ae01#md5:4beebefd41f7f899b6eeba7414e7ae01", + "archive:https://github.com/janestreet/result/releases/download/1.3/result-1.3.tbz#md5:4beebefd41f7f899b6eeba7414e7ae01" + ], + "opam": { + "name": "result", + "version": "1.3", + "path": "test.esy.lock/opam/result.1.3" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/react@opam:1.2.1@0e11855f": { + "id": "@opam/react@opam:1.2.1@0e11855f", + "name": "@opam/react", + "version": "opam:1.2.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/ce/ce1454438ce4e9d2931248d3abba1fcc#md5:ce1454438ce4e9d2931248d3abba1fcc", + "archive:http://erratique.ch/software/react/releases/react-1.2.1.tbz#md5:ce1454438ce4e9d2931248d3abba1fcc" + ], + "opam": { + "name": "react", + "version": "1.2.1", + "path": "test.esy.lock/opam/react.1.2.1" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/topkg@opam:1.0.0@61f4ccf9", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/re@opam:1.9.0@7f4a36a5": { + "id": "@opam/re@opam:1.9.0@7f4a36a5", + "name": "@opam/re", + "version": "opam:1.9.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/bd/bddaed4f386a22cace7850c9c7dac296#md5:bddaed4f386a22cace7850c9c7dac296", + "archive:https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz#md5:bddaed4f386a22cace7850c9c7dac296" + ], + "opam": { + "name": "re", + "version": "1.9.0", + "path": "test.esy.lock/opam/re.1.9.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/seq@opam:base@d8d7de1d" + ] + }, + "@opam/ptime@opam:0.8.4@82555699": { + "id": "@opam/ptime@opam:0.8.4@82555699", + "name": "@opam/ptime", + "version": "opam:0.8.4", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/12/12fb5e8c3eb1d2e6075ac31ce93f7dd6#md5:12fb5e8c3eb1d2e6075ac31ce93f7dd6", + "archive:http://erratique.ch/software/ptime/releases/ptime-0.8.4.tbz#md5:12fb5e8c3eb1d2e6075ac31ce93f7dd6" + ], + "opam": { + "name": "ptime", + "version": "0.8.4", + "path": "test.esy.lock/opam/ptime.0.8.4" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/topkg@opam:1.0.0@61f4ccf9", + "@opam/result@opam:1.3@bee8bf2e", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e" + ] + }, + "@opam/printbox@opam:0.2@31968522": { + "id": "@opam/printbox@opam:0.2@31968522", + "name": "@opam/printbox", + "version": "opam:0.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/d8/d84584a8ebdf3faa7b04704f0f75813c#md5:d84584a8ebdf3faa7b04704f0f75813c", + "archive:https://github.com/c-cube/printbox/archive/0.2.tar.gz#md5:d84584a8ebdf3faa7b04704f0f75813c" + ], + "opam": { + "name": "printbox", + "version": "0.2", + "path": "test.esy.lock/opam/printbox.0.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/tyxml@opam:4.3.0@15e44054", + "@opam/dune@opam:1.7.3@72aad784", + "@opam/base-bytes@opam:base@19d0c2ff", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/base-bytes@opam:base@19d0c2ff" + ] + }, + "@opam/ppxlib@opam:0.5.0@674193ca": { + "id": "@opam/ppxlib@opam:0.5.0@674193ca", + "name": "@opam/ppxlib", + "version": "opam:0.5.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/bb/bb278ff6e819e0e4a4d8a005bb2512a4#md5:bb278ff6e819e0e4a4d8a005bb2512a4", + "archive:https://github.com/ocaml-ppx/ppxlib/releases/download/0.5.0/ppxlib-0.5.0.tbz#md5:bb278ff6e819e0e4a4d8a005bb2512a4" + ], + "opam": { + "name": "ppxlib", + "version": "0.5.0", + "path": "test.esy.lock/opam/ppxlib.0.5.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/stdio@opam:v0.11.0@3b11cb88", + "@opam/ppx_derivers@opam:1.2.1@0b458500", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/ocaml-compiler-libs@opam:v0.11.0@7e9ced39", + "@opam/dune@opam:1.7.3@72aad784", "@opam/base@opam:v0.11.1@6ff71eb3", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/stdio@opam:v0.11.0@3b11cb88", + "@opam/ppx_derivers@opam:1.2.1@0b458500", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/ocaml-compiler-libs@opam:v0.11.0@7e9ced39", + "@opam/base@opam:v0.11.1@6ff71eb3" + ] + }, + "@opam/ppxfind@opam:1.2@0443ec6f": { + "id": "@opam/ppxfind@opam:1.2@0443ec6f", + "name": "@opam/ppxfind", + "version": "opam:1.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/3c/3c6f81800bb816e190a64f9898481f82#md5:3c6f81800bb816e190a64f9898481f82", + "archive:https://github.com/diml/ppxfind/releases/download/1.2/ppxfind-1.2.tbz#md5:3c6f81800bb816e190a64f9898481f82" + ], + "opam": { + "name": "ppxfind", + "version": "1.2", + "path": "test.esy.lock/opam/ppxfind.1.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71" + ] + }, + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765": { + "id": "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", + "name": "@opam/ppx_tools_versioned", + "version": "opam:5.2.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/1a/1ae6ae43ec161fbbf12c2b4d3a7e26f5#md5:1ae6ae43ec161fbbf12c2b4d3a7e26f5", + "archive:https://github.com/ocaml-ppx/ppx_tools_versioned/archive/5.2.1.tar.gz#md5:1ae6ae43ec161fbbf12c2b4d3a7e26f5" + ], + "opam": { + "name": "ppx_tools_versioned", + "version": "5.2.1", + "path": "test.esy.lock/opam/ppx_tools_versioned.5.2.1" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71" + ] + }, + "@opam/ppx_tools@opam:5.1+4.06.0@a9357225": { + "id": "@opam/ppx_tools@opam:5.1+4.06.0@a9357225", + "name": "@opam/ppx_tools", + "version": "opam:5.1+4.06.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/6b/6ba2e9690b1f579ba562b86022d1c308#md5:6ba2e9690b1f579ba562b86022d1c308", + "archive:https://github.com/ocaml-ppx/ppx_tools/archive/5.1+4.06.0.tar.gz#md5:6ba2e9690b1f579ba562b86022d1c308" + ], + "opam": { + "name": "ppx_tools", + "version": "5.1+4.06.0", + "path": "test.esy.lock/opam/ppx_tools.5.1+4.06.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5" + ] + }, + "@opam/ppx_let@opam:v0.11.0@15f51b1c": { + "id": "@opam/ppx_let@opam:v0.11.0@15f51b1c", + "name": "@opam/ppx_let", + "version": "opam:v0.11.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/40/40d1798d7724816c65eb5cdabd20f150#md5:40d1798d7724816c65eb5cdabd20f150", + "archive:https://ocaml.janestreet.com/ocaml-core/v0.11/files/ppx_let-v0.11.0.tar.gz#md5:40d1798d7724816c65eb5cdabd20f150" + ], + "opam": { + "name": "ppx_let", + "version": "v0.11.0", + "path": "test.esy.lock/opam/ppx_let.v0.11.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ppxlib@opam:0.5.0@674193ca", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@opam/base@opam:v0.11.1@6ff71eb3", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ppxlib@opam:0.5.0@674193ca", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/base@opam:v0.11.1@6ff71eb3" + ] + }, + "@opam/ppx_deriving_yojson@opam:3.3@80aab5d8": { + "id": "@opam/ppx_deriving_yojson@opam:3.3@80aab5d8", + "name": "@opam/ppx_deriving_yojson", + "version": "opam:3.3", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/sha512/e0/e04ee424d89423ca891e018b3ea6e3f5f1e3714bd1ec1b07187143da1a646e51d068d1c09bc794e25b5b5be00ccb517212f62853ec66c17969a9795ba88fae6a#sha512:e04ee424d89423ca891e018b3ea6e3f5f1e3714bd1ec1b07187143da1a646e51d068d1c09bc794e25b5b5be00ccb517212f62853ec66c17969a9795ba88fae6a", + "archive:https://github.com/ocaml-ppx/ppx_deriving_yojson/archive/v3.3.tar.gz#sha512:e04ee424d89423ca891e018b3ea6e3f5f1e3714bd1ec1b07187143da1a646e51d068d1c09bc794e25b5b5be00ccb517212f62853ec66c17969a9795ba88fae6a" + ], + "opam": { + "name": "ppx_deriving_yojson", + "version": "3.3", + "path": "test.esy.lock/opam/ppx_deriving_yojson.3.3" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/yojson@opam:1.5.0@890db858", + "@opam/result@opam:1.3@bee8bf2e", "@opam/ppxfind@opam:1.2@0443ec6f", + "@opam/ppx_tools@opam:5.1+4.06.0@a9357225", + "@opam/ppx_deriving@opam:4.2.1@7927b93a", + "@opam/dune@opam:1.7.3@72aad784", "@opam/cppo@opam:1.6.5@bec3dbd9", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/yojson@opam:1.5.0@890db858", + "@opam/result@opam:1.3@bee8bf2e", + "@opam/ppx_deriving@opam:4.2.1@7927b93a" + ] + }, + "@opam/ppx_deriving@opam:4.2.1@7927b93a": { + "id": "@opam/ppx_deriving@opam:4.2.1@7927b93a", + "name": "@opam/ppx_deriving", + "version": "opam:4.2.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/21/2195fccf2a527c3ff9ec5b4e36e2f0a8#md5:2195fccf2a527c3ff9ec5b4e36e2f0a8", + "archive:https://github.com/ocaml-ppx/ppx_deriving/archive/v4.2.1.tar.gz#md5:2195fccf2a527c3ff9ec5b4e36e2f0a8" + ], + "opam": { + "name": "ppx_deriving", + "version": "4.2.1", + "path": "test.esy.lock/opam/ppx_deriving.4.2.1" + } + }, + "overrides": [ + { + "opamoverride": + "test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override" + } + ], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", + "@opam/ppx_tools@opam:5.1+4.06.0@a9357225", + "@opam/ppx_derivers@opam:1.2.1@0b458500", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/cppo_ocamlbuild@opam:1.6.0@7c1eb503", + "@opam/cppo@opam:1.6.5@bec3dbd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", + "@opam/ppx_tools@opam:5.1+4.06.0@a9357225", + "@opam/ppx_derivers@opam:1.2.1@0b458500", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71" + ] + }, + "@opam/ppx_derivers@opam:1.2.1@0b458500": { + "id": "@opam/ppx_derivers@opam:1.2.1@0b458500", + "name": "@opam/ppx_derivers", + "version": "opam:1.2.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/5d/5dc2bf130c1db3c731fe0fffc5648b41#md5:5dc2bf130c1db3c731fe0fffc5648b41", + "archive:https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz#md5:5dc2bf130c1db3c731fe0fffc5648b41" + ], + "opam": { + "name": "ppx_derivers", + "version": "1.2.1", + "path": "test.esy.lock/opam/ppx_derivers.1.2.1" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/ocplib-endian@opam:1.0@aa720242": { + "id": "@opam/ocplib-endian@opam:1.0@aa720242", + "name": "@opam/ocplib-endian", + "version": "opam:1.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/74/74b45ba33e189283170a748c2a3ed477#md5:74b45ba33e189283170a748c2a3ed477", + "archive:https://github.com/OCamlPro/ocplib-endian/archive/1.0.tar.gz#md5:74b45ba33e189283170a748c2a3ed477" + ], + "opam": { + "name": "ocplib-endian", + "version": "1.0", + "path": "test.esy.lock/opam/ocplib-endian.1.0" + } + }, + "overrides": [ + { + "opamoverride": + "test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override" + } + ], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/cppo@opam:1.6.5@bec3dbd9", + "@opam/base-bytes@opam:base@19d0c2ff", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/cppo@opam:1.6.5@bec3dbd9", + "@opam/base-bytes@opam:base@19d0c2ff" + ] + }, + "@opam/ocamlfind@opam:1.8.0@f744a0c5": { + "id": "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "name": "@opam/ocamlfind", + "version": "opam:1.8.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/a7/a710c559667672077a93d34eb6a42e5b#md5:a710c559667672077a93d34eb6a42e5b", + "archive:http://download2.camlcity.org/download/findlib-1.8.0.tar.gz#md5:a710c559667672077a93d34eb6a42e5b", + "archive:http://download.camlcity.org/download/findlib-1.8.0.tar.gz#md5:a710c559667672077a93d34eb6a42e5b" + ], + "opam": { + "name": "ocamlfind", + "version": "1.8.0", + "path": "test.esy.lock/opam/ocamlfind.1.8.0" + } + }, + "overrides": [ + { + "opamoverride": + "test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override" + } + ], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/conf-m4@opam:1@dd7dde42", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/ocamlbuild@opam:0.14.0@427a2331": { + "id": "@opam/ocamlbuild@opam:0.14.0@427a2331", + "name": "@opam/ocamlbuild", + "version": "opam:0.14.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/sha256/87/87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78#sha256:87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78", + "archive:https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz#sha256:87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78" + ], + "opam": { + "name": "ocamlbuild", + "version": "0.14.0", + "path": "test.esy.lock/opam/ocamlbuild.0.14.0" + } + }, + "overrides": [ + { + "opamoverride": + "test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override" + } + ], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71": { + "id": "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "name": "@opam/ocaml-migrate-parsetree", + "version": "opam:1.2.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/cc/cc6fb09ad6f99156c7dba47711c62c6f#md5:cc6fb09ad6f99156c7dba47711c62c6f", + "archive:https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v1.2.0/ocaml-migrate-parsetree-v1.2.0.tbz#md5:cc6fb09ad6f99156c7dba47711c62c6f" + ], + "opam": { + "name": "ocaml-migrate-parsetree", + "version": "1.2.0", + "path": "test.esy.lock/opam/ocaml-migrate-parsetree.1.2.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", + "@opam/ppx_derivers@opam:1.2.1@0b458500", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", + "@opam/ppx_derivers@opam:1.2.1@0b458500" + ] + }, + "@opam/ocaml-compiler-libs@opam:v0.11.0@7e9ced39": { + "id": "@opam/ocaml-compiler-libs@opam:v0.11.0@7e9ced39", + "name": "@opam/ocaml-compiler-libs", + "version": "opam:v0.11.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/e1/e170c16186aa55b7e8b11e461418a10a#md5:e170c16186aa55b7e8b11e461418a10a", + "archive:https://ocaml.janestreet.com/ocaml-core/v0.11/files/ocaml-compiler-libs-v0.11.0.tar.gz#md5:e170c16186aa55b7e8b11e461418a10a" + ], + "opam": { + "name": "ocaml-compiler-libs", + "version": "v0.11.0", + "path": "test.esy.lock/opam/ocaml-compiler-libs.v0.11.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/msgpck@opam:1.4@eb408207": { + "id": "@opam/msgpck@opam:1.4@eb408207", + "name": "@opam/msgpck", + "version": "opam:1.4", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/13/13831d57c730b35ab517984d855ec6c0#md5:13831d57c730b35ab517984d855ec6c0", + "archive:https://github.com/vbmithr/ocaml-msgpck/archive/1.4.tar.gz#md5:13831d57c730b35ab517984d855ec6c0" + ], + "opam": { + "name": "msgpck", + "version": "1.4", + "path": "test.esy.lock/opam/msgpck.1.4" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocplib-endian@opam:1.0@aa720242", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocplib-endian@opam:1.0@aa720242" + ] + }, + "@opam/mmap@opam:1.1.0@6f2a1426": { + "id": "@opam/mmap@opam:1.1.0@6f2a1426", + "name": "@opam/mmap", + "version": "opam:1.1.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/8c/8c5d5fbc537296dc525867535fb878ba#md5:8c5d5fbc537296dc525867535fb878ba", + "archive:https://github.com/mirage/mmap/releases/download/v1.1.0/mmap-v1.1.0.tbz#md5:8c5d5fbc537296dc525867535fb878ba" + ], + "opam": { + "name": "mmap", + "version": "1.1.0", + "path": "test.esy.lock/opam/mmap.1.1.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/merlin-extend@opam:0.3@0af73a50": { + "id": "@opam/merlin-extend@opam:0.3@0af73a50", + "name": "@opam/merlin-extend", + "version": "opam:0.3", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/9c/9c6dfd4f53328f02f12fcc265f4e2dda#md5:9c6dfd4f53328f02f12fcc265f4e2dda", + "archive:https://github.com/let-def/merlin-extend/archive/v0.3.tar.gz#md5:9c6dfd4f53328f02f12fcc265f4e2dda" + ], + "opam": { + "name": "merlin-extend", + "version": "0.3", + "path": "test.esy.lock/opam/merlin-extend.0.3" + } + }, + "overrides": [ + { + "opamoverride": + "test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override" + } + ], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/cppo@opam:1.6.5@bec3dbd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/merlin@opam:3.2.2@829ee6dd": { + "id": "@opam/merlin@opam:3.2.2@829ee6dd", + "name": "@opam/merlin", + "version": "opam:3.2.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/ed/ede35b65f8ac9c440cfade5445662c54#md5:ede35b65f8ac9c440cfade5445662c54", + "archive:https://github.com/ocaml/merlin/releases/download/v3.2.2/merlin-v3.2.2.tbz#md5:ede35b65f8ac9c440cfade5445662c54" + ], + "opam": { + "name": "merlin", + "version": "3.2.2", + "path": "test.esy.lock/opam/merlin.3.2.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/yojson@opam:1.5.0@890db858", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/yojson@opam:1.5.0@890db858", + "@opam/ocamlfind@opam:1.8.0@f744a0c5" + ] + }, + "@opam/menhir@opam:20181113@0c8257a8": { + "id": "@opam/menhir@opam:20181113@0c8257a8", + "name": "@opam/menhir", + "version": "opam:20181113", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/69/69ce441a06ea131cd43e7b44c4303f3c#md5:69ce441a06ea131cd43e7b44c4303f3c", + "archive:https://gitlab.inria.fr/fpottier/menhir/repository/20181113/archive.tar.gz#md5:69ce441a06ea131cd43e7b44c4303f3c" + ], + "opam": { + "name": "menhir", + "version": "20181113", + "path": "test.esy.lock/opam/menhir.20181113" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/lwt_react@opam:1.1.2@2d73ee34": { + "id": "@opam/lwt_react@opam:1.1.2@2d73ee34", + "name": "@opam/lwt_react", + "version": "opam:1.1.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/2c/2ce7827948adc611319f9449e4519070#md5:2ce7827948adc611319f9449e4519070", + "archive:https://github.com/ocsigen/lwt/archive/4.2.0.tar.gz#md5:2ce7827948adc611319f9449e4519070" + ], + "opam": { + "name": "lwt_react", + "version": "1.1.2", + "path": "test.esy.lock/opam/lwt_react.1.1.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/react@opam:1.2.1@0e11855f", + "@opam/lwt@opam:4.2.1@c1888ec9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/react@opam:1.2.1@0e11855f", + "@opam/lwt@opam:4.2.1@c1888ec9" + ] + }, + "@opam/lwt_ppx@opam:1.2.2@946c5ba2": { + "id": "@opam/lwt_ppx@opam:1.2.2@946c5ba2", + "name": "@opam/lwt_ppx", + "version": "opam:1.2.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/2c/2ce7827948adc611319f9449e4519070#md5:2ce7827948adc611319f9449e4519070", + "archive:https://github.com/ocsigen/lwt/archive/4.2.0.tar.gz#md5:2ce7827948adc611319f9449e4519070" + ], + "opam": { + "name": "lwt_ppx", + "version": "1.2.2", + "path": "test.esy.lock/opam/lwt_ppx.1.2.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/lwt@opam:4.2.1@c1888ec9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/lwt@opam:4.2.1@c1888ec9" + ] + }, + "@opam/lwt_log@opam:1.1.0@72575e04": { + "id": "@opam/lwt_log@opam:1.1.0@72575e04", + "name": "@opam/lwt_log", + "version": "opam:1.1.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/92/92142135d01a4d7e805990cc98653d55#md5:92142135d01a4d7e805990cc98653d55", + "archive:https://github.com/aantron/lwt_log/archive/1.1.0.tar.gz#md5:92142135d01a4d7e805990cc98653d55" + ], + "opam": { + "name": "lwt_log", + "version": "1.1.0", + "path": "test.esy.lock/opam/lwt_log.1.1.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/lwt@opam:4.2.1@c1888ec9" + ] + }, + "@opam/lwt@opam:4.2.1@c1888ec9": { + "id": "@opam/lwt@opam:4.2.1@c1888ec9", + "name": "@opam/lwt", + "version": "opam:4.2.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/9d/9d648386ca0a9978eb9487de36b781cc#md5:9d648386ca0a9978eb9487de36b781cc", + "archive:https://github.com/ocsigen/lwt/archive/4.2.1.tar.gz#md5:9d648386ca0a9978eb9487de36b781cc" + ], + "opam": { + "name": "lwt", + "version": "4.2.1", + "path": "test.esy.lock/opam/lwt.4.2.1" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", + "@opam/result@opam:1.3@bee8bf2e", "@opam/mmap@opam:1.1.0@6f2a1426", + "@opam/dune@opam:1.7.3@72aad784", "@opam/cppo@opam:1.6.5@bec3dbd9", + "@opam/base-unix@opam:base@87d0b2eb", + "@opam/base-threads@opam:base@36803084", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/seq@opam:base@d8d7de1d", + "@opam/result@opam:1.3@bee8bf2e", "@opam/mmap@opam:1.1.0@6f2a1426" + ] + }, + "@opam/lambda-term@opam:1.13@a3d28a27": { + "id": "@opam/lambda-term@opam:1.13@a3d28a27", + "name": "@opam/lambda-term", + "version": "opam:1.13", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/c1/c13826a97014d4d573b927b623c7e043#md5:c13826a97014d4d573b927b623c7e043", + "archive:https://github.com/diml/lambda-term/releases/download/1.13/lambda-term-1.13.tbz#md5:c13826a97014d4d573b927b623c7e043" + ], + "opam": { + "name": "lambda-term", + "version": "1.13", + "path": "test.esy.lock/opam/lambda-term.1.13" + } + }, + "overrides": [ + { + "opamoverride": + "test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override" + } + ], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/zed@opam:1.6@004ea65e", + "@opam/react@opam:1.2.1@0e11855f", + "@opam/lwt_react@opam:1.1.2@2d73ee34", + "@opam/lwt_log@opam:1.1.0@72575e04", "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@opam/camomile@opam:1.0.1@4a2e8bdd", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/zed@opam:1.6@004ea65e", + "@opam/react@opam:1.2.1@0e11855f", + "@opam/lwt_react@opam:1.1.2@2d73ee34", + "@opam/lwt_log@opam:1.1.0@72575e04", "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/camomile@opam:1.0.1@4a2e8bdd" + ] + }, + "@opam/junit@opam:2.0.1@c25e35a7": { + "id": "@opam/junit@opam:2.0.1@c25e35a7", + "name": "@opam/junit", + "version": "opam:2.0.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/40/40224fb3d4f5e47dc5ff4605587d383b#md5:40224fb3d4f5e47dc5ff4605587d383b", + "archive:https://github.com/Khady/ocaml-junit/releases/download/2.0.1/junit-2.0.1.tbz#md5:40224fb3d4f5e47dc5ff4605587d383b" + ], + "opam": { + "name": "junit", + "version": "2.0.1", + "path": "test.esy.lock/opam/junit.2.0.1" + } + }, + "overrides": [], + "dependencies": [ + "@opam/tyxml@opam:4.3.0@15e44054", "@opam/ptime@opam:0.8.4@82555699", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "@opam/tyxml@opam:4.3.0@15e44054", "@opam/ptime@opam:0.8.4@82555699" + ] + }, + "@opam/js_of_ocaml-ppx@opam:3.3.0@6d90d7d2": { + "id": "@opam/js_of_ocaml-ppx@opam:3.3.0@6d90d7d2", + "name": "@opam/js_of_ocaml-ppx", + "version": "opam:3.3.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/43/438051f64e307edbda42f250a3d9cef1#md5:438051f64e307edbda42f250a3d9cef1", + "archive:https://github.com/ocsigen/js_of_ocaml/archive/3.3.0.tar.gz#md5:438051f64e307edbda42f250a3d9cef1" + ], + "opam": { + "name": "js_of_ocaml-ppx", + "version": "3.3.0", + "path": "test.esy.lock/opam/js_of_ocaml-ppx.3.3.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9" + ] + }, + "@opam/js_of_ocaml-lwt@opam:3.3.0@ff746e31": { + "id": "@opam/js_of_ocaml-lwt@opam:3.3.0@ff746e31", + "name": "@opam/js_of_ocaml-lwt", + "version": "opam:3.3.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/43/438051f64e307edbda42f250a3d9cef1#md5:438051f64e307edbda42f250a3d9cef1", + "archive:https://github.com/ocsigen/js_of_ocaml/archive/3.3.0.tar.gz#md5:438051f64e307edbda42f250a3d9cef1" + ], + "opam": { + "name": "js_of_ocaml-lwt", + "version": "3.3.0", + "path": "test.esy.lock/opam/js_of_ocaml-lwt.3.3.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/lwt_log@opam:1.1.0@72575e04", + "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/js_of_ocaml-ppx@opam:3.3.0@6d90d7d2", + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/lwt@opam:4.2.1@c1888ec9", + "@opam/js_of_ocaml-ppx@opam:3.3.0@6d90d7d2", + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9" + ] + }, + "@opam/js_of_ocaml-compiler@github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce@d41d8cd9": { + "id": + "@opam/js_of_ocaml-compiler@github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce@d41d8cd9", + "name": "@opam/js_of_ocaml-compiler", + "version": + "github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce", + "source": { + "type": "install", + "source": [ + "github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce" + ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/yojson@opam:1.5.0@890db858", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/dune@opam:1.7.3@72aad784", "@opam/cppo@opam:1.6.5@bec3dbd9", + "@opam/cmdliner@opam:1.0.2@8ab0598a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/yojson@opam:1.5.0@890db858", + "@opam/cppo@opam:1.6.5@bec3dbd9", + "@opam/cmdliner@opam:1.0.2@8ab0598a" + ] + }, + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9": { + "id": + "@opam/js_of_ocaml@github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce@d41d8cd9", + "name": "@opam/js_of_ocaml", + "version": "github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce", + "source": { + "type": "install", + "source": [ "github:ocsigen/js_of_ocaml:js_of_ocaml.opam#db257ce" ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/uchar@opam:0.0.2@c8218eea", + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/js_of_ocaml-compiler@github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce@d41d8cd9", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/uchar@opam:0.0.2@c8218eea", + "@opam/ppx_tools_versioned@opam:5.2.1@1eeea765", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/js_of_ocaml-compiler@github:ocsigen/js_of_ocaml:js_of_ocaml-compiler.opam#db257ce@d41d8cd9" + ] + }, + "@opam/jbuilder@opam:transition@58bdfe0a": { + "id": "@opam/jbuilder@opam:transition@58bdfe0a", + "name": "@opam/jbuilder", + "version": "opam:transition", + "source": { + "type": "install", + "source": [ "no-source:" ], + "opam": { + "name": "jbuilder", + "version": "transition", + "path": "test.esy.lock/opam/jbuilder.transition" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784" + ] + }, + "@opam/gg@opam:0.9.3@063e5657": { + "id": "@opam/gg@opam:0.9.3@063e5657", + "name": "@opam/gg", + "version": "opam:0.9.3", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/18/1801fc7b6af16c597ef0bfaacc12cd5b#md5:1801fc7b6af16c597ef0bfaacc12cd5b", + "archive:http://erratique.ch/software/gg/releases/gg-0.9.3.tbz#md5:1801fc7b6af16c597ef0bfaacc12cd5b" + ], + "opam": { + "name": "gg", + "version": "0.9.3", + "path": "test.esy.lock/opam/gg.0.9.3" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/topkg@opam:1.0.0@61f4ccf9", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/base-bigarray@opam:base@b03491b0", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/base-bigarray@opam:base@b03491b0" + ] + }, + "@opam/fpath@opam:0.7.2@45477b93": { + "id": "@opam/fpath@opam:0.7.2@45477b93", + "name": "@opam/fpath", + "version": "opam:0.7.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/52/52c7ecb0bf180088336f3c645875fa41#md5:52c7ecb0bf180088336f3c645875fa41", + "archive:http://erratique.ch/software/fpath/releases/fpath-0.7.2.tbz#md5:52c7ecb0bf180088336f3c645875fa41" + ], + "opam": { + "name": "fpath", + "version": "0.7.2", + "path": "test.esy.lock/opam/fpath.0.7.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/topkg@opam:1.0.0@61f4ccf9", + "@opam/result@opam:1.3@bee8bf2e", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/astring@opam:0.8.3@4e5e17d5", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", + "@opam/astring@opam:0.8.3@4e5e17d5" + ] + }, + "@opam/easy-format@opam:1.3.1@9abfd4ed": { + "id": "@opam/easy-format@opam:1.3.1@9abfd4ed", + "name": "@opam/easy-format", + "version": "opam:1.3.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/4e/4e163700fb88fdcd6b8976c3a216c8ea#md5:4e163700fb88fdcd6b8976c3a216c8ea", + "archive:https://github.com/mjambon/easy-format/archive/v1.3.1.tar.gz#md5:4e163700fb88fdcd6b8976c3a216c8ea" + ], + "opam": { + "name": "easy-format", + "version": "1.3.1", + "path": "test.esy.lock/opam/easy-format.1.3.1" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/dune@opam:1.7.3@72aad784": { + "id": "@opam/dune@opam:1.7.3@72aad784", + "name": "@opam/dune", + "version": "opam:1.7.3", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/64/644f0c1419d70b9daccac4b4e5664523#md5:644f0c1419d70b9daccac4b4e5664523", + "archive:https://github.com/ocaml/dune/releases/download/1.7.3/dune-1.7.3.tbz#md5:644f0c1419d70b9daccac4b4e5664523" + ], + "opam": { + "name": "dune", + "version": "1.7.3", + "path": "test.esy.lock/opam/dune.1.7.3" + } + }, + "overrides": [ + { + "opamoverride": + "test.esy.lock/overrides/opam__s__dune_opam__c__1.7.3_opam_override" + } + ], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", + "@opam/base-threads@opam:base@36803084", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb", + "@opam/base-threads@opam:base@36803084" + ] + }, + "@opam/cppo_ocamlbuild@opam:1.6.0@7c1eb503": { + "id": "@opam/cppo_ocamlbuild@opam:1.6.0@7c1eb503", + "name": "@opam/cppo_ocamlbuild", + "version": "opam:1.6.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/ae/aee411b3546bc5d198c71ae9185cade4#md5:aee411b3546bc5d198c71ae9185cade4", + "archive:https://github.com/mjambon/cppo/archive/v1.6.0.tar.gz#md5:aee411b3546bc5d198c71ae9185cade4" + ], + "opam": { + "name": "cppo_ocamlbuild", + "version": "1.6.0", + "path": "test.esy.lock/opam/cppo_ocamlbuild.1.6.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@opam/cppo@opam:1.6.5@bec3dbd9", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/cppo@opam:1.6.5@bec3dbd9" + ] + }, + "@opam/cppo@opam:1.6.5@bec3dbd9": { + "id": "@opam/cppo@opam:1.6.5@bec3dbd9", + "name": "@opam/cppo", + "version": "opam:1.6.5", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/1c/1cd25741d31417995b0973fe0b6f6c82#md5:1cd25741d31417995b0973fe0b6f6c82", + "archive:https://github.com/mjambon/cppo/archive/v1.6.5.tar.gz#md5:1cd25741d31417995b0973fe0b6f6c82" + ], + "opam": { + "name": "cppo", + "version": "1.6.5", + "path": "test.esy.lock/opam/cppo.1.6.5" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", + "@opam/base-unix@opam:base@87d0b2eb", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/base-unix@opam:base@87d0b2eb" + ] + }, + "@opam/conf-which@opam:1@56319cdb": { + "id": "@opam/conf-which@opam:1@56319cdb", + "name": "@opam/conf-which", + "version": "opam:1", + "source": { + "type": "install", + "source": [ "no-source:" ], + "opam": { + "name": "conf-which", + "version": "1", + "path": "test.esy.lock/opam/conf-which.1" + } + }, + "overrides": [], + "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], + "devDependencies": [] + }, + "@opam/conf-m4@opam:1@dd7dde42": { + "id": "@opam/conf-m4@opam:1@dd7dde42", + "name": "@opam/conf-m4", + "version": "opam:1", + "source": { + "type": "install", + "source": [ "no-source:" ], + "opam": { + "name": "conf-m4", + "version": "1", + "path": "test.esy.lock/opam/conf-m4.1" + } + }, + "overrides": [], + "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], + "devDependencies": [] + }, + "@opam/color@opam:0.2.0@8ef09171": { + "id": "@opam/color@opam:0.2.0@8ef09171", + "name": "@opam/color", + "version": "opam:0.2.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/36/36a5d45385a02f96d07d40d1b0fbcf8a#md5:36a5d45385a02f96d07d40d1b0fbcf8a", + "archive:https://github.com/anuragsoni/color/releases/download/0.2.0/color-0.2.0.tbz#md5:36a5d45385a02f96d07d40d1b0fbcf8a" + ], + "opam": { + "name": "color", + "version": "0.2.0", + "path": "test.esy.lock/opam/color.0.2.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/gg@opam:0.9.3@063e5657", + "@opam/dune@opam:1.7.3@72aad784", "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/gg@opam:0.9.3@063e5657" + ] + }, + "@opam/cmdliner@opam:1.0.2@8ab0598a": { + "id": "@opam/cmdliner@opam:1.0.2@8ab0598a", + "name": "@opam/cmdliner", + "version": "opam:1.0.2", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/ab/ab2f0130e88e8dcd723ac6154c98a881#md5:ab2f0130e88e8dcd723ac6154c98a881", + "archive:http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.2.tbz#md5:ab2f0130e88e8dcd723ac6154c98a881" + ], + "opam": { + "name": "cmdliner", + "version": "1.0.2", + "path": "test.esy.lock/opam/cmdliner.1.0.2" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/topkg@opam:1.0.0@61f4ccf9", + "@opam/result@opam:1.3@bee8bf2e", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e" + ] + }, + "@opam/chalk@opam:1.0@6f5da5ff": { + "id": "@opam/chalk@opam:1.0@6f5da5ff", + "name": "@opam/chalk", + "version": "opam:1.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/c6/c685f3024e5a4e74c86b4d9ce67ae34f#md5:c685f3024e5a4e74c86b4d9ce67ae34f", + "archive:https://github.com/nickzuber/chalk/archive/v1.0.tar.gz#md5:c685f3024e5a4e74c86b4d9ce67ae34f" + ], + "opam": { + "name": "chalk", + "version": "1.0", + "path": "test.esy.lock/opam/chalk.1.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5" + ] + }, + "@opam/camomile@opam:1.0.1@4a2e8bdd": { + "id": "@opam/camomile@opam:1.0.1@4a2e8bdd", + "name": "@opam/camomile", + "version": "opam:1.0.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/82/82e016653431353a07f22c259adc6e05#md5:82e016653431353a07f22c259adc6e05", + "archive:https://github.com/yoriyuki/Camomile/releases/download/1.0.1/camomile-1.0.1.tbz#md5:82e016653431353a07f22c259adc6e05" + ], + "opam": { + "name": "camomile", + "version": "1.0.1", + "path": "test.esy.lock/opam/camomile.1.0.1" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ "ocaml@4.7.1004@d41d8cd9" ] + }, + "@opam/biniou@opam:1.2.0@c8516f18": { + "id": "@opam/biniou@opam:1.2.0@c8516f18", + "name": "@opam/biniou", + "version": "opam:1.2.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/f3/f3e92358e832ed94eaf23ce622ccc2f9#md5:f3e92358e832ed94eaf23ce622ccc2f9", + "archive:https://github.com/mjambon/biniou/archive/v1.2.0.tar.gz#md5:f3e92358e832ed94eaf23ce622ccc2f9" + ], + "opam": { + "name": "biniou", + "version": "1.2.0", + "path": "test.esy.lock/opam/biniou.1.2.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/jbuilder@opam:transition@58bdfe0a", + "@opam/easy-format@opam:1.3.1@9abfd4ed", + "@opam/conf-which@opam:1@56319cdb", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/easy-format@opam:1.3.1@9abfd4ed" + ] + }, + "@opam/base-unix@opam:base@87d0b2eb": { + "id": "@opam/base-unix@opam:base@87d0b2eb", + "name": "@opam/base-unix", + "version": "opam:base", + "source": { + "type": "install", + "source": [ "no-source:" ], + "opam": { + "name": "base-unix", + "version": "base", + "path": "test.esy.lock/opam/base-unix.base" + } + }, + "overrides": [], + "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], + "devDependencies": [] + }, + "@opam/base-threads@opam:base@36803084": { + "id": "@opam/base-threads@opam:base@36803084", + "name": "@opam/base-threads", + "version": "opam:base", + "source": { + "type": "install", + "source": [ "no-source:" ], + "opam": { + "name": "base-threads", + "version": "base", + "path": "test.esy.lock/opam/base-threads.base" + } + }, + "overrides": [], + "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], + "devDependencies": [] + }, + "@opam/base-bytes@opam:base@19d0c2ff": { + "id": "@opam/base-bytes@opam:base@19d0c2ff", + "name": "@opam/base-bytes", + "version": "opam:base", + "source": { + "type": "install", + "source": [ "no-source:" ], + "opam": { + "name": "base-bytes", + "version": "base", + "path": "test.esy.lock/opam/base-bytes.base" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/ocamlfind@opam:1.8.0@f744a0c5" + ] + }, + "@opam/base-bigarray@opam:base@b03491b0": { + "id": "@opam/base-bigarray@opam:base@b03491b0", + "name": "@opam/base-bigarray", + "version": "opam:base", + "source": { + "type": "install", + "source": [ "no-source:" ], + "opam": { + "name": "base-bigarray", + "version": "base", + "path": "test.esy.lock/opam/base-bigarray.base" + } + }, + "overrides": [], + "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], + "devDependencies": [] + }, + "@opam/base@opam:v0.11.1@6ff71eb3": { + "id": "@opam/base@opam:v0.11.1@6ff71eb3", + "name": "@opam/base", + "version": "opam:v0.11.1", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/e7/e7e7dc5db3f1fea19d74a31bbd4ac621#md5:e7e7dc5db3f1fea19d74a31bbd4ac621", + "archive:https://github.com/janestreet/base/releases/download/v0.11.1/base-v0.11.1.tbz#md5:e7e7dc5db3f1fea19d74a31bbd4ac621" + ], + "opam": { + "name": "base", + "version": "v0.11.1", + "path": "test.esy.lock/opam/base.v0.11.1" + } + }, + "overrides": [ + { + "opamoverride": + "test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override" + } + ], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/sexplib0@opam:v0.11.0@9df6bcd1", + "@opam/jbuilder@opam:transition@58bdfe0a", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/sexplib0@opam:v0.11.0@9df6bcd1" + ] + }, + "@opam/astring@opam:0.8.3@4e5e17d5": { + "id": "@opam/astring@opam:0.8.3@4e5e17d5", + "name": "@opam/astring", + "version": "opam:0.8.3", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/md5/c5/c5bf6352b9ac27fbeab342740f4fa870#md5:c5bf6352b9ac27fbeab342740f4fa870", + "archive:http://erratique.ch/software/astring/releases/astring-0.8.3.tbz#md5:c5bf6352b9ac27fbeab342740f4fa870" + ], + "opam": { + "name": "astring", + "version": "0.8.3", + "path": "test.esy.lock/opam/astring.0.8.3" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/topkg@opam:1.0.0@61f4ccf9", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocamlbuild@opam:0.14.0@427a2331", + "@opam/base-bytes@opam:base@19d0c2ff", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/base-bytes@opam:base@19d0c2ff" + ] + }, + "@esy-ocaml/substs@0.0.1@d41d8cd9": { + "id": "@esy-ocaml/substs@0.0.1@d41d8cd9", + "name": "@esy-ocaml/substs", + "version": "0.0.1", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/@esy-ocaml/substs/-/substs-0.0.1.tgz#sha1:59ebdbbaedcda123fc7ed8fb2b302b7d819e9a46" + ] + }, + "overrides": [], + "dependencies": [], + "devDependencies": [] + }, + "@esy-ocaml/reason@3.4.0@d41d8cd9": { + "id": "@esy-ocaml/reason@3.4.0@d41d8cd9", + "name": "@esy-ocaml/reason", + "version": "3.4.0", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/@esy-ocaml/reason/-/reason-3.4.0.tgz#sha1:8c84c183a95d489a3e82ff0465effe4b56ff12af" + ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/result@opam:1.3@bee8bf2e", + "@opam/ocamlfind@opam:1.8.0@f744a0c5", + "@opam/ocaml-migrate-parsetree@opam:1.2.0@23e55f71", + "@opam/merlin-extend@opam:0.3@0af73a50", + "@opam/menhir@opam:20181113@0c8257a8", + "@opam/dune@opam:1.7.3@72aad784" + ], + "devDependencies": [] + }, + "@brisk/brisk-reconciler@github:briskml/brisk-reconciler#daa00be@d41d8cd9": { + "id": + "@brisk/brisk-reconciler@github:briskml/brisk-reconciler#daa00be@d41d8cd9", + "name": "@brisk/brisk-reconciler", + "version": "github:briskml/brisk-reconciler#daa00be", + "source": { + "type": "install", + "source": [ "github:briskml/brisk-reconciler#daa00be" ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.7.1004@d41d8cd9", "@opam/dune@opam:1.7.3@72aad784", + "@esy-ocaml/reason@3.4.0@d41d8cd9" + ], + "devDependencies": [] + } + } +} \ No newline at end of file diff --git a/test.esy.lock/opam/astring.0.8.3/opam b/test.esy.lock/opam/astring.0.8.3/opam new file mode 100644 index 0000000000..578ba1fae2 --- /dev/null +++ b/test.esy.lock/opam/astring.0.8.3/opam @@ -0,0 +1,38 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +authors: ["Daniel Bünzli "] +homepage: "http://erratique.ch/software/astring" +doc: "http://erratique.ch/software/astring/doc" +dev-repo: "git+http://erratique.ch/repos/astring.git" +bug-reports: "https://github.com/dbuenzli/astring/issues" +tags: [ "string" "org:erratique" ] +license: "ISC" +depends: [ + "ocaml" {>= "4.01.0"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {build} + "base-bytes" +] +build: [[ + "ocaml" "pkg/pkg.ml" "build" + "--pinned" "%{pinned}%" ]] +synopsis: "Alternative String module for OCaml" +description: """ +Astring exposes an alternative `String` module for OCaml. This module +tries to balance minimality and expressiveness for basic, index-free, +string processing and provides types and functions for substrings, +string sets and string maps. + +Remaining compatible with the OCaml `String` module is a non-goal. The +`String` module exposed by Astring has exception safe functions, +removes deprecated and rarely used functions, alters some signatures +and names, adds a few missing functions and fully exploits OCaml's +newfound string immutability. + +Astring depends only on the OCaml standard library. It is distributed +under the ISC license.""" +url { + src: "http://erratique.ch/software/astring/releases/astring-0.8.3.tbz" + checksum: "md5=c5bf6352b9ac27fbeab342740f4fa870" +} diff --git a/test.esy.lock/opam/base-bigarray.base/opam b/test.esy.lock/opam/base-bigarray.base/opam new file mode 100644 index 0000000000..39e9af21a8 --- /dev/null +++ b/test.esy.lock/opam/base-bigarray.base/opam @@ -0,0 +1,6 @@ +opam-version: "2.0" +maintainer: "https://github.com/ocaml/opam-repository/issues" +description: """ +Bigarray library distributed with the OCaml compiler +""" + diff --git a/test.esy.lock/opam/base-bytes.base/opam b/test.esy.lock/opam/base-bytes.base/opam new file mode 100644 index 0000000000..f1cae506c6 --- /dev/null +++ b/test.esy.lock/opam/base-bytes.base/opam @@ -0,0 +1,9 @@ +opam-version: "2.0" +maintainer: " " +authors: " " +homepage: " " +depends: [ + "ocaml" {>= "4.02.0"} + "ocamlfind" {>= "1.5.3"} +] +synopsis: "Bytes library distributed with the OCaml compiler" diff --git a/test.esy.lock/opam/base-threads.base/opam b/test.esy.lock/opam/base-threads.base/opam new file mode 100644 index 0000000000..914ff50ceb --- /dev/null +++ b/test.esy.lock/opam/base-threads.base/opam @@ -0,0 +1,6 @@ +opam-version: "2.0" +maintainer: "https://github.com/ocaml/opam-repository/issues" +description: """ +Threads library distributed with the OCaml compiler +""" + diff --git a/test.esy.lock/opam/base-unix.base/opam b/test.esy.lock/opam/base-unix.base/opam new file mode 100644 index 0000000000..b973540bcb --- /dev/null +++ b/test.esy.lock/opam/base-unix.base/opam @@ -0,0 +1,6 @@ +opam-version: "2.0" +maintainer: "https://github.com/ocaml/opam-repository/issues" +description: """ +Unix library distributed with the OCaml compiler +""" + diff --git a/test.esy.lock/opam/base.v0.11.1/opam b/test.esy.lock/opam/base.v0.11.1/opam new file mode 100644 index 0000000000..67b922ab9e --- /dev/null +++ b/test.esy.lock/opam/base.v0.11.1/opam @@ -0,0 +1,37 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/janestreet/base" +bug-reports: "https://github.com/janestreet/base/issues" +dev-repo: "git+https://github.com/janestreet/base.git" +license: "Apache-2.0" +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.04.1" & < "4.08.0"} + "sexplib0" {>= "v0.11" & < "v0.12"} + "jbuilder" {build & >= "1.0+beta18.1"} +] +depopts: [ + "base-native-int63" +] +synopsis: "Full standard library replacement for OCaml" +description: """ +Full standard library replacement for OCaml + +Base is a complete and portable alternative to the OCaml standard +library. It provides all standard functionalities one would expect +from a language standard library. It uses consistent conventions +across all of its module. + +Base aims to be usable in any context. As a result system dependent +features such as I/O are not offered by Base. They are instead +provided by companion libraries such as stdio: + + https://github.com/janestreet/stdio""" +url { + src: + "https://github.com/janestreet/base/releases/download/v0.11.1/base-v0.11.1.tbz" + checksum: "md5=e7e7dc5db3f1fea19d74a31bbd4ac621" +} diff --git a/test.esy.lock/opam/biniou.1.2.0/opam b/test.esy.lock/opam/biniou.1.2.0/opam new file mode 100644 index 0000000000..8c205dc177 --- /dev/null +++ b/test.esy.lock/opam/biniou.1.2.0/opam @@ -0,0 +1,25 @@ +opam-version: "2.0" +maintainer: "martin@mjambon.com" +authors: ["Martin Jambon"] + +homepage: "https://github.com/mjambon/biniou" +bug-reports: "https://github.com/mjambon/biniou/issues" +dev-repo: "git+https://github.com/mjambon/biniou.git" +license: "BSD-3-Clause" + +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] + ["jbuilder" "runtest" "-p" name] {with-test} +] +depends: [ + "ocaml" {>= "4.02.3"} + "conf-which" {build} + "jbuilder" {build & >= "1.0+beta7"} + "easy-format" +] +synopsis: + "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve" +url { + src: "https://github.com/mjambon/biniou/archive/v1.2.0.tar.gz" + checksum: "md5=f3e92358e832ed94eaf23ce622ccc2f9" +} diff --git a/test.esy.lock/opam/camomile.1.0.1/opam b/test.esy.lock/opam/camomile.1.0.1/opam new file mode 100644 index 0000000000..7639814724 --- /dev/null +++ b/test.esy.lock/opam/camomile.1.0.1/opam @@ -0,0 +1,27 @@ +opam-version: "2.0" +maintainer: "yoriyuki.y@gmail.com" +authors: ["Yoriyuki Yamagata"] +homepage: "https://github.com/yoriyuki/Camomile/wiki" +bug-reports: "https://github.com/yoriyuki/Camomile/issues" +license: "LGPL-2+ with OCaml linking exception" +dev-repo: "git+https://github.com/yoriyuki/Camomile.git" +build: [ + ["ocaml" "configure.ml" "--share" "%{share}%/camomile"] + ["jbuilder" "subst" "-p" name] {pinned} + ["jbuilder" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.02.3"} + "jbuilder" {build & >= "1.0+beta17"} +] +synopsis: "A Unicode library" +description: """ +Camomile is a Unicode library for OCaml. Camomile provides Unicode character +type, UTF-8, UTF-16, UTF-32 strings, conversion to/from about 200 encodings, +collation and locale-sensitive case mappings, and more. The library is currently +designed for Unicode Standard 3.2.""" +url { + src: + "https://github.com/yoriyuki/Camomile/releases/download/1.0.1/camomile-1.0.1.tbz" + checksum: "md5=82e016653431353a07f22c259adc6e05" +} diff --git a/test.esy.lock/opam/chalk.1.0/opam b/test.esy.lock/opam/chalk.1.0/opam new file mode 100644 index 0000000000..460733298b --- /dev/null +++ b/test.esy.lock/opam/chalk.1.0/opam @@ -0,0 +1,27 @@ +opam-version: "2.0" +maintainer: "Nick Zuber " +authors: "Nick Zuber " +homepage: "https://github.com/nickzuber/chalk" +bug-reports: "https://github.com/nickzuber/chalk/issues" +license: "MIT" +dev-repo: "git+ssh://git@github.com/nickzuber/chalk.git" +build: [make "build"] +install: [make "build"] +remove: ["ocamlfind" "remove" "chalk"] +depends: ["ocaml" "ocamlfind"] +synopsis: "Composable and simple terminal highlighting package" +description: """ +Composable and simple terminal highlighting package. Very simple API; +and example usage could be as follows: + +```ocaml +let some_string = "Hello world!" + |> Chalk.red + |> Chalk.bold + |> Chalk.underline +```""" +flags: light-uninstall +url { + src: "https://github.com/nickzuber/chalk/archive/v1.0.tar.gz" + checksum: "md5=c685f3024e5a4e74c86b4d9ce67ae34f" +} diff --git a/test.esy.lock/opam/cmdliner.1.0.2/opam b/test.esy.lock/opam/cmdliner.1.0.2/opam new file mode 100644 index 0000000000..621e334a5a --- /dev/null +++ b/test.esy.lock/opam/cmdliner.1.0.2/opam @@ -0,0 +1,39 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +authors: ["Daniel Bünzli "] +homepage: "http://erratique.ch/software/cmdliner" +doc: "http://erratique.ch/software/cmdliner/doc/Cmdliner" +dev-repo: "git+http://erratique.ch/repos/cmdliner.git" +bug-reports: "https://github.com/dbuenzli/cmdliner/issues" +tags: [ "cli" "system" "declarative" "org:erratique" ] +license: "ISC" +depends: [ + "ocaml" {>= "4.01.0"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {>= "0.8.1" & build} + "result" +] +build: [[ + "ocaml" "pkg/pkg.ml" "build" + "--pinned" "%{pinned}%" +]] +synopsis: "Declarative definition of command line interfaces for OCaml" +description: """ +Cmdliner allows the declarative definition of command line interfaces +for OCaml. + +It provides a simple and compositional mechanism to convert command +line arguments to OCaml values and pass them to your functions. The +module automatically handles syntax errors, help messages and UNIX man +page generation. It supports programs with single or multiple commands +and respects most of the [POSIX][1] and [GNU][2] conventions. + +Cmdliner has no dependencies and is distributed under the ISC license. + +[1]: http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html +[2]: http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html""" +url { + src: "http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.2.tbz" + checksum: "md5=ab2f0130e88e8dcd723ac6154c98a881" +} diff --git a/test.esy.lock/opam/color.0.2.0/opam b/test.esy.lock/opam/color.0.2.0/opam new file mode 100644 index 0000000000..07de7403d9 --- /dev/null +++ b/test.esy.lock/opam/color.0.2.0/opam @@ -0,0 +1,38 @@ +opam-version: "2.0" +name: "color" +maintainer: "anuragsoni.13@gmail.com" +authors: ["Anurag Soni"] +homepage: "https://github.com/anuragsoni/color" +dev-repo: "git+https://github.com/anuragsoni/color.git" +bug-reports: "https://github.com/anuragsoni/color/issues" +doc: "https://anuragsoni.github.io/color/" +license: "MIT" + +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name "-j" jobs] {with-test} +] + +depends: [ + "ocaml" {>= "4.05.0"} + "dune" {build} + "alcotest" {with-test} + "gg" +] + +description: """ +Converts between different color formats + +Library that converts between different color formats. Right now it deals with +HSL, HSLA, RGB and RGBA formats. + +The goal for this library is to provide easy handling of colors on the web, when working +with `js_of_ocaml`. +""" + +url { + src: "https://github.com/anuragsoni/color/releases/download/0.2.0/color-0.2.0.tbz" + checksum: ["md5=36a5d45385a02f96d07d40d1b0fbcf8a"] +} + diff --git a/test.esy.lock/opam/conf-m4.1/opam b/test.esy.lock/opam/conf-m4.1/opam new file mode 100644 index 0000000000..981e70213b --- /dev/null +++ b/test.esy.lock/opam/conf-m4.1/opam @@ -0,0 +1,23 @@ +opam-version: "2.0" +maintainer: "tim@gfxmonk.net" +homepage: "http://www.gnu.org/software/m4/m4.html" +bug-reports: "https://github.com/ocaml/opam-repository/issues" +authors: "GNU Project" +license: "GPL-3" +build: [["sh" "-exc" "echo | m4"]] +depexts: [ + ["m4"] {os-distribution = "debian"} + ["m4"] {os-distribution = "ubuntu"} + ["m4"] {os-distribution = "fedora"} + ["m4"] {os-distribution = "rhel"} + ["m4"] {os-distribution = "centos"} + ["m4"] {os-distribution = "alpine"} + ["m4"] {os-distribution = "nixos"} + ["m4"] {os-family = "suse"} + ["m4"] {os-distribution = "ol"} + ["m4"] {os-distribution = "arch"} +] +synopsis: "Virtual package relying on m4" +description: + "This package can only install if the m4 binary is installed on the system." +flags: conf diff --git a/test.esy.lock/opam/conf-which.1/opam b/test.esy.lock/opam/conf-which.1/opam new file mode 100644 index 0000000000..802239a5ba --- /dev/null +++ b/test.esy.lock/opam/conf-which.1/opam @@ -0,0 +1,20 @@ +opam-version: "2.0" +maintainer: "unixjunkie@sdf.org" +homepage: "http://www.gnu.org/software/which/" +authors: "Carlo Wood" +bug-reports: "https://github.com/ocaml/opam-repository/issues" +license: "GPL-2+" +build: [["which" "which"]] +depexts: [ + ["which"] {os-distribution = "centos"} + ["which"] {os-distribution = "fedora"} + ["which"] {os-family = "suse"} + ["debianutils"] {os-distribution = "debian"} + ["debianutils"] {os-distribution = "ubuntu"} + ["which"] {os-distribution = "nixos"} + ["which"] {os-distribution = "arch"} +] +synopsis: "Virtual package relying on which" +description: + "This package can only install if the which program is installed on the system." +flags: conf diff --git a/test.esy.lock/opam/cppo.1.6.5/opam b/test.esy.lock/opam/cppo.1.6.5/opam new file mode 100644 index 0000000000..74f8e925a4 --- /dev/null +++ b/test.esy.lock/opam/cppo.1.6.5/opam @@ -0,0 +1,23 @@ +opam-version: "2.0" +maintainer: "martin@mjambon.com" +authors: ["Martin Jambon"] +homepage: "https://github.com/mjambon/cppo" +dev-repo: "git+https://github.com/mjambon/cppo.git" +bug-reports: "https://github.com/mjambon/cppo/issues" +license: "BSD-3-Clause" + +build: [ + ["jbuilder" "subst" "-p" name] {pinned} + ["jbuilder" "build" "-p" name "-j" jobs] + ["jbuilder" "runtest" "-p" name] {with-test} +] +depends: [ + "ocaml" + "jbuilder" {build & >= "1.0+beta17"} + "base-unix" +] +synopsis: "Equivalent of the C preprocessor for OCaml programs" +url { + src: "https://github.com/mjambon/cppo/archive/v1.6.5.tar.gz" + checksum: "md5=1cd25741d31417995b0973fe0b6f6c82" +} diff --git a/test.esy.lock/opam/cppo_ocamlbuild.1.6.0/opam b/test.esy.lock/opam/cppo_ocamlbuild.1.6.0/opam new file mode 100644 index 0000000000..1a429680f1 --- /dev/null +++ b/test.esy.lock/opam/cppo_ocamlbuild.1.6.0/opam @@ -0,0 +1,25 @@ +opam-version: "2.0" +maintainer: "martin@mjambon.com" +authors: ["Martin Jambon"] +homepage: "http://mjambon.com/cppo.html" +dev-repo: "git+https://github.com/mjambon/cppo.git" +bug-reports: "https://github.com/mjambon/cppo/issues" +license: "BSD-3-Clause" + +build: [ + ["jbuilder" "subst" "-p" name] {pinned} + ["jbuilder" "build" "-p" name "-j" jobs] +] + +depends: [ + "ocaml" + "jbuilder" {build & >= "1.0+beta10"} + "ocamlbuild" + "ocamlfind" + "cppo" {>= "1.6.0"} +] +synopsis: "ocamlbuild support for cppo, OCaml-friendly source preprocessor" +url { + src: "https://github.com/mjambon/cppo/archive/v1.6.0.tar.gz" + checksum: "md5=aee411b3546bc5d198c71ae9185cade4" +} diff --git a/test.esy.lock/opam/dune.1.7.3/opam b/test.esy.lock/opam/dune.1.7.3/opam new file mode 100644 index 0000000000..677670b448 --- /dev/null +++ b/test.esy.lock/opam/dune.1.7.3/opam @@ -0,0 +1,47 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/ocaml/dune" +bug-reports: "https://github.com/ocaml/dune/issues" +dev-repo: "git+https://github.com/ocaml/dune.git" +license: "MIT" +depends: [ + "ocaml" {>= "4.02"} + "base-unix" + "base-threads" +] +build: [ + # opam 2 sets OPAM_SWITCH_PREFIX, so we don't need a hardcoded path + ["ocaml" "configure.ml" "--libdir" lib] {opam-version < "2"} + ["ocaml" "bootstrap.ml"] + ["./boot.exe" "--release" "--subst"] {pinned} + ["./boot.exe" "--release" "-j" jobs] +] +conflicts: [ + "jbuilder" {!= "transition"} + "odoc" {< "1.3.0"} +] + +synopsis: "Fast, portable and opinionated build system" +description: """ +dune is a build system that was designed to simplify the release of +Jane Street packages. It reads metadata from "dune" files following a +very simple s-expression syntax. + +dune is fast, it has very low-overhead and support parallel builds on +all platforms. It has no system dependencies, all you need to build +dune and packages using dune is OCaml. You don't need or make or bash +as long as the packages themselves don't use bash explicitly. + +dune supports multi-package development by simply dropping multiple +repositories into the same directory. + +It also supports multi-context builds, such as building against +several opam roots/switches simultaneously. This helps maintaining +packages across several versions of OCaml and gives cross-compilation +for free. +""" +url { + src: "https://github.com/ocaml/dune/releases/download/1.7.3/dune-1.7.3.tbz" + checksum: "md5=644f0c1419d70b9daccac4b4e5664523" +} diff --git a/test.esy.lock/opam/easy-format.1.3.1/opam b/test.esy.lock/opam/easy-format.1.3.1/opam new file mode 100644 index 0000000000..7c36f66217 --- /dev/null +++ b/test.esy.lock/opam/easy-format.1.3.1/opam @@ -0,0 +1,20 @@ +opam-version: "2.0" +maintainer: "martin@mjambon.com" +authors: ["Martin Jambon"] +homepage: "http://mjambon.com/easy-format.html" +bug-reports: "https://github.com/mjambon/easy-format/issues" +dev-repo: "git+https://github.com/mjambon/easy-format.git" +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] + ["jbuilder" "runtest" "-p" name] {with-test} +] +depends: [ + "ocaml" {>= "4.02.3"} + "jbuilder" {build} +] +synopsis: + "High-level and functional interface to the Format module of the OCaml standard library" +url { + src: "https://github.com/mjambon/easy-format/archive/v1.3.1.tar.gz" + checksum: "md5=4e163700fb88fdcd6b8976c3a216c8ea" +} diff --git a/test.esy.lock/opam/fpath.0.7.2/opam b/test.esy.lock/opam/fpath.0.7.2/opam new file mode 100644 index 0000000000..2613a6accb --- /dev/null +++ b/test.esy.lock/opam/fpath.0.7.2/opam @@ -0,0 +1,34 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +authors: ["Daniel Bünzli "] +homepage: "http://erratique.ch/software/fpath" +doc: "http://erratique.ch/software/fpath/doc" +dev-repo: "git+http://erratique.ch/repos/fpath.git" +bug-reports: "https://github.com/dbuenzli/fpath/issues" +tags: [ "file" "system" "path" "org:erratique" ] +license: "ISC" +depends: [ + "ocaml" {>= "4.01.0"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {build & >= "0.9.0"} + "result" + "astring" +] +build: [[ + "ocaml" "pkg/pkg.ml" "build" + "--dev-pkg" "%{pinned}%" ]] +synopsis: "File system paths for OCaml" +description: """ +Fpath is an OCaml module for handling file system paths with POSIX or +Windows conventions. Fpath processes paths without accessing the file +system and is independent from any system library. + +Fpath depends on [Astring][astring] and is distributed under the ISC +license. + +[astring]: http://erratique.ch/software/astring""" +url { + src: "http://erratique.ch/software/fpath/releases/fpath-0.7.2.tbz" + checksum: "md5=52c7ecb0bf180088336f3c645875fa41" +} diff --git a/test.esy.lock/opam/gg.0.9.3/opam b/test.esy.lock/opam/gg.0.9.3/opam new file mode 100644 index 0000000000..b148d7046d --- /dev/null +++ b/test.esy.lock/opam/gg.0.9.3/opam @@ -0,0 +1,36 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +homepage: "http://erratique.ch/software/gg" +authors: [ "The gg programmers" ] +doc: "http://erratique.ch/software/gg/doc/Gg" +dev-repo: "git+http://erratique.ch/repos/gg.git" +bug-reports: "https://github.com/dbuenzli/gg/issues" +tags: [ "matrix" "vector" "color" "data-structure" "graphics" "org:erratique"] +license: "ISC" +depends: [ + "ocaml" {>= "4.02.2"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {build} + "base-bigarray" +# "bench" {with-test} +] +build: [[ + "ocaml" "pkg/pkg.ml" "build" "--pinned" "%{pinned}%" +]] +synopsis: """Basic types for computer graphics in OCaml""" +description: """\ + +Gg is an OCaml module providing basic types for computer graphics. + +It defines types and functions for floats, vectors, points, sizes, +matrices, quaternions, axis-aligned boxes, colors, color spaces, and +raster data. + +Gg is made of a single module, depends on bigarrays, and is +distributed under the ISC license. +""" +url { +archive: "http://erratique.ch/software/gg/releases/gg-0.9.3.tbz" +checksum: "1801fc7b6af16c597ef0bfaacc12cd5b" +} diff --git a/test.esy.lock/opam/jbuilder.transition/opam b/test.esy.lock/opam/jbuilder.transition/opam new file mode 100644 index 0000000000..3e3174a5f9 --- /dev/null +++ b/test.esy.lock/opam/jbuilder.transition/opam @@ -0,0 +1,15 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/ocaml/dune" +bug-reports: "https://github.com/ocaml/dune/issues" +dev-repo: "git+https://github.com/ocaml/dune.git" +license: "MIT" +depends: ["ocaml" "dune"] +post-messages: [ + "Jbuilder has been renamed and the jbuilder package is now a transition \ + package. Use the dune package instead." +] +synopsis: + "This is a transition package, jbuilder is now named dune. Use the dune" +description: "package instead." diff --git a/test.esy.lock/opam/js_of_ocaml-lwt.3.3.0/opam b/test.esy.lock/opam/js_of_ocaml-lwt.3.3.0/opam new file mode 100644 index 0000000000..756a7f50bd --- /dev/null +++ b/test.esy.lock/opam/js_of_ocaml-lwt.3.3.0/opam @@ -0,0 +1,25 @@ +opam-version: "2.0" +maintainer: "dev@ocsigen.org" +authors: "Ocsigen team" +bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues" +homepage: "http://ocsigen.org/js_of_ocaml" +dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git" + +name: "js_of_ocaml-lwt" + +build: [["dune" "build" "-p" name "-j" jobs]] + +depends: [ + "ocaml" {>= "4.02.0"} + "dune" {build & >= "1.2"} + "lwt" {>= "2.4.4"} + "js_of_ocaml" {>= "3.2"} + "js_of_ocaml-ppx" +] +depopts: [ "graphics" "lwt_log" ] + +synopsis: "Compiler from OCaml bytecode to Javascript" +url { + src: "https://github.com/ocsigen/js_of_ocaml/archive/3.3.0.tar.gz" + checksum: "md5=438051f64e307edbda42f250a3d9cef1" +} diff --git a/test.esy.lock/opam/js_of_ocaml-ppx.3.3.0/opam b/test.esy.lock/opam/js_of_ocaml-ppx.3.3.0/opam new file mode 100644 index 0000000000..7c2967c7d5 --- /dev/null +++ b/test.esy.lock/opam/js_of_ocaml-ppx.3.3.0/opam @@ -0,0 +1,27 @@ +opam-version: "2.0" +maintainer: "dev@ocsigen.org" +authors: "Ocsigen team" +bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues" +homepage: "http://ocsigen.org/js_of_ocaml" +dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git" + +name: "js_of_ocaml-ppx" + +build: [["dune" "build" "-p" name "-j" jobs]] + +depends: [ + "ocaml" {>= "4.02.0"} + "dune" {build & >= "1.2"} + "ocaml-migrate-parsetree" + "ppx_tools_versioned" + "js_of_ocaml" {>= "3.0"} +] +conflicts: [ + "ppx_tools_versioned" {<="5.0beta0"} +] + +synopsis: "Compiler from OCaml bytecode to Javascript" +url { + src: "https://github.com/ocsigen/js_of_ocaml/archive/3.3.0.tar.gz" + checksum: "md5=438051f64e307edbda42f250a3d9cef1" +} diff --git a/test.esy.lock/opam/junit.2.0.1/opam b/test.esy.lock/opam/junit.2.0.1/opam new file mode 100644 index 0000000000..5068d1b9ee --- /dev/null +++ b/test.esy.lock/opam/junit.2.0.1/opam @@ -0,0 +1,29 @@ +opam-version: "2.0" +maintainer: "Louis Roché " +authors: "Louis Roché " +homepage: "https://github.com/Khady/ocaml-junit" +bug-reports: "https://github.com/Khady/ocaml-junit/issues" +license: "LGPLv3+ with OCaml linking exception" +dev-repo: "git+https://github.com/Khady/ocaml-junit.git" +doc: "https://khady.github.io/ocaml-junit/" +tags: ["junit" "jenkins"] +depends: [ + "dune" {build & >= "1.0"} + "ptime" + "tyxml" {>= "4.0.0"} + "odoc" {with-doc & >= "1.1.1"} +] +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name "-j" jobs] {with-test} + ["dune" "build" "-p" name "-j" jobs] {with-doc} +] +name: "junit" +synopsis: "JUnit XML reports generation library" +description: "JUnit XML reports generation library" +url { + src: + "https://github.com/Khady/ocaml-junit/releases/download/2.0.1/junit-2.0.1.tbz" + checksum: "md5=40224fb3d4f5e47dc5ff4605587d383b" +} diff --git a/test.esy.lock/opam/lambda-term.1.13/opam b/test.esy.lock/opam/lambda-term.1.13/opam new file mode 100644 index 0000000000..604bcb82a2 --- /dev/null +++ b/test.esy.lock/opam/lambda-term.1.13/opam @@ -0,0 +1,36 @@ +opam-version: "2.0" +maintainer: "jeremie@dimino.org" +authors: ["Jérémie Dimino"] +homepage: "https://github.com/diml/lambda-term" +bug-reports: "https://github.com/diml/lambda-term/issues" +dev-repo: "git://github.com/diml/lambda-term.git" +license: "BSD3" +build: [ + ["jbuilder" "subst" "-p" name] {pinned} + ["jbuilder" "build" "-p" name "-j" jobs] + ["jbuilder" "runtest" "-p" name "-j" jobs] {with-test} +] +depends: [ + "ocaml" {>= "4.02.3"} + "lwt" {>= "4.0.0"} + "lwt_log" + "react" + "zed" {>= "1.2"} + "camomile" {>= "0.8.6"} + "lwt_react" + "jbuilder" {build & >= "1.0+beta9"} +] +synopsis: "Terminal manipulation library for OCaml" +description: """ +Lambda-term is a cross-platform library for manipulating the terminal. It +provides an abstraction for keys, mouse events, colors, as well as a set of +widgets to write curses-like applications. The main objective of lambda-term is +to provide a higher level functional interface to terminal manipulation than, +for example, ncurses, by providing a native OCaml interface instead of bindings +to a C library. Lambda-term integrates with zed to provide text edition +facilities in console applications.""" +url { + src: + "https://github.com/diml/lambda-term/releases/download/1.13/lambda-term-1.13.tbz" + checksum: "md5=c13826a97014d4d573b927b623c7e043" +} diff --git a/test.esy.lock/opam/lwt.4.2.1/opam b/test.esy.lock/opam/lwt.4.2.1/opam new file mode 100644 index 0000000000..0b30db90b6 --- /dev/null +++ b/test.esy.lock/opam/lwt.4.2.1/opam @@ -0,0 +1,58 @@ +opam-version: "2.0" + +synopsis: "Promises and event-driven I/O" + +license: "MIT" +homepage: "https://github.com/ocsigen/lwt" +doc: "https://ocsigen.org/lwt/manual/" +bug-reports: "https://github.com/ocsigen/lwt/issues" + +authors: [ + "Jérôme Vouillon" + "Jérémie Dimino" +] +maintainer: [ + "Anton Bachin " + "Mauricio Fernandez " + "Simon Cruanes " +] +dev-repo: "git+https://github.com/ocsigen/lwt.git" + +depends: [ + "cppo" {build & >= "1.1.0"} + "dune" {build} + "mmap" # mmap is needed as long as Lwt supports OCaml < 4.06.0. + "ocaml" {>= "4.02.0"} + "result" # result is needed as long as Lwt supports OCaml 4.02. + "seq" # seq is needed as long as Lwt supports OCaml < 4.07.0. + + "bisect_ppx" {dev & >= "1.3.0"} + "ocamlfind" {dev & >= "1.7.3-1"} +] +depopts: [ + "base-threads" + "base-unix" + "conf-libev" +] + +conflicts: [ + "ocaml-variants" {= "4.02.1+BER"} +] + +build: [ + ["dune" "build" "-p" name "-j" jobs] +] + +description: "A promise is a value that may become determined in the future. + +Lwt provides typed, composable promises. Promises that are resolved by I/O are +resolved by Lwt in parallel. + +Meanwhile, OCaml code, including code creating and waiting on promises, runs in +a single thread by default. This reduces the need for locks or other +synchronization primitives. Code can be run in parallel on an opt-in basis." + +url { + src: "https://github.com/ocsigen/lwt/archive/4.2.1.tar.gz" + checksum: "md5=9d648386ca0a9978eb9487de36b781cc" +} diff --git a/test.esy.lock/opam/lwt_log.1.1.0/opam b/test.esy.lock/opam/lwt_log.1.1.0/opam new file mode 100644 index 0000000000..56196df90e --- /dev/null +++ b/test.esy.lock/opam/lwt_log.1.1.0/opam @@ -0,0 +1,26 @@ +opam-version: "2.0" +version: "1.1.0" +homepage: "https://github.com/aantron/lwt_log" +doc: "https://github.com/aantron/lwt_log/blob/master/src/core/lwt_log_core.mli" +bug-reports: "https://github.com/aantron/lwt_log/issues" +license: "LGPL" + +authors: [ + "Shawn Wagner" + "Jérémie Dimino" +] +maintainer: "Anton Bachin " +dev-repo: "git+https://github.com/aantron/lwt_log.git" +depends: [ + "ocaml" + "jbuilder" {build & >= "1.0+beta10"} + "lwt" {>= "4.0.0"} +] +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] +] +synopsis: "Lwt logging library (deprecated)" +url { + src: "https://github.com/aantron/lwt_log/archive/1.1.0.tar.gz" + checksum: "md5=92142135d01a4d7e805990cc98653d55" +} diff --git a/test.esy.lock/opam/lwt_ppx.1.2.2/opam b/test.esy.lock/opam/lwt_ppx.1.2.2/opam new file mode 100644 index 0000000000..bdc2b6c917 --- /dev/null +++ b/test.esy.lock/opam/lwt_ppx.1.2.2/opam @@ -0,0 +1,33 @@ +opam-version: "2.0" + +synopsis: "PPX syntax for Lwt, providing something similar to async/await from JavaScript" + +license: "MIT" +homepage: "https://github.com/ocsigen/lwt" +doc: "https://ocsigen.org/lwt/api/Ppx_lwt" +bug-reports: "https://github.com/ocsigen/lwt/issues" + +authors: [ + "Gabriel Radanne" +] +maintainer: [ + "Anton Bachin " +] +dev-repo: "git+https://github.com/ocsigen/lwt.git" + +depends: [ + "dune" {build} + "lwt" + "ocaml" {>= "4.02.0"} + "ocaml-migrate-parsetree" + "ppx_tools_versioned" {>= "5.0.1"} +] + +build: [ + ["dune" "build" "-p" name "-j" jobs] +] + +url { + src: "https://github.com/ocsigen/lwt/archive/4.2.0.tar.gz" + checksum: "md5=2ce7827948adc611319f9449e4519070" +} diff --git a/test.esy.lock/opam/lwt_react.1.1.2/opam b/test.esy.lock/opam/lwt_react.1.1.2/opam new file mode 100644 index 0000000000..3d70371af9 --- /dev/null +++ b/test.esy.lock/opam/lwt_react.1.1.2/opam @@ -0,0 +1,34 @@ +opam-version: "2.0" + +synopsis: "Helpers for using React with Lwt" + +license: "MIT" +homepage: "https://github.com/ocsigen/lwt" +doc: "https://ocsigen.org/lwt/api/Lwt_react" +bug-reports: "https://github.com/ocsigen/lwt/issues" + +authors: [ + "Jérémie Dimino" +] +maintainer: [ + "Anton Bachin " + "Mauricio Fernandez " + "Simon Cruanes " +] +dev-repo: "git+https://github.com/ocsigen/lwt.git" + +depends: [ + "dune" {build} + "lwt" {>= "3.0.0"} + "ocaml" + "react" {>= "1.0.0"} +] + +build: [ + ["dune" "build" "-p" name "-j" jobs] +] + +url { + src: "https://github.com/ocsigen/lwt/archive/4.2.0.tar.gz" + checksum: "md5=2ce7827948adc611319f9449e4519070" +} diff --git a/test.esy.lock/opam/menhir.20181113/opam b/test.esy.lock/opam/menhir.20181113/opam new file mode 100644 index 0000000000..d207e08ca9 --- /dev/null +++ b/test.esy.lock/opam/menhir.20181113/opam @@ -0,0 +1,32 @@ +opam-version: "2.0" +maintainer: "francois.pottier@inria.fr" +authors: [ + "François Pottier " + "Yann Régis-Gianas " +] +homepage: "http://gitlab.inria.fr/fpottier/menhir" +dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" +bug-reports: "menhir@inria.fr" +build: [ + [make "-f" "Makefile" "PREFIX=%{prefix}%" "USE_OCAMLFIND=true" "docdir=%{doc}%/menhir" "libdir=%{lib}%/menhir" "mandir=%{man}%/man1"] +] +install: [ + [make "-f" "Makefile" "install" "PREFIX=%{prefix}%" "docdir=%{doc}%/menhir" "libdir=%{lib}%/menhir" "mandir=%{man}%/man1"] +] +remove: [ + [make "-f" "Makefile" "uninstall" "PREFIX=%{prefix}%" "docdir=%{doc}%/menhir" "libdir=%{lib}%/menhir" "mandir=%{man}%/man1"] +] +depends: [ + "ocaml" {>= "4.02"} + "ocamlfind" {build} + "ocamlbuild" {build} +] +synopsis: "An LR(1) parser generator" +url { + src: + "https://gitlab.inria.fr/fpottier/menhir/repository/20181113/archive.tar.gz" + checksum: [ + "md5=69ce441a06ea131cd43e7b44c4303f3c" + "sha512=4ddefcd71d305bfb933a4056da57e36c13c99ec6dfcc4695814798fbbd78b4d65828381ebcb0e58c4c0394105ac763af3d475474e05e408f7080315bc3cf6176" + ] +} diff --git a/test.esy.lock/opam/merlin-extend.0.3/opam b/test.esy.lock/opam/merlin-extend.0.3/opam new file mode 100644 index 0000000000..03ed72e73a --- /dev/null +++ b/test.esy.lock/opam/merlin-extend.0.3/opam @@ -0,0 +1,24 @@ +opam-version: "2.0" +maintainer: "Frederic Bour " +authors: "Frederic Bour " +homepage: "https://github.com/let-def/merlin-extend" +bug-reports: "https://github.com/let-def/merlin-extend" +license: "MIT" +dev-repo: "git+https://github.com/let-def/merlin-extend.git" +build: [make] +install: [make "install"] +remove: ["ocamlfind" "remove" "merlin_extend"] +depends: [ + "ocaml" {>= "4.02.3" & < "4.08.0"} + "ocamlfind" {build} + "cppo" {build} +] +synopsis: "A protocol to provide custom frontend to Merlin" +description: """ +This protocol allows to replace the OCaml frontend of Merlin. +It extends what used to be done with the `-pp' flag to handle a few more cases.""" +flags: light-uninstall +url { + src: "https://github.com/let-def/merlin-extend/archive/v0.3.tar.gz" + checksum: "md5=9c6dfd4f53328f02f12fcc265f4e2dda" +} diff --git a/test.esy.lock/opam/merlin.3.2.2/opam b/test.esy.lock/opam/merlin.3.2.2/opam new file mode 100644 index 0000000000..63929817c1 --- /dev/null +++ b/test.esy.lock/opam/merlin.3.2.2/opam @@ -0,0 +1,74 @@ +opam-version: "2.0" +name: "merlin" +synopsis: "Installation with Opam" +description: """ +If you have a working [Opam](https://opam.ocaml.org/) installation, Merlin is only two commands away: + +```shell +opam install merlin +opam user-setup install +``` + +[opam-user-setup](https://github.com/OCamlPro/opam-user-setup) takes care of configuring Emacs and Vim to make best use of your current install. + +You can also [configure the editor](#editor-setup) yourself, if you prefer.""" +maintainer: "defree@gmail.com" +authors: "The Merlin team" +homepage: "https://github.com/ocaml/merlin" +bug-reports: "https://github.com/ocaml/merlin/issues" +depends: [ + "ocaml" {>= "4.02.1" & < "4.08"} + "dune" {build} + "ocamlfind" {>= "1.5.2"} + "yojson" + "craml" {with-test} +] +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] +] +post-messages: + """ +merlin installed. + +Quick setup for VIM +------------------- +Append this to your .vimrc to add merlin to vim's runtime-path: + let g:opamshare = substitute(system('opam config var share'),'\\n$','','''') + execute "set rtp+=" . g:opamshare . "/merlin/vim" + +Also run the following line in vim to index the documentation: + :execute "helptags " . g:opamshare . "/merlin/vim/doc" + +Quick setup for EMACS +------------------- +Add opam emacs directory to your load-path by appending this to your .emacs: + (let ((opam-share (ignore-errors (car (process-lines "opam" "config" "var" "share"))))) + (when (and opam-share (file-directory-p opam-share)) + ;; Register Merlin + (add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share)) + (autoload 'merlin-mode "merlin" nil t nil) + ;; Automatically start it in OCaml buffers + (add-hook 'tuareg-mode-hook 'merlin-mode t) + (add-hook 'caml-mode-hook 'merlin-mode t) + ;; Use opam switch to lookup ocamlmerlin binary + (setq merlin-command 'opam))) + +Take a look at https://github.com/ocaml/merlin for more information + +Quick setup with opam-user-setup +-------------------------------- + +Opam-user-setup support Merlin. + + $ opam user-setup install + +should take care of basic setup. +See https://github.com/OCamlPro/opam-user-setup""" + {success & !user-setup:installed} +dev-repo: "git+https://github.com/ocaml/merlin.git" +url { + src: + "https://github.com/ocaml/merlin/releases/download/v3.2.2/merlin-v3.2.2.tbz" + checksum: "md5=ede35b65f8ac9c440cfade5445662c54" +} diff --git a/test.esy.lock/opam/mmap.1.1.0/opam b/test.esy.lock/opam/mmap.1.1.0/opam new file mode 100644 index 0000000000..0b515b4535 --- /dev/null +++ b/test.esy.lock/opam/mmap.1.1.0/opam @@ -0,0 +1,24 @@ +opam-version: "2.0" +maintainer: "jeremie@dimino.org" +authors: ["Jérémie Dimino " "Anton Bachin" ] +homepage: "https://github.com/mirage/mmap" +bug-reports: "https://github.com/mirage/mmap/issues" +doc: "https://mirage.github.io/mmap/" +dev-repo: "git+https://github.com/mirage/mmap.git" +license: "LGPL 2.1 with linking exception" +build: [ + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.02.3"} + "dune" {build & >= "1.6"} +] +synopsis: "File mapping functionality" +description: """ +This project provides a Mmap.map_file functions for mapping files in memory. +""" +url { + src: + "https://github.com/mirage/mmap/releases/download/v1.1.0/mmap-v1.1.0.tbz" + checksum: "md5=8c5d5fbc537296dc525867535fb878ba" +} diff --git a/test.esy.lock/opam/msgpck.1.4/opam b/test.esy.lock/opam/msgpck.1.4/opam new file mode 100644 index 0000000000..55cd7c484b --- /dev/null +++ b/test.esy.lock/opam/msgpck.1.4/opam @@ -0,0 +1,27 @@ +opam-version: "2.0" +maintainer: "Vincent Bernardoff " +authors: "Vincent Bernardoff " +license: "ISC" +homepage: "https://github.com/vbmithr/ocaml-msgpck" +bug-reports: "https://github.com/vbmithr/ocaml-msgpck/issues" +depends: [ + "ocaml" {>= "4.02.0"} + "jbuilder" {build & >= "1.0+beta8"} + "ocplib-endian" {>= "1.0"} +] +flags: light-uninstall +build: ["jbuilder" "build" "-p" name "-j" jobs "@install"] +dev-repo: "git+https://github.com/vbmithr/ocaml-msgpck.git" +synopsis: "Fast MessagePack (http://msgpack.org) library" +description: """ +msgpck is written in pure OCaml. + +MessagePack is an efficient binary serialization format. It lets you +exchange data among multiple languages like JSON. But it's faster and +smaller. Small integers are encoded into a single byte, and typical +short strings require only one extra byte in addition to the strings +themselves.""" +url { + src: "https://github.com/vbmithr/ocaml-msgpck/archive/1.4.tar.gz" + checksum: "md5=13831d57c730b35ab517984d855ec6c0" +} diff --git a/test.esy.lock/opam/ocaml-compiler-libs.v0.11.0/opam b/test.esy.lock/opam/ocaml-compiler-libs.v0.11.0/opam new file mode 100644 index 0000000000..901b5dc05c --- /dev/null +++ b/test.esy.lock/opam/ocaml-compiler-libs.v0.11.0/opam @@ -0,0 +1,23 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/janestreet/ocaml-compiler-libs" +bug-reports: "https://github.com/janestreet/ocaml-compiler-libs/issues" +dev-repo: "git+https://github.com/janestreet/ocaml-compiler-libs.git" +license: "Apache-2.0" +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.04.1"} + "jbuilder" {build & >= "1.0+beta12"} +] +synopsis: "OCaml compiler libraries repackaged" +description: """ +This packages exposes the OCaml compiler libraries repackages under +the toplevel names Ocaml_common, Ocaml_bytecomp, ...""" +url { + src: + "https://ocaml.janestreet.com/ocaml-core/v0.11/files/ocaml-compiler-libs-v0.11.0.tar.gz" + checksum: "md5=e170c16186aa55b7e8b11e461418a10a" +} diff --git a/test.esy.lock/opam/ocaml-migrate-parsetree.1.2.0/opam b/test.esy.lock/opam/ocaml-migrate-parsetree.1.2.0/opam new file mode 100644 index 0000000000..3795096955 --- /dev/null +++ b/test.esy.lock/opam/ocaml-migrate-parsetree.1.2.0/opam @@ -0,0 +1,34 @@ +opam-version: "2.0" +maintainer: "frederic.bour@lakaban.net" +authors: [ + "Frédéric Bour " + "Jérémie Dimino " +] +license: "LGPL-2.1" +homepage: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree" +bug-reports: "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/issues" +dev-repo: "git+https://github.com/ocaml-ppx/ocaml-migrate-parsetree.git" +doc: "https://ocaml-ppx.github.io/ocaml-migrate-parsetree/" +tags: [ "syntax" "org:ocamllabs" ] +build: [ + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "result" + "ppx_derivers" + "dune" {build & >= "1.6.0"} + "ocaml" {>= "4.02.3" & < "4.08.0"} +] +synopsis: "Convert OCaml parsetrees between different versions" +description: """ +Convert OCaml parsetrees between different versions + +This library converts parsetrees, outcometree and ast mappers between +different OCaml versions. High-level functions help making PPX +rewriters independent of a compiler version. +""" +url { + src: + "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v1.2.0/ocaml-migrate-parsetree-v1.2.0.tbz" + checksum: "md5=cc6fb09ad6f99156c7dba47711c62c6f" +} diff --git a/test.esy.lock/opam/ocamlbuild.0.14.0/opam b/test.esy.lock/opam/ocamlbuild.0.14.0/opam new file mode 100644 index 0000000000..dd4bf68a54 --- /dev/null +++ b/test.esy.lock/opam/ocamlbuild.0.14.0/opam @@ -0,0 +1,36 @@ +opam-version: "2.0" +maintainer: "Gabriel Scherer " +authors: ["Nicolas Pouillard" "Berke Durak"] +homepage: "https://github.com/ocaml/ocamlbuild/" +bug-reports: "https://github.com/ocaml/ocamlbuild/issues" +license: "LGPL-2 with OCaml linking exception" +doc: "https://github.com/ocaml/ocamlbuild/blob/master/manual/manual.adoc" +dev-repo: "git+https://github.com/ocaml/ocamlbuild.git" +build: [ + [ + make + "-f" + "configure.make" + "all" + "OCAMLBUILD_PREFIX=%{prefix}%" + "OCAMLBUILD_BINDIR=%{bin}%" + "OCAMLBUILD_LIBDIR=%{lib}%" + "OCAMLBUILD_MANDIR=%{man}%" + "OCAML_NATIVE=%{ocaml:native}%" + "OCAML_NATIVE_TOOLS=%{ocaml:native}%" + ] + [make "check-if-preinstalled" "all" "opam-install"] +] +conflicts: [ + "base-ocamlbuild" + "ocamlfind" {< "1.6.2"} +] +synopsis: + "OCamlbuild is a build system with builtin rules to easily build most OCaml projects." +depends: [ + "ocaml" {>= "4.03"} +] +url { + src: "https://github.com/ocaml/ocamlbuild/archive/0.14.0.tar.gz" + checksum: "sha256=87b29ce96958096c0a1a8eeafeb6268077b2d11e1bf2b3de0f5ebc9cf8d42e78" +} diff --git a/test.esy.lock/opam/ocamlfind.1.8.0/files/no-awk-check.patch b/test.esy.lock/opam/ocamlfind.1.8.0/files/no-awk-check.patch new file mode 100644 index 0000000000..c9e80da63d --- /dev/null +++ b/test.esy.lock/opam/ocamlfind.1.8.0/files/no-awk-check.patch @@ -0,0 +1,19 @@ +commit 40142bc941e6e308686e86be6fc2da92f346a22f +Author: Kate +Date: Tue Mar 19 16:29:06 2019 +0000 + + Remove awk from the set of checked unix tools as it's not used anywhere + +diff --git a/configure b/configure +index d9b587c..20e8dca 100755 +--- a/configure ++++ b/configure +@@ -184,7 +184,7 @@ echo "Configuring core..." + + # Some standard Unix tools must be available: + +-for tool in sed awk ocaml ocamlc uname rm make cat m4 dirname basename; do ++for tool in sed ocaml ocamlc uname rm make cat m4 dirname basename; do + if in_path $tool; then true; else + echo "configure: $tool not in PATH; this is required" 1>&2 + exit 1 diff --git a/test.esy.lock/opam/ocamlfind.1.8.0/files/ocaml-stub b/test.esy.lock/opam/ocamlfind.1.8.0/files/ocaml-stub new file mode 100644 index 0000000000..e5ad9907e8 --- /dev/null +++ b/test.esy.lock/opam/ocamlfind.1.8.0/files/ocaml-stub @@ -0,0 +1,4 @@ +#!/bin/sh + +BINDIR=$(dirname "$(command -v ocamlc)") +"$BINDIR/ocaml" -I "$OCAML_TOPLEVEL_PATH" "$@" diff --git a/test.esy.lock/opam/ocamlfind.1.8.0/files/ocamlfind.install b/test.esy.lock/opam/ocamlfind.1.8.0/files/ocamlfind.install new file mode 100644 index 0000000000..295c62545f --- /dev/null +++ b/test.esy.lock/opam/ocamlfind.1.8.0/files/ocamlfind.install @@ -0,0 +1,6 @@ +bin: [ + "src/findlib/ocamlfind" {"ocamlfind"} + "?src/findlib/ocamlfind_opt" {"ocamlfind"} + "?tools/safe_camlp4" +] +toplevel: ["src/findlib/topfind"] diff --git a/test.esy.lock/opam/ocamlfind.1.8.0/opam b/test.esy.lock/opam/ocamlfind.1.8.0/opam new file mode 100644 index 0000000000..e587a3c103 --- /dev/null +++ b/test.esy.lock/opam/ocamlfind.1.8.0/opam @@ -0,0 +1,68 @@ +opam-version: "2.0" +maintainer: "Thomas Gazagnaire " +homepage: "http://projects.camlcity.org/projects/findlib.html" +bug-reports: "https://gitlab.camlcity.org/gerd/lib-findlib/issues" +dev-repo: "git+https://gitlab.camlcity.org/gerd/lib-findlib.git" +patches: ["no-awk-check.patch"] +build: [ + [ + "./configure" + "-bindir" + bin + "-sitelib" + lib + "-mandir" + man + "-config" + "%{lib}%/findlib.conf" + "-no-custom" + "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} + "-no-topfind" {ocaml:preinstalled} + ] + [make "all"] + [make "opt"] {ocaml:native} +] +install: [ + [make "install"] + ["install" "-m" "0755" "ocaml-stub" "%{bin}%/ocaml"] {ocaml:preinstalled} +] +remove: [ + ["ocamlfind" "remove" "bytes"] + [ + "./configure" + "-bindir" + bin + "-sitelib" + lib + "-mandir" + man + "-config" + "%{lib}%/findlib.conf" + "-no-camlp4" {!ocaml:preinstalled & ocaml:version >= "4.02.0"} + "-no-topfind" {ocaml:preinstalled} + ] + [make "uninstall"] + ["rm" "-f" "%{bin}%/ocaml"] {ocaml:preinstalled} +] +depends: [ + "ocaml" {>= "4.00.0"} + "conf-m4" {build} +] +synopsis: "A library manager for OCaml" +description: """ +Findlib is a library manager for OCaml. It provides a convention how +to store libraries, and a file format ("META") to describe the +properties of libraries. There is also a tool (ocamlfind) for +interpreting the META files, so that it is very easy to use libraries +in programs and scripts.""" +authors: "Gerd Stolpmann " +extra-files: [ + ["ocamlfind.install" "md5=06f2c282ab52d93aa6adeeadd82a2543"] + ["ocaml-stub" "md5=181f259c9e0bad9ef523e7d4abfdf87a"] + ["no-awk-check.patch" "md5=0378123bf1a45fccdea434c053ddb687"] +] +url { + src: "http://download.camlcity.org/download/findlib-1.8.0.tar.gz" + checksum: "md5=a710c559667672077a93d34eb6a42e5b" + mirrors: "http://download2.camlcity.org/download/findlib-1.8.0.tar.gz" +} diff --git a/test.esy.lock/opam/ocplib-endian.1.0/opam b/test.esy.lock/opam/ocplib-endian.1.0/opam new file mode 100644 index 0000000000..d468f3e4d1 --- /dev/null +++ b/test.esy.lock/opam/ocplib-endian.1.0/opam @@ -0,0 +1,33 @@ +opam-version: "2.0" +authors: "Pierre Chambart" +maintainer: "pierre.chambart@ocamlpro.com" +homepage: "https://github.com/OCamlPro/ocplib-endian" +build: [ + ["ocaml" "setup.ml" "-configure" "--disable-debug" "--prefix" prefix] + ["ocaml" "setup.ml" "-build"] +] +install: [ + ["ocaml" "setup.ml" "-install"] +] +remove: ["ocamlfind" "remove" "ocplib-endian"] +depends: [ + "ocaml" + "base-bytes" + "ocamlfind" + "cppo" {>= "1.1.0"} + "ocamlbuild" {build} +] +dev-repo: "git+https://github.com/OCamlPro/ocplib-endian.git" +bug-reports: "https://github.com/OCamlPro/ocplib-endian/issues" +synopsis: + "Optimised functions to read and write int16/32/64 from strings and bigarrays, based on new primitives added in version 4.01." +description: """ +The library implements three modules: +* [EndianString](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianString.cppo.mli) works directly on strings, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts; +* [EndianBytes](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBytes.cppo.mli) works directly on bytes, and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts; +* [EndianBigstring](https://github.com/OCamlPro/ocplib-endian/blob/master/src/endianBigstring.cppo.mli) works on bigstrings (Bigarrays of chars), and provides submodules BigEndian and LittleEndian, with their unsafe counter-parts;""" +flags: light-uninstall +url { + src: "https://github.com/OCamlPro/ocplib-endian/archive/1.0.tar.gz" + checksum: "md5=74b45ba33e189283170a748c2a3ed477" +} diff --git a/test.esy.lock/opam/ppx_derivers.1.2.1/opam b/test.esy.lock/opam/ppx_derivers.1.2.1/opam new file mode 100644 index 0000000000..19e8b0f90a --- /dev/null +++ b/test.esy.lock/opam/ppx_derivers.1.2.1/opam @@ -0,0 +1,23 @@ +opam-version: "2.0" +maintainer: "jeremie@dimino.org" +authors: ["Jérémie Dimino"] +license: "BSD3" +homepage: "https://github.com/ocaml-ppx/ppx_derivers" +bug-reports: "https://github.com/ocaml-ppx/ppx_derivers/issues" +dev-repo: "git://github.com/ocaml-ppx/ppx_derivers.git" +build: [ + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" + "dune" {build} +] +synopsis: "Shared [@@deriving] plugin registry" +description: """ +Ppx_derivers is a tiny package whose sole purpose is to allow +ppx_deriving and ppx_type_conv to inter-operate gracefully when linked +as part of the same ocaml-migrate-parsetree driver.""" +url { + src: "https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz" + checksum: "md5=5dc2bf130c1db3c731fe0fffc5648b41" +} diff --git a/test.esy.lock/opam/ppx_deriving.4.2.1/opam b/test.esy.lock/opam/ppx_deriving.4.2.1/opam new file mode 100644 index 0000000000..b1048e01b8 --- /dev/null +++ b/test.esy.lock/opam/ppx_deriving.4.2.1/opam @@ -0,0 +1,48 @@ +opam-version: "2.0" +maintainer: "whitequark " +authors: [ "whitequark " ] +license: "MIT" +homepage: "https://github.com/whitequark/ppx_deriving" +doc: "https://whitequark.github.io/ppx_deriving" +bug-reports: "https://github.com/whitequark/ppx_deriving/issues" +dev-repo: "git+https://github.com/whitequark/ppx_deriving.git" +tags: [ "syntax" ] +substs: [ "pkg/META" ] +build: [ + [ + "ocaml" + "pkg/build.ml" + "native=%{ocaml:native-dynlink}%" + "native-dynlink=%{ocaml:native-dynlink}%" + ] + [ + "ocamlbuild" + "-classic-display" + "-use-ocamlfind" + "src_test/test_ppx_deriving.byte" + "--" + ] {with-test} + [make "doc"] {with-doc} +] +depends: [ + "ocaml" {> "4.03.0"} + "ocamlbuild" {build} + "ocamlfind" {build & >= "1.6.0"} + "cppo" {build} + "cppo_ocamlbuild" {build} + "ocaml-migrate-parsetree" + "ppx_derivers" + "ppx_tools" {>= "4.02.3"} + "result" + "ounit" {with-test} +] +available: opam-version >= "1.2" +synopsis: "Type-driven code generation for OCaml >=4.02" +description: """ +ppx_deriving provides common infrastructure for generating +code based on type definitions, and a set of useful plugins +for common tasks.""" +url { + src: "https://github.com/ocaml-ppx/ppx_deriving/archive/v4.2.1.tar.gz" + checksum: "md5=2195fccf2a527c3ff9ec5b4e36e2f0a8" +} diff --git a/test.esy.lock/opam/ppx_deriving_yojson.3.3/opam b/test.esy.lock/opam/ppx_deriving_yojson.3.3/opam new file mode 100644 index 0000000000..07092981b2 --- /dev/null +++ b/test.esy.lock/opam/ppx_deriving_yojson.3.3/opam @@ -0,0 +1,36 @@ +opam-version: "2.0" +maintainer: "whitequark " +authors: [ "whitequark " ] +license: "MIT" +homepage: "https://github.com/whitequark/ppx_deriving_yojson" +doc: "http://whitequark.github.io/ppx_deriving_yojson" +bug-reports: "https://github.com/whitequark/ppx_deriving_yojson/issues" +dev-repo: "git://github.com/whitequark/ppx_deriving_yojson.git" +tags: [ "syntax" "json" ] +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name] {with-test} +] +depends: [ + "ocaml" {>= "4.04.0"} + "yojson" {< "1.6.0"} + "result" + "ppx_deriving" {>= "4.0" & < "5.0"} + "ppx_tools" {build} + "ppxfind" {build} + "dune" {build & >= "1.2"} + "cppo" {build} + "ounit" {with-test & >= "2.0.0"} +] +conflicts: [ + "ppx_deriving" {= "4.2"} +] +synopsis: "JSON codec generator for OCaml" +description: """ +ppx_deriving_yojson is a ppx_deriving plugin that provides +a JSON codec generator.""" +url { + src: "https://github.com/ocaml-ppx/ppx_deriving_yojson/archive/v3.3.tar.gz" + checksum: "sha512=e04ee424d89423ca891e018b3ea6e3f5f1e3714bd1ec1b07187143da1a646e51d068d1c09bc794e25b5b5be00ccb517212f62853ec66c17969a9795ba88fae6a" +} diff --git a/test.esy.lock/opam/ppx_let.v0.11.0/opam b/test.esy.lock/opam/ppx_let.v0.11.0/opam new file mode 100644 index 0000000000..f6d2f67b7d --- /dev/null +++ b/test.esy.lock/opam/ppx_let.v0.11.0/opam @@ -0,0 +1,25 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/janestreet/ppx_let" +bug-reports: "https://github.com/janestreet/ppx_let/issues" +dev-repo: "git+https://github.com/janestreet/ppx_let.git" +license: "Apache-2.0" +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] +] +conflicts: [ "jbuilder" { = "1.0+beta19" } ] +depends: [ + "ocaml" {>= "4.04.1"} + "base" {>= "v0.11" & < "v0.12"} + "jbuilder" {build & >= "1.0+beta18.1"} + "ocaml-migrate-parsetree" {>= "1.0"} + "ppxlib" {>= "0.1.0"} +] +synopsis: "Monadic let-bindings" +description: "Part of the Jane Street's PPX rewriters collection." +url { + src: + "https://ocaml.janestreet.com/ocaml-core/v0.11/files/ppx_let-v0.11.0.tar.gz" + checksum: "md5=40d1798d7724816c65eb5cdabd20f150" +} diff --git a/test.esy.lock/opam/ppx_tools.5.1+4.06.0/opam b/test.esy.lock/opam/ppx_tools.5.1+4.06.0/opam new file mode 100644 index 0000000000..a84810b8f6 --- /dev/null +++ b/test.esy.lock/opam/ppx_tools.5.1+4.06.0/opam @@ -0,0 +1,21 @@ +opam-version: "2.0" +maintainer: "alain.frisch@lexifi.com" +authors: [ "Alain Frisch " ] +license: "MIT" +homepage: "https://github.com/ocaml-ppx/ppx_tools" +bug-reports: "https://github.com/ocaml-ppx/ppx_tools/issues" +dev-repo: "git://github.com/ocaml-ppx/ppx_tools.git" +tags: [ "syntax" ] +build: [[make "all"]] +install: [[make "install"]] +remove: [["ocamlfind" "remove" "ppx_tools"]] +depends: [ + "ocaml" {>= "4.06.0" & < "4.08"} + "ocamlfind" {>= "1.5.0"} +] +synopsis: "Tools for authors of ppx rewriters and other syntactic tools" +flags: light-uninstall +url { + src: "https://github.com/ocaml-ppx/ppx_tools/archive/5.1+4.06.0.tar.gz" + checksum: "md5=6ba2e9690b1f579ba562b86022d1c308" +} diff --git a/test.esy.lock/opam/ppx_tools_versioned.5.2.1/opam b/test.esy.lock/opam/ppx_tools_versioned.5.2.1/opam new file mode 100644 index 0000000000..cbf8f4fe83 --- /dev/null +++ b/test.esy.lock/opam/ppx_tools_versioned.5.2.1/opam @@ -0,0 +1,27 @@ +opam-version: "2.0" +maintainer: "frederic.bour@lakaban.net" +authors: [ + "Frédéric Bour " + "Alain Frisch " +] +license: "MIT" +homepage: "https://github.com/let-def/ppx_tools_versioned" +bug-reports: "https://github.com/let-def/ppx_tools_versioned/issues" +dev-repo: "git://github.com/let-def/ppx_tools_versioned.git" +tags: [ "syntax" ] +build: [ + ["jbuilder" "subst" "-p" name] {pinned} + ["jbuilder" "build" "-p" name "-j" jobs] + ["jbuilder" "runtest" "-p" name "-j" jobs] {with-test} +] +depends: [ + "ocaml" {>= "4.02.0"} + "jbuilder" {build & >= "1.0+beta17"} + "ocaml-migrate-parsetree" {>= "1.0.10" & < "1.3.0"} +] +synopsis: "A variant of ppx_tools based on ocaml-migrate-parsetree" +url { + src: + "https://github.com/ocaml-ppx/ppx_tools_versioned/archive/5.2.1.tar.gz" + checksum: "md5=1ae6ae43ec161fbbf12c2b4d3a7e26f5" +} diff --git a/test.esy.lock/opam/ppxfind.1.2/opam b/test.esy.lock/opam/ppxfind.1.2/opam new file mode 100644 index 0000000000..9aef0cdbb0 --- /dev/null +++ b/test.esy.lock/opam/ppxfind.1.2/opam @@ -0,0 +1,26 @@ +opam-version: "2.0" +maintainer: "jeremie@dimino.org" +authors: ["Jérémie Dimino"] +license: "BSD3" +homepage: "https://github.com/diml/ppxfind" +bug-reports: "https://github.com/diml/ppxfind/issues" +dev-repo: "git://github.com/diml/ppxfind.git" +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.03.0"} + "jbuilder" {build & >= "1.0+beta16"} + "ocaml-migrate-parsetree" + "ocamlfind" +] +synopsis: "ocamlfind ppx tool" +description: """ +Ppxfind is a small command line tool that among other things allows +to use old style ppx rewriters with jbuilder.""" +url { + src: + "https://github.com/diml/ppxfind/releases/download/1.2/ppxfind-1.2.tbz" + checksum: "md5=3c6f81800bb816e190a64f9898481f82" +} +conflicts: [ "dune" {= "1.2.0" | = "1.2.1"} ] diff --git a/test.esy.lock/opam/ppxlib.0.5.0/opam b/test.esy.lock/opam/ppxlib.0.5.0/opam new file mode 100644 index 0000000000..7d4c8c9d86 --- /dev/null +++ b/test.esy.lock/opam/ppxlib.0.5.0/opam @@ -0,0 +1,42 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/ocaml-ppx/ppxlib" +bug-reports: "https://github.com/ocaml-ppx/ppxlib/issues" +dev-repo: "git+https://github.com/ocaml-ppx/ppxlib.git" +doc: "https://ocaml-ppx.github.io/ppxlib/" +license: "MIT" +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] +] +run-test: [ + ["dune" "runtest" "-p" name "-j" jobs] { ocaml >= "4.06" } +] +depends: [ + "ocaml" {>= "4.04.1"} + "base" {>= "v0.11.0" & < "v0.13"} + "dune" {build} + "ocaml-compiler-libs" {>= "v0.11.0"} + "ocaml-migrate-parsetree" {>= "1.0.9"} + "ppx_derivers" {>= "1.0"} + "stdio" {>= "v0.11.0" & < "v0.13"} + "ocamlfind" {with-test} +] +synopsis: "Base library and tools for ppx rewriters" +description: """ +A comprehensive toolbox for ppx development. It features: +- a OCaml AST / parser / pretty-printer snapshot,to create a full + frontend independent of the version of OCaml; +- a library for library for ppx rewriters in general, and type-driven + code generators in particular; +- a feature-full driver for OCaml AST transformers; +- a quotation mechanism allowing to write values representing the + OCaml AST in the OCaml syntax; +- a generator of open recursion classes from type definitions. +""" +url { + src: + "https://github.com/ocaml-ppx/ppxlib/releases/download/0.5.0/ppxlib-0.5.0.tbz" + checksum: "md5=bb278ff6e819e0e4a4d8a005bb2512a4" +} diff --git a/test.esy.lock/opam/printbox.0.2/opam b/test.esy.lock/opam/printbox.0.2/opam new file mode 100644 index 0000000000..8af5df70b7 --- /dev/null +++ b/test.esy.lock/opam/printbox.0.2/opam @@ -0,0 +1,29 @@ +opam-version: "2.0" +synopsis: + "Allows to print nested boxes, lists, arrays, tables in several formats" +maintainer: "simon.cruanes.2007@m4x.org" +authors: ["Simon Cruanes" "Guillaume Bury"] +tags: ["print" "box" "table" "tree"] +homepage: "https://github.com/c-cube/printbox/" +bug-reports: "https://github.com/c-cube/printbox/issues/" +depends: [ + "dune" {build} + "base-bytes" + "odoc" {with-doc} + "ocaml" {>= "4.03"} + "mdx" {with-test} +] +depopts: ["tyxml"] +build: [ + ["dune" "build" "@install" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name "-j" jobs] {with-test} + ["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc} +] +dev-repo: "git+https://github.com/c-cube/printbox.git" +url { + src: "https://github.com/c-cube/printbox/archive/0.2.tar.gz" + checksum: [ + "md5=d84584a8ebdf3faa7b04704f0f75813c" + "sha512=fa49c037c7b1aad720a9a4e74fa40838bade84572afb7bcb6dae170c2d4cbdc9c217868ee971049da18dda0308357bbbc8a934436d32f41418eceba612d56ab3" + ] +} \ No newline at end of file diff --git a/test.esy.lock/opam/ptime.0.8.4/opam b/test.esy.lock/opam/ptime.0.8.4/opam new file mode 100644 index 0000000000..7f7a220737 --- /dev/null +++ b/test.esy.lock/opam/ptime.0.8.4/opam @@ -0,0 +1,47 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +authors: ["The ptime programmers"] +homepage: "http://erratique.ch/software/ptime" +doc: "http://erratique.ch/software/ptime/doc" +dev-repo: "git+http://erratique.ch/repos/ptime.git" +bug-reports: "https://github.com/dbuenzli/ptime/issues" +tags: [ "time" "posix" "system" "org:erratique" ] +license: "ISC" +depends: [ + "ocaml" {>= "4.01.0"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {build} + "result" +] +depopts: [ "js_of_ocaml" ] +conflicts: [ + "js_of_ocaml" {>= "3.4.0"} ] +build:[[ + "ocaml" "pkg/pkg.ml" "build" + "--pinned" "%{pinned}%" + "--with-js_of_ocaml" "%{js_of_ocaml:installed}%" ]] +synopsis: "POSIX time for OCaml" +description: """ +Ptime has platform independent POSIX time support in pure OCaml. It +provides a type to represent a well-defined range of POSIX timestamps +with picosecond precision, conversion with date-time values, +conversion with [RFC 3339 timestamps][rfc3339] and pretty printing to a +human-readable, locale-independent representation. + +The additional Ptime_clock library provides access to a system POSIX +clock and to the system's current time zone offset. + +Ptime is not a calendar library. + +Ptime depends on the `result` compatibility package. Ptime_clock +depends on your system library. Ptime_clock's optional JavaScript +support depends on [js_of_ocaml][jsoo]. Ptime and its libraries are +distributed under the ISC license. + +[rfc3339]: http://tools.ietf.org/html/rfc3339 +[jsoo]: http://ocsigen.org/js_of_ocaml/""" +url { + src: "http://erratique.ch/software/ptime/releases/ptime-0.8.4.tbz" + checksum: "md5=12fb5e8c3eb1d2e6075ac31ce93f7dd6" +} diff --git a/test.esy.lock/opam/re.1.9.0/opam b/test.esy.lock/opam/re.1.9.0/opam new file mode 100644 index 0000000000..28b376f90a --- /dev/null +++ b/test.esy.lock/opam/re.1.9.0/opam @@ -0,0 +1,42 @@ +opam-version: "2.0" + +maintainer: "rudi.grinberg@gmail.com" +authors: [ + "Jerome Vouillon" + "Thomas Gazagnaire" + "Anil Madhavapeddy" + "Rudi Grinberg" + "Gabriel Radanne" +] +license: "LGPL-2.0 with OCaml linking exception" +homepage: "https://github.com/ocaml/ocaml-re" +bug-reports: "https://github.com/ocaml/ocaml-re/issues" +dev-repo: "git+https://github.com/ocaml/ocaml-re.git" + +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name "-j" jobs] {with-test} +] + +depends: [ + "ocaml" {>= "4.02"} + "dune" {build} + "ounit" {with-test} + "seq" +] + +synopsis: "RE is a regular expression library for OCaml" +description: """ +Pure OCaml regular expressions with: +* Perl-style regular expressions (module Re.Perl) +* Posix extended regular expressions (module Re.Posix) +* Emacs-style regular expressions (module Re.Emacs) +* Shell-style file globbing (module Re.Glob) +* Compatibility layer for OCaml's built-in Str module (module Re.Str) +""" +url { + src: + "https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz" + checksum: "md5=bddaed4f386a22cace7850c9c7dac296" +} diff --git a/test.esy.lock/opam/react.1.2.1/opam b/test.esy.lock/opam/react.1.2.1/opam new file mode 100644 index 0000000000..a7cd9dd36b --- /dev/null +++ b/test.esy.lock/opam/react.1.2.1/opam @@ -0,0 +1,33 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +homepage: "http://erratique.ch/software/react" +authors: ["Daniel Bünzli "] +doc: "http://erratique.ch/software/react/doc/React" +dev-repo: "git+http://erratique.ch/repos/react.git" +bug-reports: "https://github.com/dbuenzli/react/issues" +tags: [ "reactive" "declarative" "signal" "event" "frp" "org:erratique" ] +license: "ISC" +depends: [ + "ocaml" {>= "4.01.0"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {build & >= "0.9.0"} +] +build: +[[ "ocaml" "pkg/pkg.ml" "build" + "--dev-pkg" "%{pinned}%" ]] +synopsis: "Declarative events and signals for OCaml" +description: """ +Release %%VERSION%% + +React is an OCaml module for functional reactive programming (FRP). It +provides support to program with time varying values : declarative +events and signals. React doesn't define any primitive event or +signal, it lets the client chooses the concrete timeline. + +React is made of a single, independent, module and distributed under +the ISC license.""" +url { + src: "http://erratique.ch/software/react/releases/react-1.2.1.tbz" + checksum: "md5=ce1454438ce4e9d2931248d3abba1fcc" +} diff --git a/test.esy.lock/opam/result.1.3/opam b/test.esy.lock/opam/result.1.3/opam new file mode 100644 index 0000000000..8b156d61f5 --- /dev/null +++ b/test.esy.lock/opam/result.1.3/opam @@ -0,0 +1,22 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/janestreet/result" +dev-repo: "git+https://github.com/janestreet/result.git" +bug-reports: "https://github.com/janestreet/result/issues" +license: "BSD3" +build: [["jbuilder" "build" "-p" name "-j" jobs]] +depends: [ + "ocaml" + "jbuilder" {build & >= "1.0+beta11"} +] +synopsis: "Compatibility Result module" +description: """ +Projects that want to use the new result type defined in OCaml >= 4.03 +while staying compatible with older version of OCaml should use the +Result module defined in this library.""" +url { + src: + "https://github.com/janestreet/result/releases/download/1.3/result-1.3.tbz" + checksum: "md5=4beebefd41f7f899b6eeba7414e7ae01" +} diff --git a/test.esy.lock/opam/seq.base/files/META.seq b/test.esy.lock/opam/seq.base/files/META.seq new file mode 100644 index 0000000000..06b95eff3f --- /dev/null +++ b/test.esy.lock/opam/seq.base/files/META.seq @@ -0,0 +1,4 @@ +name="seq" +version="[distributed with OCaml 4.07 or above]" +description="dummy backward-compatibility package for iterators" +requires="" diff --git a/test.esy.lock/opam/seq.base/files/seq.install b/test.esy.lock/opam/seq.base/files/seq.install new file mode 100644 index 0000000000..c4d70206e1 --- /dev/null +++ b/test.esy.lock/opam/seq.base/files/seq.install @@ -0,0 +1,3 @@ +lib:[ + "META.seq" {"META"} +] diff --git a/test.esy.lock/opam/seq.base/opam b/test.esy.lock/opam/seq.base/opam new file mode 100644 index 0000000000..b33d8c7da1 --- /dev/null +++ b/test.esy.lock/opam/seq.base/opam @@ -0,0 +1,15 @@ +opam-version: "2.0" +maintainer: " " +authors: " " +homepage: " " +depends: [ + "ocaml" {>= "4.07.0"} +] +dev-repo: "git+https://github.com/ocaml/ocaml.git" +bug-reports: "https://caml.inria.fr/mantis/main_page.php" +synopsis: + "Compatibility package for OCaml's standard iterator type starting from 4.07." +extra-files: [ + ["seq.install" "md5=026b31e1df290373198373d5aaa26e42"] + ["META.seq" "md5=b33c8a1a6c7ed797816ce27df4855107"] +] diff --git a/test.esy.lock/opam/sexplib0.v0.11.0/opam b/test.esy.lock/opam/sexplib0.v0.11.0/opam new file mode 100644 index 0000000000..97d0da21e2 --- /dev/null +++ b/test.esy.lock/opam/sexplib0.v0.11.0/opam @@ -0,0 +1,29 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/janestreet/sexplib0" +bug-reports: "https://github.com/janestreet/sexplib0/issues" +dev-repo: "git+https://github.com/janestreet/sexplib0.git" +license: "Apache-2.0" +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.04.1"} + "jbuilder" {build & >= "1.0+beta18.1"} +] +conflicts: [ + "sexplib" { < "v0.11"} +] +synopsis: + "Library containing the definition of S-expressions and some base converters" +description: """ +Part of Jane Street's Core library +The Core suite of libraries is an industrial strength alternative to +OCaml's standard library that was developed by Jane Street, the +largest industrial user of OCaml.""" +url { + src: + "https://ocaml.janestreet.com/ocaml-core/v0.11/files/sexplib0-v0.11.0.tar.gz" + checksum: "md5=1c14ba30b471e49f1b23fea5ff99ea6b" +} diff --git a/test.esy.lock/opam/stdio.v0.11.0/opam b/test.esy.lock/opam/stdio.v0.11.0/opam new file mode 100644 index 0000000000..c26f3ba228 --- /dev/null +++ b/test.esy.lock/opam/stdio.v0.11.0/opam @@ -0,0 +1,26 @@ +opam-version: "2.0" +maintainer: "opensource@janestreet.com" +authors: ["Jane Street Group, LLC "] +homepage: "https://github.com/janestreet/stdio" +bug-reports: "https://github.com/janestreet/stdio/issues" +dev-repo: "git+https://github.com/janestreet/stdio.git" +license: "Apache-2.0" +build: [ + ["jbuilder" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.04.1"} + "base" {>= "v0.11" & < "v0.12"} + "jbuilder" {build & >= "1.0+beta18.1"} +] +synopsis: "Standard IO library for OCaml" +description: """ +Stdio implements simple input/output functionalities for OCaml. + +It re-exports the input/output functions of the OCaml standard +libraries using a more consistent API.""" +url { + src: + "https://ocaml.janestreet.com/ocaml-core/v0.11/files/stdio-v0.11.0.tar.gz" + checksum: "md5=2db42ee38c91b3ff7126c2634c407b99" +} diff --git a/test.esy.lock/opam/topkg.1.0.0/opam b/test.esy.lock/opam/topkg.1.0.0/opam new file mode 100644 index 0000000000..2276edb336 --- /dev/null +++ b/test.esy.lock/opam/topkg.1.0.0/opam @@ -0,0 +1,49 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +authors: ["Daniel Bünzli "] +homepage: "http://erratique.ch/software/topkg" +doc: "http://erratique.ch/software/topkg/doc" +license: "ISC" +dev-repo: "git+http://erratique.ch/repos/topkg.git" +bug-reports: "https://github.com/dbuenzli/topkg/issues" +tags: ["packaging" "ocamlbuild" "org:erratique"] +depends: [ + "ocaml" {>= "4.01.0"} + "ocamlfind" {build & >= "1.6.1"} + "ocamlbuild" + "result" ] +build: [[ + "ocaml" "pkg/pkg.ml" "build" + "--pkg-name" name + "--dev-pkg" "%{pinned}%" ]] +synopsis: """The transitory OCaml software packager""" +description: """\ + +Topkg is a packager for distributing OCaml software. It provides an +API to describe the files a package installs in a given build +configuration and to specify information about the package's +distribution, creation and publication procedures. + +The optional topkg-care package provides the `topkg` command line tool +which helps with various aspects of a package's life cycle: creating +and linting a distribution, releasing it on the WWW, publish its +documentation, add it to the OCaml opam repository, etc. + +Topkg is distributed under the ISC license and has **no** +dependencies. This is what your packages will need as a *build* +dependency. + +Topkg-care is distributed under the ISC license it depends on +[fmt][fmt], [logs][logs], [bos][bos], [cmdliner][cmdliner], +[webbrowser][webbrowser] and `opam-format`. + +[fmt]: http://erratique.ch/software/fmt +[logs]: http://erratique.ch/software/logs +[bos]: http://erratique.ch/software/bos +[cmdliner]: http://erratique.ch/software/cmdliner +[webbrowser]: http://erratique.ch/software/webbrowser +""" +url { +src: "http://erratique.ch/software/topkg/releases/topkg-1.0.0.tbz" +checksum: "md5=e3d76bda06bf68cb5853caf6627da603" +} diff --git a/test.esy.lock/opam/tyxml.4.3.0/opam b/test.esy.lock/opam/tyxml.4.3.0/opam new file mode 100644 index 0000000000..aeac6c9ba7 --- /dev/null +++ b/test.esy.lock/opam/tyxml.4.3.0/opam @@ -0,0 +1,45 @@ +opam-version: "2.0" +maintainer: "dev@ocsigen.org" +homepage: "https://github.com/ocsigen/tyxml/" +bug-reports: "https://github.com/ocsigen/tyxml/issues" +doc: "https://ocsigen.org/tyxml/manual/" +dev-repo: "git+https://github.com/ocsigen/tyxml.git" +license: "LGPL-2.1 with OCaml linking exception" + +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] + ["dune" "runtest" "-p" name "-j" jobs] {with-test} +] + +depends: [ + "ocaml" {>= "4.02"} + "re" {>= "1.5.0"} + ("ocaml" {>= "4.07"} | "re" {>= "1.8.0"}) + "dune" {build} + "alcotest" {with-test} + "seq" + "uutf" {>= "1.0.0"} +] + +synopsis:"TyXML is a library for building correct HTML and SVG documents" +description:""" +TyXML provides a set of convenient combinators that uses the OCaml +type system to ensure the validity of the generated documents. TyXML +can be used with any representation of HTML and SVG: the textual one, +provided directly by this package, or DOM trees (`js_of_ocaml-tyxml`) +virtual DOM (`virtual-dom`) and reactive or replicated trees +(`eliom`). You can also create your own representation and use it to +instantiate a new set of combinators. + +```ocaml +open Tyxml +let to_ocaml = Html.(a ~a:[a_href "ocaml.org"] [txt "OCaml!"]) +``` +""" +authors: "The ocsigen team" +url { + src: + "https://github.com/ocsigen/tyxml/releases/download/4.3.0/tyxml-4.3.0.tbz" + checksum: "md5=fd834a567f813bf447cab5f4c3a723e2" +} diff --git a/test.esy.lock/opam/uchar.0.0.2/opam b/test.esy.lock/opam/uchar.0.0.2/opam new file mode 100644 index 0000000000..428d7aa6f8 --- /dev/null +++ b/test.esy.lock/opam/uchar.0.0.2/opam @@ -0,0 +1,36 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +authors: ["Daniel Bünzli "] +homepage: "http://ocaml.org" +doc: "https://ocaml.github.io/uchar/" +dev-repo: "git+https://github.com/ocaml/uchar.git" +bug-reports: "https://github.com/ocaml/uchar/issues" +tags: [ "text" "character" "unicode" "compatibility" "org:ocaml.org" ] +license: "typeof OCaml system" +depends: [ + "ocaml" {>= "3.12.0"} + "ocamlbuild" {build} +] +build: [ + ["ocaml" "pkg/git.ml"] + [ + "ocaml" + "pkg/build.ml" + "native=%{ocaml:native}%" + "native-dynlink=%{ocaml:native-dynlink}%" + ] +] +synopsis: "Compatibility library for OCaml's Uchar module" +description: """ +The `uchar` package provides a compatibility library for the +[`Uchar`][1] module introduced in OCaml 4.03. + +The `uchar` package is distributed under the license of the OCaml +compiler. See [LICENSE](LICENSE) for details. + +[1]: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Uchar.html""" +url { + src: + "https://github.com/ocaml/uchar/releases/download/v0.0.2/uchar-0.0.2.tbz" + checksum: "md5=c9ba2c738d264c420c642f7bb1cf4a36" +} diff --git a/test.esy.lock/opam/uutf.1.0.2/opam b/test.esy.lock/opam/uutf.1.0.2/opam new file mode 100644 index 0000000000..3a9f5678d2 --- /dev/null +++ b/test.esy.lock/opam/uutf.1.0.2/opam @@ -0,0 +1,40 @@ +opam-version: "2.0" +maintainer: "Daniel Bünzli " +authors: ["Daniel Bünzli "] +homepage: "http://erratique.ch/software/uutf" +doc: "http://erratique.ch/software/uutf/doc/Uutf" +dev-repo: "git+http://erratique.ch/repos/uutf.git" +bug-reports: "https://github.com/dbuenzli/uutf/issues" +tags: [ "unicode" "text" "utf-8" "utf-16" "codec" "org:erratique" ] +license: "ISC" +depends: [ + "ocaml" {>= "4.01.0"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {build} + "uchar" +] +depopts: ["cmdliner"] +conflicts: ["cmdliner" { < "0.9.6"} ] +build: [[ + "ocaml" "pkg/pkg.ml" "build" + "--pinned" "%{pinned}%" + "--with-cmdliner" "%{cmdliner:installed}%" ]] +synopsis: """Non-blocking streaming Unicode codec for OCaml""" +description: """\ + +Uutf is a non-blocking streaming codec to decode and encode the UTF-8, +UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently +work character by character without blocking on IO. Decoders perform +character position tracking and support newline normalization. + +Functions are also provided to fold over the characters of UTF encoded +OCaml string values and to directly encode characters in OCaml +Buffer.t values. + +Uutf has no dependency and is distributed under the ISC license. +""" +url { +archive: "http://erratique.ch/software/uutf/releases/uutf-1.0.2.tbz" +checksum: "a7c542405a39630c689a82bd7ef2292c" +} diff --git a/test.esy.lock/opam/yojson.1.5.0/opam b/test.esy.lock/opam/yojson.1.5.0/opam new file mode 100644 index 0000000000..fe695a14af --- /dev/null +++ b/test.esy.lock/opam/yojson.1.5.0/opam @@ -0,0 +1,36 @@ +opam-version: "2.0" +maintainer: "martin@mjambon.com" +authors: ["Martin Jambon"] +homepage: "https://github.com/ocaml-community/yojson" +bug-reports: "https://github.com/ocaml-community/yojson/issues" +dev-repo: "git+https://github.com/ocaml-community/yojson.git" +doc: "https://ocaml-community.github.io/yojson/" +build: [ + ["dune" "subst"] {pinned} + ["dune" "build" "-p" name "-j" jobs] +] +depends: [ + "ocaml" {>= "4.02.3"} + "dune" {build} + "cppo" {build} + "easy-format" + "biniou" {>= "1.2.0"} +] +synopsis: + "Yojson is an optimized parsing and printing library for the JSON format" +description: """ +Yojson is an optimized parsing and printing library for the JSON format. + +It addresses a few shortcomings of json-wheel including 2x speedup, +polymorphic variants and optional syntax for tuples and variants. + +ydump is a pretty-printing command-line program provided with the +yojson package. + +The program atdgen can be used to derive OCaml-JSON serializers and +deserializers from type definitions.""" +url { + src: + "https://github.com/ocaml-community/yojson/releases/download/1.5.0/yojson-1.5.0.tbz" + checksum: "md5=d80de1bacdde292af42f7c78b323da7b" +} diff --git a/test.esy.lock/opam/zed.1.6/opam b/test.esy.lock/opam/zed.1.6/opam new file mode 100644 index 0000000000..c965367fd2 --- /dev/null +++ b/test.esy.lock/opam/zed.1.6/opam @@ -0,0 +1,32 @@ +opam-version: "2.0" +maintainer: "opam-devel@lists.ocaml.org" +authors: ["Jérémie Dimino"] +homepage: "https://github.com/diml/zed" +bug-reports: "https://github.com/diml/zed/issues" +dev-repo: "git://github.com/diml/zed.git" +license: "BSD3" +depends: [ + "ocaml" {>= "4.02.3"} + "jbuilder" {build & >= "1.0+beta9"} + "base-bytes" + "camomile" {>= "0.8"} + "react" +] +build: [ + ["jbuilder" "subst" "-p" name] {pinned} + ["jbuilder" "build" "-p" name "-j" jobs] + ["jbuilder" "runtest" "-p" name "-j" jobs] {with-test} +] +synopsis: "Abstract engine for text edition in OCaml" +description: """ +Zed is an abstract engine for text edition. It can be used to write text +editors, edition widgets, readlines, ... Zed uses Camomile to fully support the +Unicode specification, and implements an UTF-8 encoded string type with +validation, and a rope datastructure to achieve efficient operations on large +Unicode buffers. Zed also features a regular expression search on ropes. To +support efficient text edition capabilities, Zed provides macro recording and +cursor management facilities.""" +url { + src: "https://github.com/diml/zed/releases/download/1.6/zed-1.6.tbz" + checksum: "md5=f75c3094af1a22f9801d5ca5eb2d40e0" +} diff --git a/test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override/files/base-v0.11.1.patch b/test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override/files/base-v0.11.1.patch new file mode 100644 index 0000000000..b7c71a388f --- /dev/null +++ b/test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override/files/base-v0.11.1.patch @@ -0,0 +1,56 @@ +--- ./src/exn_stubs.c ++++ ./src/exn_stubs.c +@@ -1,8 +1,13 @@ + #include + + extern int caml_backtrace_pos; ++#ifndef _MSC_VER ++#define UNUSED __attribute__((unused)) ++#else ++#define UNUSED ++#endif + +-CAMLprim value Base_clear_caml_backtrace_pos (value __attribute__((unused)) unit) { ++CAMLprim value Base_clear_caml_backtrace_pos (value UNUSED unit) { + caml_backtrace_pos = 0; + return Val_unit; + } +--- ./src/int_math_stubs.c ++++ ./src/int_math_stubs.c +@@ -5,6 +5,25 @@ + #include + #include + ++#if defined(_MSC_VER) ++#include ++#ifdef ARCH_SIXTYFOUR ++#define __builtin_popcountll(x) __popcnt64((uint64_t)(x)) ++static __inline uint32_t __builtin_clzll(uint64_t value) { ++ uint32_t leading_zero = 0; ++ _BitScanReverse64(&leading_zero, value); ++ return (63 - leading_zero); ++} ++#else ++#define __builtin_popcount(x) __popcnt((unsigned int)(x)) ++static __inline uint32_t __builtin_clz(uint32_t value) { ++ uint32_t leading_zero = 0; ++ _BitScanReverse(&leading_zero, value); ++ return (31 - leading_zero); ++} ++#endif /* ARCH_SIXTYFOUR */ ++#endif /* defined(_MSC_VER) */ ++ + static int64_t int_pow(int64_t base, int64_t exponent) { + int64_t ret = 1; + int64_t mul[4]; +--- ./src/jbuild ++++ ./src/jbuild +@@ -65,7 +65,7 @@ + (progn + (with-stdout-to popcnt_test.c + (echo "int main(int argc, char ** argv) { return __builtin_popcount(argc); }")) +- (system "${CC} -mpopcnt -c popcnt_test.c 2> ${null} && \ ++ (bash "${CC} -mpopcnt -c popcnt_test.c 2> ${null} && \ + echo '(-mpopcnt)' > ${@} || echo '()' > ${@}")))))) + + (ocamllex (hex_lexer)) diff --git a/test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override/package.json b/test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override/package.json new file mode 100644 index 0000000000..44fd2691a6 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__base_opam__c__v0.11.1_opam_override/package.json @@ -0,0 +1,17 @@ +{ + "build": [ + [ + "bash", + "-c", + "#{os == 'windows' ? 'patch -p1 < base-v0.11.1.patch' : 'true'}" + ], + [ + "jbuilder", + "build", + "-p", + "base", + "-j", + "4" + ] + ] +} diff --git a/test.esy.lock/overrides/opam__s__dune_opam__c__1.7.3_opam_override/package.json b/test.esy.lock/overrides/opam__s__dune_opam__c__1.7.3_opam_override/package.json new file mode 100644 index 0000000000..064c7e390d --- /dev/null +++ b/test.esy.lock/overrides/opam__s__dune_opam__c__1.7.3_opam_override/package.json @@ -0,0 +1,14 @@ +{ + "build": [ + [ + "ocaml", + "bootstrap.ml" + ], + [ + "./boot.exe", + "--release", + "-j", + "4" + ] + ] +} diff --git a/test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override/files/lambda-term-1.13.patch b/test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override/files/lambda-term-1.13.patch new file mode 100644 index 0000000000..563657b6dc --- /dev/null +++ b/test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override/files/lambda-term-1.13.patch @@ -0,0 +1,88 @@ +--- ./src/lTerm_windows_stubs.c ++++ ./src/lTerm_windows_stubs.c +@@ -16,7 +16,6 @@ + + #if defined(_WIN32) || defined(_WIN64) + +-#include + #include + + /* +-----------------------------------------------------------------+ +@@ -140,15 +139,7 @@ + } + } + +-CAMLprim value lt_windows_read_console_input_job(value val_fd) +-{ +- LWT_UNIX_INIT_JOB(job, read_console_input, 0); +- job->handle = Handle_val(val_fd); +- job->error_code = 0; +- CAMLreturn(lwt_unix_alloc_job(&(job->job))); +-} +- +-static value result_read_console_input_result(struct job_read_console_input *job) ++static value result_read_console_input(struct job_read_console_input *job) + { + INPUT_RECORD input; + DWORD cks, bs; +@@ -163,23 +154,23 @@ + win32_maperr(error_code); + uerror("ReadConsoleInput", Nothing); + } +- switch (input->EventType) { ++ switch (input.EventType) { + case KEY_EVENT: { + result = caml_alloc(1, 0); + x = caml_alloc_tuple(4); + Field(result, 0) = x; +- cks = input->Event.KeyEvent.dwControlKeyState; ++ cks = input.Event.KeyEvent.dwControlKeyState; + Field(x, 0) = Val_bool((cks & LEFT_CTRL_PRESSED) | (cks & RIGHT_CTRL_PRESSED)); + Field(x, 1) = Val_bool((cks & LEFT_ALT_PRESSED) | (cks & RIGHT_ALT_PRESSED)); + Field(x, 2) = Val_bool(cks & SHIFT_PRESSED); +- code = input->Event.KeyEvent.wVirtualKeyCode; ++ code = input.Event.KeyEvent.wVirtualKeyCode; + for (i = 0; i < sizeof(code_table)/sizeof(code_table[0]); i++) + if (code == code_table[i]) { + Field(x, 3) = Val_int(i); + CAMLreturn(result); + } + y = caml_alloc_tuple(1); +- Field(y, 0) = Val_int(input->Event.KeyEvent.uChar.UnicodeChar); ++ Field(y, 0) = Val_int(input.Event.KeyEvent.uChar.UnicodeChar); + Field(x, 3) = y; + CAMLreturn(result); + } +@@ -187,13 +178,13 @@ + result = caml_alloc(1, 1); + x = caml_alloc_tuple(6); + Field(result, 0) = x; +- cks = input->Event.MouseEvent.dwControlKeyState; ++ cks = input.Event.MouseEvent.dwControlKeyState; + Field(x, 0) = Val_bool((cks & LEFT_CTRL_PRESSED) | (cks & RIGHT_CTRL_PRESSED)); + Field(x, 1) = Val_bool((cks & LEFT_ALT_PRESSED) | (cks & RIGHT_ALT_PRESSED)); + Field(x, 2) = Val_bool(cks & SHIFT_PRESSED); +- Field(x, 4) = Val_int(input->Event.MouseEvent.dwMousePosition.Y); +- Field(x, 5) = Val_int(input->Event.MouseEvent.dwMousePosition.X); +- bs = input->Event.MouseEvent.dwButtonState; ++ Field(x, 4) = Val_int(input.Event.MouseEvent.dwMousePosition.Y); ++ Field(x, 5) = Val_int(input.Event.MouseEvent.dwMousePosition.X); ++ bs = input.Event.MouseEvent.dwButtonState; + if (bs & FROM_LEFT_1ST_BUTTON_PRESSED) + Field(x, 3) = Val_int(0); + else if (bs & FROM_LEFT_2ND_BUTTON_PRESSED) +@@ -212,6 +203,14 @@ + CAMLreturn(Val_int(0)); + } + ++CAMLprim value lt_windows_read_console_input_job(value val_fd) ++{ ++ LWT_UNIX_INIT_JOB(job, read_console_input, 0); ++ job->handle = Handle_val(val_fd); ++ job->error_code = 0; ++ return (lwt_unix_alloc_job(&(job->job))); ++} ++ + /* +-----------------------------------------------------------------+ + | Console informations | + +-----------------------------------------------------------------+ */ diff --git a/test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override/package.json b/test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override/package.json new file mode 100644 index 0000000000..3c22b23a67 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__lambda_term_opam__c__1.13_opam_override/package.json @@ -0,0 +1,17 @@ +{ + "build": [ + [ + "bash", + "-c", + "#{os == 'windows' ? 'patch -p1 < lambda-term-1.13.patch' : 'true'}" + ], + [ + "jbuilder", + "build", + "-p", + "lambda-term", + "-j", + "4" + ] + ] +} diff --git a/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix-4.2.3007.patch b/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix-4.2.3007.patch new file mode 100644 index 0000000000..1e59ebb36b --- /dev/null +++ b/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix-4.2.3007.patch @@ -0,0 +1,34 @@ +--- ./extend_helper.ml ++++ ./extend_helper.ml +@@ -1,13 +1,6 @@ +-(*pp cppo -V OCAML:`ocamlc -version` *) + open Parsetree + open Extend_protocol + +-#if OCAML_VERSION < (4, 3, 0) +-# define CONST_STRING Asttypes.Const_string +-#else +-# define CONST_STRING Parsetree.Pconst_string +-#endif +- + (** Default implementation for [Reader_def.print_outcome] using + [Oprint] from compiler-libs *) + let print_outcome_using_oprint ppf = function +@@ -28,7 +21,7 @@ + pstr_loc = Location.none; + pstr_desc = Pstr_eval ({ + pexp_loc = Location.none; +- pexp_desc = Pexp_constant (CONST_STRING (msg, None)); ++ pexp_desc = Pexp_constant (Asttypes.Const_string (msg, None)); + pexp_attributes = []; + }, []); + }] +@@ -112,7 +105,7 @@ + let msg = match payload with + | PStr [{ + pstr_desc = Pstr_eval ({ +- pexp_desc = Pexp_constant (CONST_STRING (msg, _)); ++ pexp_desc = Pexp_constant (Asttypes.Const_string (msg, _)); + }, _); + }] -> msg + | _ -> "Warning: extension produced an incorrect syntax-error node" diff --git a/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix.patch b/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix.patch new file mode 100644 index 0000000000..40c46b1590 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/files/merlin-extend-winfix.patch @@ -0,0 +1,34 @@ +--- ./extend_helper.ml ++++ ./extend_helper.ml +@@ -1,13 +1,6 @@ +-(*pp cppo -V OCAML:`ocamlc -version` *) + open Parsetree + open Extend_protocol + +-#if OCAML_VERSION < (4, 3, 0) +-# define CONST_STRING Asttypes.Const_string +-#else +-# define CONST_STRING Parsetree.Pconst_string +-#endif +- + (** Default implementation for [Reader_def.print_outcome] using + [Oprint] from compiler-libs *) + let print_outcome_using_oprint ppf = function +@@ -28,7 +21,7 @@ + pstr_loc = Location.none; + pstr_desc = Pstr_eval ({ + pexp_loc = Location.none; +- pexp_desc = Pexp_constant (CONST_STRING (msg, None)); ++ pexp_desc = Pexp_constant (Parsetree.Pconst_string (msg, None)); + pexp_attributes = []; + }, []); + }] +@@ -112,7 +105,7 @@ + let msg = match payload with + | PStr [{ + pstr_desc = Pstr_eval ({ +- pexp_desc = Pexp_constant (CONST_STRING (msg, _)); ++ pexp_desc = Pexp_constant (Parsetree.Pconst_string (msg, _)); + }, _); + }] -> msg + | _ -> "Warning: extension produced an incorrect syntax-error node" diff --git a/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/package.json b/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/package.json new file mode 100644 index 0000000000..acc90eb32d --- /dev/null +++ b/test.esy.lock/overrides/opam__s__merlin_extend_opam__c__0.3_opam_override/package.json @@ -0,0 +1,15 @@ +{ + "buildEnv": { + "PATCH_CMD": "#{ocaml.version == '4.2.3007' ? 'patch -p1 < merlin-extend-winfix-4.2.3007.patch' : 'patch -p1 < merlin-extend-winfix.patch'}" + }, + "build": [ + [ + "bash", + "-c", + "#{os == 'windows' ? $PATCH_CMD : 'true'}" + ], + [ + "make" + ] + ] +} diff --git a/test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch b/test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch new file mode 100644 index 0000000000..4d5bea0e09 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch @@ -0,0 +1,463 @@ +--- ./Makefile ++++ ./Makefile +@@ -213,7 +213,7 @@ + rm -f man/ocamlbuild.1 + + man/options_man.byte: src/ocamlbuild_pack.cmo +- $(OCAMLC) $^ -I src man/options_man.ml -o man/options_man.byte ++ $(OCAMLC) -I +unix unix.cma $^ -I src man/options_man.ml -o man/options_man.byte + + clean:: + rm -f man/options_man.cm* +--- ./src/command.ml ++++ ./src/command.ml +@@ -148,9 +148,10 @@ + let self = string_of_command_spec_with_calls call_with_tags call_with_target resolve_virtuals in + let b = Buffer.create 256 in + (* The best way to prevent bash from switching to its windows-style +- * quote-handling is to prepend an empty string before the command name. *) ++ * quote-handling is to prepend an empty string before the command name. ++ * space seems to work, too - and the ouput is nicer *) + if Sys.os_type = "Win32" then +- Buffer.add_string b "''"; ++ Buffer.add_char b ' '; + let first = ref true in + let put_space () = + if !first then +@@ -260,7 +261,7 @@ + + let execute_many ?(quiet=false) ?(pretend=false) cmds = + add_parallel_stat (List.length cmds); +- let degraded = !*My_unix.is_degraded || Sys.os_type = "Win32" in ++ let degraded = !*My_unix.is_degraded in + let jobs = !jobs in + if jobs < 0 then invalid_arg "jobs < 0"; + let max_jobs = if jobs = 0 then None else Some jobs in +--- ./src/findlib.ml ++++ ./src/findlib.ml +@@ -66,9 +66,6 @@ + (fun command -> lexer & Lexing.from_string & run_and_read command) + command + +-let run_and_read command = +- Printf.ksprintf run_and_read command +- + let rec query name = + try + Hashtbl.find packages name +@@ -135,7 +132,8 @@ + with Not_found -> s + + let list () = +- List.map before_space (split_nl & run_and_read "%s list" ocamlfind) ++ let cmd = Shell.quote_filename_if_needed ocamlfind ^ " list" in ++ List.map before_space (split_nl & run_and_read cmd) + + (* The closure algorithm is easy because the dependencies are already closed + and sorted for each package. We only have to make the union. We could also +--- ./src/main.ml ++++ ./src/main.ml +@@ -162,6 +162,9 @@ + Tags.mem "traverse" tags + || List.exists (Pathname.is_prefix path_name) !Options.include_dirs + || List.exists (Pathname.is_prefix path_name) target_dirs) ++ && ((* beware: !Options.build_dir is an absolute directory *) ++ Pathname.normalize !Options.build_dir ++ <> Pathname.normalize (Pathname.pwd/path_name)) + end + end + end +--- ./src/my_std.ml ++++ ./src/my_std.ml +@@ -271,13 +271,107 @@ + try Array.iter (fun x -> if x = basename then raise Exit) a; false + with Exit -> true + ++let command_plain = function ++| [| |] -> 0 ++| margv -> ++ let rec waitpid a b = ++ match Unix.waitpid a b with ++ | exception (Unix.Unix_error(Unix.EINTR,_,_)) -> waitpid a b ++ | x -> x ++ in ++ let pid = Unix.(create_process margv.(0) margv stdin stdout stderr) in ++ let pid', process_status = waitpid [] pid in ++ assert (pid = pid'); ++ match process_status with ++ | Unix.WEXITED n -> n ++ | Unix.WSIGNALED _ -> 2 (* like OCaml's uncaught exceptions *) ++ | Unix.WSTOPPED _ -> 127 ++ ++(* can't use Lexers because of circular dependency *) ++let split_path_win str = ++ let rec aux pos = ++ try ++ let i = String.index_from str pos ';' in ++ let len = i - pos in ++ if len = 0 then ++ aux (succ i) ++ else ++ String.sub str pos (i - pos) :: aux (succ i) ++ with Not_found | Invalid_argument _ -> ++ let len = String.length str - pos in ++ if len = 0 then [] else [String.sub str pos len] ++ in ++ aux 0 ++ ++let windows_shell = lazy begin ++ let rec iter = function ++ | [] -> [| "bash.exe" ; "--norc" ; "--noprofile" |] ++ | hd::tl -> ++ let dash = Filename.concat hd "dash.exe" in ++ if Sys.file_exists dash then [|dash|] else ++ let bash = Filename.concat hd "bash.exe" in ++ if Sys.file_exists bash = false then iter tl else ++ (* if sh.exe and bash.exe exist in the same dir, choose sh.exe *) ++ let sh = Filename.concat hd "sh.exe" in ++ if Sys.file_exists sh then [|sh|] else [|bash ; "--norc" ; "--noprofile"|] ++ in ++ split_path_win (try Sys.getenv "PATH" with Not_found -> "") |> iter ++end ++ ++let prep_windows_cmd cmd = ++ (* workaround known ocaml bug, remove later *) ++ if String.contains cmd '\t' && String.contains cmd ' ' = false then ++ " " ^ cmd ++ else ++ cmd ++ ++let run_with_shell = function ++| "" -> 0 ++| cmd -> ++ let cmd = prep_windows_cmd cmd in ++ let shell = Lazy.force windows_shell in ++ let qlen = Filename.quote cmd |> String.length in ++ (* old versions of dash had problems with bs *) ++ try ++ if qlen < 7_900 then ++ command_plain (Array.append shell [| "-ec" ; cmd |]) ++ else begin ++ (* it can still work, if the called command is a cygwin tool *) ++ let ch_closed = ref false in ++ let file_deleted = ref false in ++ let fln,ch = ++ Filename.open_temp_file ++ ~mode:[Open_binary] ++ "ocamlbuildtmp" ++ ".sh" ++ in ++ try ++ let f_slash = String.map ( fun x -> if x = '\\' then '/' else x ) fln in ++ output_string ch cmd; ++ ch_closed:= true; ++ close_out ch; ++ let ret = command_plain (Array.append shell [| "-e" ; f_slash |]) in ++ file_deleted:= true; ++ Sys.remove fln; ++ ret ++ with ++ | x -> ++ if !ch_closed = false then ++ close_out_noerr ch; ++ if !file_deleted = false then ++ (try Sys.remove fln with _ -> ()); ++ raise x ++ end ++ with ++ | (Unix.Unix_error _) as x -> ++ (* Sys.command doesn't raise an exception, so run_with_shell also won't ++ raise *) ++ Printexc.to_string x ^ ":" ^ cmd |> prerr_endline; ++ 1 ++ + let sys_command = +- match Sys.os_type with +- | "Win32" -> fun cmd -> +- if cmd = "" then 0 else +- let cmd = "bash --norc -c " ^ Filename.quote cmd in +- Sys.command cmd +- | _ -> fun cmd -> if cmd = "" then 0 else Sys.command cmd ++ if Sys.win32 then run_with_shell ++ else fun cmd -> if cmd = "" then 0 else Sys.command cmd + + (* FIXME warning fix and use Filename.concat *) + let filename_concat x y = +--- ./src/my_std.mli ++++ ./src/my_std.mli +@@ -69,3 +69,6 @@ + + val split_ocaml_version : (int * int * int * string) option + (** (major, minor, patchlevel, rest) *) ++ ++val windows_shell : string array Lazy.t ++val prep_windows_cmd : string -> string +--- ./src/ocamlbuild_executor.ml ++++ ./src/ocamlbuild_executor.ml +@@ -34,6 +34,8 @@ + job_stdin : out_channel; + job_stderr : in_channel; + job_buffer : Buffer.t; ++ job_pid : int; ++ job_tmp_file: string option; + mutable job_dying : bool; + };; + +@@ -76,6 +78,61 @@ + in + loop 0 + ;; ++ ++let open_process_full_win cmd env = ++ let (in_read, in_write) = Unix.pipe () in ++ let (out_read, out_write) = Unix.pipe () in ++ let (err_read, err_write) = Unix.pipe () in ++ Unix.set_close_on_exec in_read; ++ Unix.set_close_on_exec out_write; ++ Unix.set_close_on_exec err_read; ++ let inchan = Unix.in_channel_of_descr in_read in ++ let outchan = Unix.out_channel_of_descr out_write in ++ let errchan = Unix.in_channel_of_descr err_read in ++ let shell = Lazy.force Ocamlbuild_pack.My_std.windows_shell in ++ let test_cmd = ++ String.concat " " (List.map Filename.quote (Array.to_list shell)) ^ ++ "-ec " ^ ++ Filename.quote (Ocamlbuild_pack.My_std.prep_windows_cmd cmd) in ++ let argv,tmp_file = ++ if String.length test_cmd < 7_900 then ++ Array.append ++ shell ++ [| "-ec" ; Ocamlbuild_pack.My_std.prep_windows_cmd cmd |],None ++ else ++ let fln,ch = Filename.open_temp_file ~mode:[Open_binary] "ocamlbuild" ".sh" in ++ output_string ch (Ocamlbuild_pack.My_std.prep_windows_cmd cmd); ++ close_out ch; ++ let fln' = String.map (function '\\' -> '/' | c -> c) fln in ++ Array.append ++ shell ++ [| "-c" ; fln' |], Some fln in ++ let pid = ++ Unix.create_process_env argv.(0) argv env out_read in_write err_write in ++ Unix.close out_read; ++ Unix.close in_write; ++ Unix.close err_write; ++ (pid, inchan, outchan, errchan,tmp_file) ++ ++let close_process_full_win (pid,inchan, outchan, errchan, tmp_file) = ++ let delete tmp_file = ++ match tmp_file with ++ | None -> () ++ | Some x -> try Sys.remove x with Sys_error _ -> () in ++ let tmp_file_deleted = ref false in ++ try ++ close_in inchan; ++ close_out outchan; ++ close_in errchan; ++ let res = snd(Unix.waitpid [] pid) in ++ tmp_file_deleted := true; ++ delete tmp_file; ++ res ++ with ++ | x when tmp_file <> None && !tmp_file_deleted = false -> ++ delete tmp_file; ++ raise x ++ + (* ***) + (*** execute *) + (* XXX: Add test for non reentrancy *) +@@ -130,10 +187,16 @@ + (*** add_job *) + let add_job cmd rest result id = + (*display begin fun oc -> fp oc "Job %a is %s\n%!" print_job_id id cmd; end;*) +- let (stdout', stdin', stderr') = open_process_full cmd env in ++ let (pid,stdout', stdin', stderr', tmp_file) = ++ if Sys.win32 then open_process_full_win cmd env else ++ let a,b,c = open_process_full cmd env in ++ -1,a,b,c,None ++ in + incr jobs_active; +- set_nonblock (doi stdout'); +- set_nonblock (doi stderr'); ++ if not Sys.win32 then ( ++ set_nonblock (doi stdout'); ++ set_nonblock (doi stderr'); ++ ); + let job = + { job_id = id; + job_command = cmd; +@@ -143,7 +206,9 @@ + job_stdin = stdin'; + job_stderr = stderr'; + job_buffer = Buffer.create 1024; +- job_dying = false } ++ job_dying = false; ++ job_tmp_file = tmp_file; ++ job_pid = pid } + in + outputs := FDM.add (doi stdout') job (FDM.add (doi stderr') job !outputs); + jobs := JS.add job !jobs; +@@ -199,6 +264,7 @@ + try + read fd u 0 (Bytes.length u) + with ++ | Unix.Unix_error(Unix.EPIPE,_,_) when Sys.win32 -> 0 + | Unix.Unix_error(e,_,_) -> + let msg = error_message e in + display (fun oc -> fp oc +@@ -241,14 +307,19 @@ + decr jobs_active; + + (* PR#5371: we would get EAGAIN below otherwise *) +- clear_nonblock (doi job.job_stdout); +- clear_nonblock (doi job.job_stderr); +- ++ if not Sys.win32 then ( ++ clear_nonblock (doi job.job_stdout); ++ clear_nonblock (doi job.job_stderr); ++ ); + do_read ~loop:true (doi job.job_stdout) job; + do_read ~loop:true (doi job.job_stderr) job; + outputs := FDM.remove (doi job.job_stdout) (FDM.remove (doi job.job_stderr) !outputs); + jobs := JS.remove job !jobs; +- let status = close_process_full (job.job_stdout, job.job_stdin, job.job_stderr) in ++ let status = ++ if Sys.win32 then ++ close_process_full_win (job.job_pid, job.job_stdout, job.job_stdin, job.job_stderr, job.job_tmp_file) ++ else ++ close_process_full (job.job_stdout, job.job_stdin, job.job_stderr) in + + let shown = ref false in + +--- ./src/ocamlbuild_unix_plugin.ml ++++ ./src/ocamlbuild_unix_plugin.ml +@@ -48,12 +48,22 @@ + end + + let run_and_open s kont = ++ let s_orig = s in ++ let s = ++ (* Be consistent! My_unix.run_and_open uses My_std.sys_command and ++ sys_command uses bash. *) ++ if Sys.win32 = false then s else ++ let l = match Lazy.force My_std.windows_shell |> Array.to_list with ++ | hd::tl -> (Filename.quote hd)::tl ++ | _ -> assert false in ++ "\"" ^ (String.concat " " l) ^ " -ec " ^ Filename.quote (" " ^ s) ^ "\"" ++ in + let ic = Unix.open_process_in s in + let close () = + match Unix.close_process_in ic with + | Unix.WEXITED 0 -> () + | Unix.WEXITED _ | Unix.WSIGNALED _ | Unix.WSTOPPED _ -> +- failwith (Printf.sprintf "Error while running: %s" s) in ++ failwith (Printf.sprintf "Error while running: %s" s_orig) in + let res = try + kont ic + with e -> (close (); raise e) +--- ./src/options.ml ++++ ./src/options.ml +@@ -174,11 +174,24 @@ + build_dir := Filename.concat (Sys.getcwd ()) s + else + build_dir := s ++ ++let slashify = ++ if Sys.win32 then fun p -> String.map (function '\\' -> '/' | x -> x) p ++ else fun p ->p ++ ++let sb () = ++ match Sys.os_type with ++ | "Win32" -> ++ (try set_binary_mode_out stdout true with _ -> ()); ++ | _ -> () ++ ++ + let spec = ref ( + let print_version () = ++ sb (); + Printf.printf "ocamlbuild %s\n%!" Ocamlbuild_config.version; raise Exit_OK + in +- let print_vnum () = print_endline Ocamlbuild_config.version; raise Exit_OK in ++ let print_vnum () = sb (); print_endline Ocamlbuild_config.version; raise Exit_OK in + Arg.align + [ + "-version", Unit print_version , " Display the version"; +@@ -257,8 +270,8 @@ + "-build-dir", String set_build_dir, " Set build directory (implies no-links)"; + "-install-lib-dir", Set_string Ocamlbuild_where.libdir, " Set the install library directory"; + "-install-bin-dir", Set_string Ocamlbuild_where.bindir, " Set the install binary directory"; +- "-where", Unit (fun () -> print_endline !Ocamlbuild_where.libdir; raise Exit_OK), " Display the install library directory"; +- "-which", String (fun cmd -> print_endline (find_tool cmd); raise Exit_OK), " Display path to the tool command"; ++ "-where", Unit (fun () -> sb (); print_endline (slashify !Ocamlbuild_where.libdir); raise Exit_OK), " Display the install library directory"; ++ "-which", String (fun cmd -> sb (); print_endline (slashify (find_tool cmd)); raise Exit_OK), " Display path to the tool command"; + "-ocamlc", set_cmd ocamlc, " Set the OCaml bytecode compiler"; + "-plugin-ocamlc", set_cmd plugin_ocamlc, " Set the OCaml bytecode compiler \ + used when building myocamlbuild.ml (only)"; +--- ./src/pathname.ml ++++ ./src/pathname.ml +@@ -84,6 +84,26 @@ + | x :: xs -> x :: normalize_list xs + + let normalize x = ++ let x = ++ if Sys.win32 = false then ++ x ++ else ++ let len = String.length x in ++ let b = Bytes.create len in ++ for i = 0 to pred len do ++ match x.[i] with ++ | '\\' -> Bytes.set b i '/' ++ | c -> Bytes.set b i c ++ done; ++ if len > 1 then ( ++ let c1 = Bytes.get b 0 in ++ let c2 = Bytes.get b 1 in ++ if c2 = ':' && c1 >= 'a' && c1 <= 'z' && ++ ( len = 2 || Bytes.get b 2 = '/') then ++ Bytes.set b 0 (Char.uppercase_ascii c1) ++ ); ++ Bytes.unsafe_to_string b ++ in + if Glob.eval not_normal_form_re x then + let root, paths = split x in + join root (normalize_list paths) +--- ./src/shell.ml ++++ ./src/shell.ml +@@ -24,12 +24,26 @@ + | 'a'..'z' | 'A'..'Z' | '0'..'9' | '.' | '-' | '/' | '_' | ':' | '@' | '+' | ',' -> loop (pos + 1) + | _ -> false in + loop 0 ++ ++let generic_quote quotequote s = ++ let l = String.length s in ++ let b = Buffer.create (l + 20) in ++ Buffer.add_char b '\''; ++ for i = 0 to l - 1 do ++ if s.[i] = '\'' ++ then Buffer.add_string b quotequote ++ else Buffer.add_char b s.[i] ++ done; ++ Buffer.add_char b '\''; ++ Buffer.contents b ++let unix_quote = generic_quote "'\\''" ++ + let quote_filename_if_needed s = + if is_simple_filename s then s + (* We should probably be using [Filename.unix_quote] except that function + * isn't exported. Users on Windows will have to live with not being able to + * install OCaml into c:\o'caml. Too bad. *) +- else if Sys.os_type = "Win32" then Printf.sprintf "'%s'" s ++ else if Sys.os_type = "Win32" then unix_quote s + else Filename.quote s + let chdir dir = + reset_filesys_cache (); +@@ -37,7 +51,7 @@ + let run args target = + reset_readdir_cache (); + let cmd = String.concat " " (List.map quote_filename_if_needed args) in +- if !*My_unix.is_degraded || Sys.os_type = "Win32" then ++ if !*My_unix.is_degraded then + begin + Log.event cmd target Tags.empty; + let st = sys_command cmd in diff --git a/test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json b/test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json new file mode 100644 index 0000000000..b24be7b5bc --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json @@ -0,0 +1,27 @@ +{ + "build": [ + [ + "bash", + "-c", + "#{os == 'windows' ? 'patch -p1 < ocamlbuild-0.14.0.patch' : 'true'}" + ], + [ + "make", + "-f", + "configure.make", + "all", + "OCAMLBUILD_PREFIX=#{self.install}", + "OCAMLBUILD_BINDIR=#{self.bin}", + "OCAMLBUILD_LIBDIR=#{self.lib}", + "OCAMLBUILD_MANDIR=#{self.man}", + "OCAMLBUILD_NATIVE=true", + "OCAMLBUILD_NATIVE_TOOLS=true" + ], + [ + "make", + "check-if-preinstalled", + "all", + "#{os == 'windows' ? 'install' : 'opam-install'}" + ] + ] +} diff --git a/test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/files/findlib-1.8.0.patch b/test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/files/findlib-1.8.0.patch new file mode 100644 index 0000000000..5d3d1895f9 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/files/findlib-1.8.0.patch @@ -0,0 +1,489 @@ +--- ./Makefile ++++ ./Makefile +@@ -57,16 +57,16 @@ + cat findlib.conf.in | \ + $(SH) tools/patch '@SITELIB@' '$(OCAML_SITELIB)' >findlib.conf + if ./tools/cmd_from_same_dir ocamlc; then \ +- echo 'ocamlc="ocamlc.opt"' >>findlib.conf; \ ++ echo 'ocamlc="ocamlc.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ + fi + if ./tools/cmd_from_same_dir ocamlopt; then \ +- echo 'ocamlopt="ocamlopt.opt"' >>findlib.conf; \ ++ echo 'ocamlopt="ocamlopt.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ + fi + if ./tools/cmd_from_same_dir ocamldep; then \ +- echo 'ocamldep="ocamldep.opt"' >>findlib.conf; \ ++ echo 'ocamldep="ocamldep.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ + fi + if ./tools/cmd_from_same_dir ocamldoc; then \ +- echo 'ocamldoc="ocamldoc.opt"' >>findlib.conf; \ ++ echo 'ocamldoc="ocamldoc.opt$(EXEC_SUFFIX)"' >>findlib.conf; \ + fi + + .PHONY: install-doc +--- ./src/findlib/findlib_config.mlp ++++ ./src/findlib/findlib_config.mlp +@@ -24,3 +24,5 @@ + | "MacOS" -> "" (* don't know *) + | _ -> failwith "Unknown Sys.os_type" + ;; ++ ++let exec_suffix = "@EXEC_SUFFIX@";; +--- ./src/findlib/findlib.ml ++++ ./src/findlib/findlib.ml +@@ -28,15 +28,20 @@ + let conf_ldconf = ref "";; + let conf_ignore_dups_in = ref ([] : string list);; + +-let ocamlc_default = "ocamlc";; +-let ocamlopt_default = "ocamlopt";; +-let ocamlcp_default = "ocamlcp";; +-let ocamloptp_default = "ocamloptp";; +-let ocamlmklib_default = "ocamlmklib";; +-let ocamlmktop_default = "ocamlmktop";; +-let ocamldep_default = "ocamldep";; +-let ocamlbrowser_default = "ocamlbrowser";; +-let ocamldoc_default = "ocamldoc";; ++let add_exec str = ++ match Findlib_config.exec_suffix with ++ | "" -> str ++ | a -> str ^ a ;; ++let ocamlc_default = add_exec "ocamlc";; ++let ocamlopt_default = add_exec "ocamlopt";; ++let ocamlcp_default = add_exec "ocamlcp";; ++let ocamloptp_default = add_exec "ocamloptp";; ++let ocamlmklib_default = add_exec "ocamlmklib";; ++let ocamlmktop_default = add_exec "ocamlmktop";; ++let ocamldep_default = add_exec "ocamldep";; ++let ocamlbrowser_default = add_exec "ocamlbrowser";; ++let ocamldoc_default = add_exec "ocamldoc";; ++ + + + let init_manually +--- ./src/findlib/fl_package_base.ml ++++ ./src/findlib/fl_package_base.ml +@@ -133,7 +133,15 @@ + List.find (fun def -> def.def_var = "exists_if") p.package_defs in + let files = Fl_split.in_words def.def_value in + List.exists +- (fun file -> Sys.file_exists (Filename.concat d' file)) ++ (fun file -> ++ let fln = Filename.concat d' file in ++ let e = Sys.file_exists fln in ++ (* necessary for ppx executables *) ++ if e || Sys.os_type <> "Win32" || Filename.check_suffix fln ".exe" then ++ e ++ else ++ Sys.file_exists (fln ^ ".exe") ++ ) + files + with Not_found -> true in + +--- ./src/findlib/fl_split.ml ++++ ./src/findlib/fl_split.ml +@@ -126,10 +126,17 @@ + | '/' | '\\' -> true + | _ -> false in + let norm_dir_win() = +- if l >= 1 && s.[0] = '/' then +- Buffer.add_char b '\\' else Buffer.add_char b s.[0]; +- if l >= 2 && s.[1] = '/' then +- Buffer.add_char b '\\' else Buffer.add_char b s.[1]; ++ if l >= 1 then ( ++ if s.[0] = '/' then ++ Buffer.add_char b '\\' ++ else ++ Buffer.add_char b s.[0] ; ++ if l >= 2 then ++ if s.[1] = '/' then ++ Buffer.add_char b '\\' ++ else ++ Buffer.add_char b s.[1]; ++ ); + for k = 2 to l - 1 do + let c = s.[k] in + if is_slash c then ( +--- ./src/findlib/frontend.ml ++++ ./src/findlib/frontend.ml +@@ -31,10 +31,18 @@ + else + Sys_error (arg ^ ": " ^ Unix.error_message code) + ++let is_win = Sys.os_type = "Win32" ++ ++let () = ++ match Findlib_config.system with ++ | "win32" | "win64" | "mingw" | "cygwin" | "mingw64" | "cygwin64" -> ++ (try set_binary_mode_out stdout true with _ -> ()); ++ (try set_binary_mode_out stderr true with _ -> ()); ++ | _ -> () + + let slashify s = + match Findlib_config.system with +- | "mingw" | "mingw64" | "cygwin" -> ++ | "win32" | "win64" | "mingw" | "cygwin" | "mingw64" | "cygwin64" -> + let b = Buffer.create 80 in + String.iter + (function +@@ -49,7 +57,7 @@ + + let out_path ?(prefix="") s = + match Findlib_config.system with +- | "mingw" | "mingw64" | "cygwin" -> ++ | "win32" | "win64" | "mingw" | "mingw64" | "cygwin" -> + let u = slashify s in + prefix ^ + (if String.contains u ' ' then +@@ -273,11 +281,9 @@ + + + let identify_dir d = +- match Sys.os_type with +- | "Win32" -> +- failwith "identify_dir" (* not available *) +- | _ -> +- let s = Unix.stat d in ++ if is_win then ++ failwith "identify_dir"; (* not available *) ++ let s = Unix.stat d in + (s.Unix.st_dev, s.Unix.st_ino) + ;; + +@@ -459,6 +465,96 @@ + ) + packages + ++let rewrite_cmd s = ++ if s = "" || not is_win then ++ s ++ else ++ let s = ++ let l = String.length s in ++ let b = Buffer.create l in ++ for i = 0 to pred l do ++ match s.[i] with ++ | '/' -> Buffer.add_char b '\\' ++ | x -> Buffer.add_char b x ++ done; ++ Buffer.contents b ++ in ++ if (Filename.is_implicit s && String.contains s '\\' = false) || ++ Filename.check_suffix (String.lowercase s) ".exe" then ++ s ++ else ++ let s' = s ^ ".exe" in ++ if Sys.file_exists s' then ++ s' ++ else ++ s ++ ++let rewrite_cmd s = ++ if s = "" || not is_win then s else ++ let s = ++ let l = String.length s in ++ let b = Buffer.create l in ++ for i = 0 to pred l do ++ match s.[i] with ++ | '/' -> Buffer.add_char b '\\' ++ | x -> Buffer.add_char b x ++ done; ++ Buffer.contents b ++ in ++ if (Filename.is_implicit s && String.contains s '\\' = false) || ++ Filename.check_suffix (String.lowercase s) ".exe" then ++ s ++ else ++ let s' = s ^ ".exe" in ++ if Sys.file_exists s' then ++ s' ++ else ++ s ++ ++let rewrite_pp cmd = ++ if not is_win then cmd else ++ let module T = struct exception Keep end in ++ let is_whitespace = function ++ | ' ' | '\011' | '\012' | '\n' | '\r' | '\t' -> true ++ | _ -> false in ++ (* characters that triggers special behaviour (cmd.exe, not unix shell) *) ++ let is_unsafe_char = function ++ | '(' | ')' | '%' | '!' | '^' | '<' | '>' | '&' -> true ++ | _ -> false in ++ let len = String.length cmd in ++ let buf = Buffer.create (len + 4) in ++ let buf_cmd = Buffer.create len in ++ let rec iter_ws i = ++ if i >= len then () else ++ let cur = cmd.[i] in ++ if is_whitespace cur then ( ++ Buffer.add_char buf cur; ++ iter_ws (succ i) ++ ) ++ else ++ iter_cmd i ++ and iter_cmd i = ++ if i >= len then add_buf_cmd () else ++ let cur = cmd.[i] in ++ if is_unsafe_char cur || cur = '"' || cur = '\'' then ++ raise T.Keep; ++ if is_whitespace cur then ( ++ add_buf_cmd (); ++ Buffer.add_substring buf cmd i (len - i) ++ ) ++ else ( ++ Buffer.add_char buf_cmd cur; ++ iter_cmd (succ i) ++ ) ++ and add_buf_cmd () = ++ if Buffer.length buf_cmd > 0 then ++ Buffer.add_string buf (rewrite_cmd (Buffer.contents buf_cmd)) ++ in ++ try ++ iter_ws 0; ++ Buffer.contents buf ++ with ++ | T.Keep -> cmd + + let process_pp_spec syntax_preds packages pp_opts = + (* Returns: pp_command *) +@@ -549,7 +645,7 @@ + None -> [] + | Some cmd -> + ["-pp"; +- cmd ^ " " ^ ++ (rewrite_cmd cmd) ^ " " ^ + String.concat " " (List.map Filename.quote pp_i_options) ^ " " ^ + String.concat " " (List.map Filename.quote pp_archives) ^ " " ^ + String.concat " " (List.map Filename.quote pp_opts)] +@@ -625,9 +721,11 @@ + in + try + let preprocessor = ++ rewrite_cmd ( + resolve_path + ~base ~explicit:true +- (package_property predicates pname "ppx") in ++ (package_property predicates pname "ppx") ) ++ in + ["-ppx"; String.concat " " (preprocessor :: options)] + with Not_found -> [] + ) +@@ -895,6 +993,14 @@ + switch (e.g. -L instead of -L ) + *) + ++(* We may need to remove files on which we do not have complete control. ++ On Windows, removing a read-only file fails so try to change the ++ mode of the file first. *) ++let remove_file fname = ++ try Sys.remove fname ++ with Sys_error _ when is_win -> ++ (try Unix.chmod fname 0o666 with Unix.Unix_error _ -> ()); ++ Sys.remove fname + + let ocamlc which () = + +@@ -1022,9 +1128,12 @@ + + "-intf", + Arg.String (fun s -> pass_files := !pass_files @ [ Intf(slashify s) ]); +- ++ + "-pp", +- Arg.String (fun s -> pp_specified := true; add_spec_fn "-pp" s); ++ Arg.String (fun s -> pp_specified := true; add_spec_fn "-pp" (rewrite_pp s)); ++ ++ "-ppx", ++ Arg.String (fun s -> add_spec_fn "-ppx" (rewrite_pp s)); + + "-thread", + Arg.Unit (fun _ -> threads := threads_default); +@@ -1237,7 +1346,7 @@ + with + any -> + close_out initl; +- Sys.remove initl_file_name; ++ remove_file initl_file_name; + raise any + end; + +@@ -1245,9 +1354,9 @@ + at_exit + (fun () -> + let tr f x = try f x with _ -> () in +- tr Sys.remove initl_file_name; +- tr Sys.remove (Filename.chop_extension initl_file_name ^ ".cmi"); +- tr Sys.remove (Filename.chop_extension initl_file_name ^ ".cmo"); ++ tr remove_file initl_file_name; ++ tr remove_file (Filename.chop_extension initl_file_name ^ ".cmi"); ++ tr remove_file (Filename.chop_extension initl_file_name ^ ".cmo"); + ); + + let exclude_list = [ stdlibdir; threads_dir; vmthreads_dir ] in +@@ -1493,7 +1602,9 @@ + [ "-v", Arg.Unit (fun () -> verbose := Verbose); + "-pp", Arg.String (fun s -> + pp_specified := true; +- options := !options @ ["-pp"; s]); ++ options := !options @ ["-pp"; rewrite_pp s]); ++ "-ppx", Arg.String (fun s -> ++ options := !options @ ["-ppx"; rewrite_pp s]); + ] + ) + ) +@@ -1672,7 +1783,9 @@ + Arg.String (fun s -> add_spec_fn "-I" (slashify (resolve_path s))); + + "-pp", Arg.String (fun s -> pp_specified := true; +- add_spec_fn "-pp" s); ++ add_spec_fn "-pp" (rewrite_pp s)); ++ "-ppx", Arg.String (fun s -> add_spec_fn "-ppx" (rewrite_pp s)); ++ + ] + ) + ) +@@ -1830,7 +1943,10 @@ + output_string ch_out append; + close_out ch_out; + close_in ch_in; +- Unix.utimes outpath s.Unix.st_mtime s.Unix.st_mtime; ++ (try Unix.utimes outpath s.Unix.st_mtime s.Unix.st_mtime ++ with Unix.Unix_error(e,_,_) -> ++ prerr_endline("Warning: setting utimes for " ^ outpath ++ ^ ": " ^ Unix.error_message e)); + + prerr_endline("Installed " ^ outpath); + with +@@ -1882,6 +1998,8 @@ + Unix.openfile (Filename.concat dir owner_file) [Unix.O_RDONLY] 0 in + let f = + Unix.in_channel_of_descr fd in ++ if is_win then ++ set_binary_mode_in f false; + try + let line = input_line f in + let is_my_file = (line = pkg) in +@@ -2208,7 +2326,7 @@ + let lines = read_ldconf !ldconf in + let dlldir_norm = Fl_split.norm_dir dlldir in + let dlldir_norm_lc = string_lowercase_ascii dlldir_norm in +- let ci_filesys = (Sys.os_type = "Win32") in ++ let ci_filesys = is_win in + let check_dir d = + let d' = Fl_split.norm_dir d in + (d' = dlldir_norm) || +@@ -2356,7 +2474,7 @@ + List.iter + (fun file -> + let absfile = Filename.concat dlldir file in +- Sys.remove absfile; ++ remove_file absfile; + prerr_endline ("Removed " ^ absfile) + ) + dll_files +@@ -2365,7 +2483,7 @@ + (* Remove the files from the package directory: *) + if Sys.file_exists pkgdir then begin + let files = Sys.readdir pkgdir in +- Array.iter (fun f -> Sys.remove (Filename.concat pkgdir f)) files; ++ Array.iter (fun f -> remove_file (Filename.concat pkgdir f)) files; + Unix.rmdir pkgdir; + prerr_endline ("Removed " ^ pkgdir) + end +@@ -2415,7 +2533,9 @@ + + + let print_configuration() = ++ let sl = slashify in + let dir s = ++ let s = sl s in + if Sys.file_exists s then + s + else +@@ -2453,27 +2573,27 @@ + if md = "" then "the corresponding package directories" else dir md + ); + Printf.printf "The standard library is assumed to reside in:\n %s\n" +- (Findlib.ocaml_stdlib()); ++ (sl (Findlib.ocaml_stdlib())); + Printf.printf "The ld.conf file can be found here:\n %s\n" +- (Findlib.ocaml_ldconf()); ++ (sl (Findlib.ocaml_ldconf())); + flush stdout + | Some "conf" -> +- print_endline Findlib_config.config_file ++ print_endline (sl Findlib_config.config_file) + | Some "path" -> +- List.iter print_endline (Findlib.search_path()) ++ List.iter ( fun x -> print_endline (sl x)) (Findlib.search_path()) + | Some "destdir" -> +- print_endline (Findlib.default_location()) ++ print_endline ( sl (Findlib.default_location())) + | Some "metadir" -> +- print_endline (Findlib.meta_directory()) ++ print_endline ( sl (Findlib.meta_directory())) + | Some "metapath" -> + let mdir = Findlib.meta_directory() in + let ddir = Findlib.default_location() in +- print_endline +- (if mdir <> "" then mdir ^ "/META.%s" else ddir ^ "/%s/META") ++ print_endline ( sl ++ (if mdir <> "" then mdir ^ "/META.%s" else ddir ^ "/%s/META")) + | Some "stdlib" -> +- print_endline (Findlib.ocaml_stdlib()) ++ print_endline ( sl (Findlib.ocaml_stdlib())) + | Some "ldconf" -> +- print_endline (Findlib.ocaml_ldconf()) ++ print_endline ( sl (Findlib.ocaml_ldconf())) + | _ -> + assert false + ;; +@@ -2481,7 +2601,7 @@ + + let ocamlcall pkg cmd = + let dir = package_directory pkg in +- let path = Filename.concat dir cmd in ++ let path = rewrite_cmd (Filename.concat dir cmd) in + begin + try Unix.access path [ Unix.X_OK ] + with +@@ -2647,6 +2767,10 @@ + | Sys_error f -> + prerr_endline ("ocamlfind: " ^ f); + exit 2 ++ | Unix.Unix_error (e, fn, f) -> ++ prerr_endline ("ocamlfind: " ^ fn ^ " " ^ f ++ ^ ": " ^ Unix.error_message e); ++ exit 2 + | Findlib.No_such_package(pkg,info) -> + prerr_endline ("ocamlfind: Package `" ^ pkg ^ "' not found" ^ + (if info <> "" then " - " ^ info else "")); +--- ./src/findlib/Makefile ++++ ./src/findlib/Makefile +@@ -90,6 +90,7 @@ + cat findlib_config.mlp | \ + $(SH) $(TOP)/tools/patch '@CONFIGFILE@' '$(OCAMLFIND_CONF)' | \ + $(SH) $(TOP)/tools/patch '@STDLIB@' '$(OCAML_CORE_STDLIB)' | \ ++ $(SH) $(TOP)/tools/patch '@EXEC_SUFFIX@' '$(EXEC_SUFFIX)' | \ + sed -e 's;@AUTOLINK@;$(OCAML_AUTOLINK);g' \ + -e 's;@SYSTEM@;$(SYSTEM);g' \ + >findlib_config.ml +@@ -113,7 +114,7 @@ + $(OCAMLC) -a -o num_top.cma $(NUMTOP_OBJECTS) + + clean: +- rm -f *.cmi *.cmo *.cma *.cmx *.a *.o *.cmxa \ ++ rm -f *.cmi *.cmo *.cma *.cmx *.lib *.a *.o *.cmxa \ + fl_meta.ml findlib_config.ml findlib.mml topfind.ml topfind \ + ocamlfind$(EXEC_SUFFIX) ocamlfind_opt$(EXEC_SUFFIX) + +@@ -121,7 +122,7 @@ + mkdir -p "$(prefix)$(OCAML_SITELIB)/$(NAME)" + mkdir -p "$(prefix)$(OCAMLFIND_BIN)" + test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_CORE_STDLIB)" +- 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` && \ ++ 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` && \ + cp $$files "$(prefix)$(OCAML_SITELIB)/$(NAME)" + f="ocamlfind$(EXEC_SUFFIX)"; { test -f ocamlfind_opt$(EXEC_SUFFIX) && f="ocamlfind_opt$(EXEC_SUFFIX)"; }; \ + cp $$f "$(prefix)$(OCAMLFIND_BIN)/ocamlfind$(EXEC_SUFFIX)" diff --git a/test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/package.json b/test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/package.json new file mode 100644 index 0000000000..136b66c52d --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.0_opam_override/package.json @@ -0,0 +1,61 @@ +{ + "build": [ + [ + "bash", + "-c", + "#{os == 'windows' ? 'patch -p1 < findlib-1.8.0.patch' : 'true'}" + ], + [ + "./configure", + "-bindir", + "#{self.bin}", + "-sitelib", + "#{self.lib}", + "-mandir", + "#{self.man}", + "-config", + "#{self.lib}/findlib.conf", + "-no-custom", + "-no-topfind" + ], + [ + "make", + "all" + ], + [ + "make", + "opt" + ] + ], + "install": [ + [ + "make", + "install" + ], + [ + "install", + "-m", + "0755", + "ocaml-stub", + "#{self.bin}/ocaml" + ], + [ + "mkdir", + "-p", + "#{self.toplevel}" + ], + [ + "install", + "-m", + "0644", + "src/findlib/topfind", + "#{self.toplevel}/topfind" + ] + ], + "exportedEnv": { + "OCAML_TOPLEVEL_PATH": { + "val": "#{self.toplevel}", + "scope": "global" + } + } +} diff --git a/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/files/esy-fix.patch b/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/files/esy-fix.patch new file mode 100644 index 0000000000..b9e945a1f3 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/files/esy-fix.patch @@ -0,0 +1,13 @@ +--- ./setup.ml ++++ ./setup.ml +@@ -6331,9 +6331,7 @@ + [ + "-classic-display"; + "-no-log"; +- "-no-links"; +- "-install-lib-dir"; +- (Filename.concat (standard_library ()) "ocamlbuild") ++ "-no-links" + ] + else + []; diff --git a/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/files/ocplib-endian-0.8.patch b/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/files/ocplib-endian-0.8.patch new file mode 100644 index 0000000000..7cafa0dd48 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/files/ocplib-endian-0.8.patch @@ -0,0 +1,41 @@ +--- ./myocamlbuild.ml ++++ ./myocamlbuild.ml +@@ -573,6 +573,24 @@ + Add a dependency after dropping support for 4.01 and earlier. *) + let dispatch_cppo = function + | After_rules -> begin ++ let is_directory s = ++ let slen = String.length s in ++ let s = ++ if Sys.os_type <> "Win32" || slen < 2 then ++ s ++ else ++ match s.[slen-1] with ++ | '\\' | '/' -> ++ if slen <> 3 || s.[1] <> ':' then ++ String.sub s 0 (slen -1) ++ else ++ (match s.[0] with ++ | 'A' .. 'Z' | 'a' .. 'z' -> s ++ | _ -> String.sub s 0 (slen -1)) ++ | _ -> s ++ in ++ Pathname.is_directory s ++ in + let cppo_rules ext = + let dep = "%(name).cppo"-.-ext + and prod1 = "%(name: <*> and not <*.cppo>)"-.-ext +@@ -591,11 +609,11 @@ + pflag ["cppo"] "cppo_D" (fun s -> S [A "-D"; A s]) ; + pflag ["cppo"] "cppo_U" (fun s -> S [A "-U"; A s]) ; + pflag ["cppo"] "cppo_I" (fun s -> +- if Pathname.is_directory s then S [A "-I"; P s] ++ if is_directory s then S [A "-I"; P s] + else S [A "-I"; P (Pathname.dirname s)] + ) ; + pdep ["cppo"] "cppo_I" (fun s -> +- if Pathname.is_directory s then [] else [s]) ; ++ if is_directory s then [] else [s]) ; + flag ["cppo"; "cppo_q"] (A "-q") ; + flag ["cppo"; "cppo_s"] (A "-s") ; + flag ["cppo"; "cppo_n"] (A "-n") ; diff --git a/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/package.json b/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/package.json new file mode 100644 index 0000000000..86ea38bce9 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ocplib_endian_opam__c__1.0_opam_override/package.json @@ -0,0 +1,34 @@ +{ + "build": [ + [ + "bash", + "-c", + "#{os == 'windows' ? 'patch -p1 < ocplib-endian-0.8.patch' : 'true'}" + ], + [ + "bash", + "-c", + "#{os == 'windows' ? 'patch -p1 < esy-fix.patch' : 'true'}" + ], + [ + "ocaml", + "setup.ml", + "-configure", + "--disable-debug", + "--prefix", + "#{self.install}" + ], + [ + "ocaml", + "setup.ml", + "-build" + ] + ], + "install": [ + [ + "ocaml", + "setup.ml", + "-install" + ] + ] +} diff --git a/test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override/files/ppx_deriving-4.2.1.patch b/test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override/files/ppx_deriving-4.2.1.patch new file mode 100644 index 0000000000..42735da3ac --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override/files/ppx_deriving-4.2.1.patch @@ -0,0 +1,78 @@ +--- ./pkg/topkg.ml ++++ ./pkg/topkg.ml +@@ -152,7 +152,63 @@ + module Exts : Exts = struct + let interface = [".mli"; ".cmi"; ".cmti"] + let interface_opt = ".cmx" :: interface +- let c_library = if Sys.win32 then [".lib"] else [".a"] ++ let c_library = ++ match Sys.win32 with ++ | false -> [".a"] ++ | true -> ++ let input_line ch = ++ try ++ let s = input_line ch in ++ let len = String.length s in ++ if len > 0 && Sys.os_type = "Win32" && s.[len-1] = '\r' then ++ Some (String.sub s 0 (pred len)) ++ else ++ Some s ++ with ++ | End_of_file -> None ++ in ++ let rec get_ext_lib ch = ++ match input_line ch with ++ | None -> ".a" ++ | Some s -> ++ let len = String.length s in ++ if len < 11 || s.[0] <> 'e' || String.sub s 0 9 <> "ext_lib: " then ++ get_ext_lib ch ++ else ++ String.sub s 9 (len - 9) ++ in ++ let get_ext_lib fln = ++ let ch = open_in fln in ++ let ch_closed = ref false in ++ try ++ let res = get_ext_lib ch in ++ ch_closed := true; ++ close_in ch ; ++ res ++ with ++ | x when !ch_closed = false -> ++ close_in_noerr ch; ++ raise x ++ in ++ let e_null = if Sys.win32 then " 2>NUL" else " 2>/dev/null" in ++ let fln = Filename.temp_file "get_ext" ".txt" in ++ let cleanup = lazy (try Sys.remove fln with Sys_error _ -> ()) in ++ try ++ let qfln = Filename.quote fln in ++ let cmd = "ocamlfind ocamlc -config > " ^ qfln ^ e_null in ++ let ec = Sys.command cmd in ++ if ec <> 0 then ( ++ let cmd = "ocamlc -config > " ^ qfln ^ e_null in ++ let ec = Sys.command cmd in ++ if ec <> 0 then ++ failwith (Printf.sprintf "couldn't call ocamlc -config"); ++ ); ++ let res = get_ext_lib fln in ++ Lazy.force cleanup; ++ [res] ++ with ++ | x -> Lazy.force cleanup; raise x ++ + let c_dll_library = if Sys.win32 then [".dll"] else [".so"] + let library = [".cma"; ".cmxa"; ".cmxs"] @ c_library + let module_library = (interface_opt @ library) +@@ -258,7 +314,9 @@ + let src, dst = + if not auto then src, dst else + let dst = match dst with +- | None -> Some (Filename.basename src) ++ | None -> ++ let src = if Sys.os_type <> "Win32" then src else src ^ ".exe" in ++ Some (Filename.basename src) + | Some _ as dst -> dst + in + let src = if Env.native then src ^ ".native" else src ^ ".byte" in diff --git a/test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override/package.json b/test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override/package.json new file mode 100644 index 0000000000..b291cf8b33 --- /dev/null +++ b/test.esy.lock/overrides/opam__s__ppx__deriving_opam__c__4.2.1_opam_override/package.json @@ -0,0 +1,15 @@ +{ + "build": [ + [ + "bash", + "-c", + "#{os == 'windows' ? 'patch -p1 < ppx_deriving-4.2.1.patch' : 'true'}" + ], + [ + "ocaml", + "pkg/build.ml", + "native=true", + "native-dynlink=true" + ] + ] +} diff --git a/test.json b/test.json new file mode 100644 index 0000000000..c1c6b07064 --- /dev/null +++ b/test.json @@ -0,0 +1,17 @@ +{ + "source": "./package.json", + "scripts": { + "run": "esy '@test' x OniUnitTestRunner", + "run-ci": "esy '@test' x OniUnitTestRunnerCI" + }, + "override": { + "build": ["dune build --root . -j4"], + "dependencies": { + "@reason-native/rely": "1.3.1" + }, + "install": [ + "esy-installer Oni2.install", + "esy-installer OniUnitTestRunner.install" + ] + } +} diff --git a/test/editor/Core/dune b/test/editor/Core/dune index 26463cf557..3e5a5445f4 100644 --- a/test/editor/Core/dune +++ b/test/editor/Core/dune @@ -2,4 +2,4 @@ (name Oni_Core_Test) (library_flags (-linkall -g)) (modules (:standard)) - (libraries Oni_Core rely.lib)) + (libraries Oni2.core rely.lib)) diff --git a/test/editor/Extensions/dune b/test/editor/Extensions/dune index bfe5aebf74..28c9116a5f 100644 --- a/test/editor/Extensions/dune +++ b/test/editor/Extensions/dune @@ -3,4 +3,4 @@ (library_flags (-linkall -g)) (modules (:standard)) (preprocess (pps ppx_deriving_yojson ppx_deriving.show)) - (libraries msgpck Oni_Extensions Oni_Core_Test rely.lib)) + (libraries msgpck Oni2.extensions Oni_Core_Test rely.lib)) diff --git a/test/editor/Model/dune b/test/editor/Model/dune index 55c6888b6d..a36d56b507 100644 --- a/test/editor/Model/dune +++ b/test/editor/Model/dune @@ -2,4 +2,4 @@ (name Oni_Model_Test) (library_flags (-linkall -g)) (modules (:standard)) - (libraries msgpck Oni_Core Oni_Extensions Oni_Model Oni_Core_Test rely.lib)) + (libraries msgpck Oni2.core Oni2.extensions Oni2.model Oni_Core_Test rely.lib)) diff --git a/test/editor/Neovim/dune b/test/editor/Neovim/dune index 613b110b60..e2beca9bba 100644 --- a/test/editor/Neovim/dune +++ b/test/editor/Neovim/dune @@ -2,4 +2,4 @@ (name Oni_Neovim_Test) (library_flags (-linkall -g)) (modules (:standard)) - (libraries msgpck Oni_Neovim Oni_Core_Test rely.lib)) + (libraries msgpck Oni2.neovim Oni_Core_Test rely.lib))