7371c1d9
### opam list --depends-on lacaml -s --all-versions
gpr.1.2.1
gpr.1.2.2
gpr.1.3.0
gpr.1.3.1
gpr.1.4.0
gpr.1.4.1
gpr.1.5.0
libsvm.0.8.3
libsvm.0.9.0
libsvm.0.9.1
libsvm.0.9.2
libsvm.0.9.3
libsvm.0.9.4
libsvm.0.10.0
oml.0.0.1
oml.0.0.2
oml.0.0.3
oml.0.0.5
oml.0.0.6
owl.0.2.0
owl.0.2.1
phylogenetics.0.0.0
pilat.1.1
pilat.1.2
pilat.1.3
slap.0.0.0
slap.0.1.0
slap.0.2.0
slap.0.2.1
slap.0.2.2
slap.0.2.3
slap.1.0.0
slap.1.0.1
slap.2.0.0
slap.2.0.1
slap.2.0.2
slap.3.0.0
slap.3.0.1
slap.4.0.0
slap.4.0.1
slap.4.1.0
slap.4.1.1
### opam list --depends-on lacaml --recursive -s --all-versions
gobba.0.4.2
gpr.1.2.1
gpr.1.2.2
gpr.1.3.0
gpr.1.3.1
gpr.1.4.0
gpr.1.4.1
gpr.1.5.0
lacaml.7.2.1
lacaml.7.2.2
lacaml.7.2.6
lacaml.8.0.4
lacaml.8.0.5
lacaml.8.0.6
lacaml.8.0.7
lacaml.8.1.1
lacaml.9.0.0
lacaml.9.1.0
lacaml.9.1.1
lacaml.9.2.2
lacaml.9.2.3
lacaml.9.3.1
lacaml.9.3.2
lacaml.10.0.1
lacaml.10.0.2
lacaml.11.0.0
lacaml.11.0.1
lacaml.11.0.2
lacaml.11.0.3
lacaml.11.0.4
lacaml.11.0.5
lacaml.11.0.6
lacaml.11.0.7
lacaml.11.0.8
libsvm.0.8.3
libsvm.0.9.0
libsvm.0.9.1
libsvm.0.9.2
libsvm.0.9.3
libsvm.0.9.4
libsvm.0.10.0
linwrap.9.0.3
linwrap.9.1.0
molenc.11.4.0
oml.0.0.1
oml.0.0.2
oml.0.0.3
oml.0.0.5
oml.0.0.6
owl.0.2.0
owl.0.2.1
owl-jupyter.1.0
owl-top.0.3.7
owl-top.0.4.0
owl-top.0.5.0
phylogenetics.0.0.0
pilat.1.1
pilat.1.2
pilat.1.3
prob-cache.1.1.0
rankers.1.0.0
rankers.2.0.1
rankers.2.0.7
slap.0.0.0
slap.0.1.0
slap.0.2.0
slap.0.2.1
slap.0.2.2
slap.0.2.3
slap.1.0.0
slap.1.0.1
slap.2.0.0
slap.2.0.1
slap.2.0.2
slap.3.0.0
slap.3.0.1
slap.4.0.0
slap.4.0.1
slap.4.1.0
slap.4.1.1
### opam list --depends-on lacaml.10.0.1 -s --all-versions
libsvm.0.9.3
libsvm.0.9.4
libsvm.0.10.0
oml.0.0.6
owl.0.2.0
owl.0.2.1
pilat.1.1
pilat.1.2
pilat.1.3
### opam list --depends-on lacaml.10.0.1 --recursive -s --all-versions
gobba.0.4.2
lacaml.10.0.1
libsvm.0.9.3
libsvm.0.9.4
libsvm.0.10.0
linwrap.9.0.3
linwrap.9.1.0
molenc.11.4.0
oml.0.0.6
owl.0.2.0
owl.0.2.1
owl-jupyter.1.0
owl-top.0.3.7
owl-top.0.4.0
owl-top.0.5.0
pilat.1.1
pilat.1.2
pilat.1.3
prob-cache.1.1.0
rankers.1.0.0
rankers.2.0.1
rankers.2.0.7
### opam list --depends-on lacaml.10.0.1 -s --all-versions --depopts
fftw3.0.6
fftw3.0.7
lbfgs.0.8.3
lbfgs.0.8.5
lbfgs.0.8.6
lbfgs.0.8.7
lbfgs.0.8.8
libsvm.0.9.3
libsvm.0.9.4
libsvm.0.10.0
mesh.0.7.6
mesh.0.8
mesh.0.8.1
mesh.0.8.2
mesh.0.8.3
mesh.0.8.4
mesh.0.8.5
mesh.0.8.6
mesh.0.8.7
oml.0.0.6
oml.0.0.7
owl.0.2.0
owl.0.2.1
pilat.1.1
pilat.1.2
pilat.1.3
### opam list --depends-on lacaml.10.0.1 --recursive -s --all-versions --depopts
fftw3.0.6
fftw3.0.7
gobba.0.4.2
hlarp.0.0.3
lacaml.10.0.1
lbfgs.0.8.3
lbfgs.0.8.5
lbfgs.0.8.6
lbfgs.0.8.7
lbfgs.0.8.8
libsvm.0.9.3
libsvm.0.9.4
libsvm.0.10.0
linwrap.9.0.3
linwrap.9.1.0
mesh.0.7.6
mesh.0.8
mesh.0.8.1
mesh.0.8.2
mesh.0.8.3
mesh.0.8.4
mesh.0.8.5
mesh.0.8.6
mesh.0.8.7
molenc.11.4.0
oml.0.0.1
oml.0.0.2
oml.0.0.3
oml.0.0.5
oml.0.0.6
oml.0.0.7
owl.0.2.0
owl.0.2.1
owl-jupyter.1.0
owl-opt-lbfgs.0.0.1
owl-top.0.3.7
owl-top.0.4.0
owl-top.0.5.0
pilat.1.1
pilat.1.2
pilat.1.3
prob-cache.1.1.0
rankers.1.0.0
rankers.2.0.1
rankers.2.0.7
### OPAMVAR_arch=x86_64
### opam list --depends-on lacaml -s --all-versions --coinstallable-with phylogenetics.x
gpr.1.2.1
gpr.1.3.0
gpr.1.3.1
gpr.1.4.0
gpr.1.4.1
gpr.1.5.0
libsvm.0.8.3
libsvm.0.9.0
libsvm.0.9.1
libsvm.0.9.2
libsvm.0.9.3
libsvm.0.9.4
libsvm.0.10.0
oml.0.0.1
oml.0.0.2
oml.0.0.3
oml.0.0.5
oml.0.0.6
owl.0.2.0
owl.0.2.1
pilat.1.1
pilat.1.2
pilat.1.3
slap.0.0.0
slap.0.1.0
slap.0.2.0
slap.0.2.1
slap.0.2.2
slap.0.2.3
slap.1.0.0
slap.1.0.1
slap.2.0.0
slap.2.0.1
slap.2.0.2
slap.3.0.0
slap.3.0.1
slap.4.0.0
slap.4.0.1
slap.4.1.0
slap.4.1.1
### opam list --depends-on lacaml -s --all-versions --installable gpr phylogenetics
gpr.1.2.1
gpr.1.3.0
gpr.1.3.1
gpr.1.4.0
gpr.1.4.1
gpr.1.5.0
phylogenetics.0.0.0
### opam list --depends-on lacaml -s --all-versions --coinstallable-with lbfgs.0.8.8 gpr phylogenetics
gpr.1.2.1
gpr.1.3.0
gpr.1.3.1
gpr.1.4.0
gpr.1.4.1
### opam switch create 4.10.0 --fake

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "4.10.0"} | "ocaml-system" {= "4.10.0"}]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Faking installation of base-bigarray.base
Faking installation of base-threads.base
Faking installation of base-unix.base
Faking installation of ocaml-base-compiler.4.10.0
Faking installation of ocaml-config.1
Faking installation of ocaml.4.10.0
Done.
### opam list --depends-on lacaml -s --all-versions --installable gpr phylogenetics
gpr.1.5.0
phylogenetics.0.0.0
### opam list --depends-on lacaml -s --all-versions --coinstallable-with lbfgs.0.8.8 gpr phylogenetics
### : Test for #4135 (empty results when the invariants is unsatisfiable)
### <pin:test-not-in-repo/opam>
available: !?force-unav
flags: compiler
### opam switch create ${BASEDIR}/test-not-in-repo --yes
Package test-not-in-repo does not exist, create as a NEW package? [y/n] y
test-not-in-repo is now pinned to file://${BASEDIR}/test-not-in-repo (version dev)

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["test-not-in-repo"]
The following actions will be performed:
=== install 1 package
  - install test-not-in-repo dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved test-not-in-repo.dev  (file://${BASEDIR}/test-not-in-repo)
-> installed test-not-in-repo.dev
Done.
### OPAMSWITCH=${BASEDIR}/test-not-in-repo
### opam list ab* -s --installable
abella
absolute
abt
### OPAMVAR_force_unav=1
### opam list ab* -s --installable
### opam list ab* -s --coinstallable-with ocp-indent.1.0.0
### opam install abella --show
[ERROR] Package conflict!
  * Missing dependency:
    - test-not-in-repo.dev: no longer available

No solution found, exiting
# Return code 20 #
### opam switch set-invariant --formula '["ocaml" {>= "4.01.0"}]' --no-action
The switch invariant was set to ocaml >= 4.01.0
### opam list ab* -s --installable
abella
absolute
abt
### opam install abella --show
The following actions would be performed:
=== install 10 packages
  - install abella                2.0.7
  - install base-bigarray         base
  - install base-threads          base
  - install base-unix             base
  - install ocaml                 4.12.1 [required by abella]
  - install ocaml-base-compiler   4.12.1 [required by ocaml]
  - install ocaml-config          2      [required by ocaml]
  - install ocaml-options-vanilla 1
  - install ocamlbuild            0.14.0 [required by abella]
  - install ocamlfind             1.9.1  [required by abella]
### : Dependencies on disjunction :
### <REPO/repo>
opam-version: "2.0"
### <pkg:top.1>
opam-version: "2.0"
depends: [
  "unrelated"
  ( "choice" | "other-choice" { >= "2" & <= "4" } )
]
### <pkg:unrelated.1>
opam-version: "2.0"
### <pkg:choice.1>
opam-version: "2.0"
### <pkg:other-choice.1>
opam-version: "2.0"
depends: "shouldnt"
### <pkg:shouldnt.1>
opam-version: "2.0"
### <pkg:other-choice.2>
opam-version: "2.0"
### <pkg:other-choice.3>
opam-version: "2.0"
### <pkg:other-choice.4>
opam-version: "2.0"
### opam switch create deps --empty
### opam repo add norepo REPO/ --this-switch
[norepo] Initialised
### opam repo remove default --this-switch
### # ERROR shouldnt is listed as a depenpency
### opam list --required-by top --recursive --all-versions --short
choice.1
other-choice.2
other-choice.3
other-choice.4
top.1
unrelated.1
### <pkg:top.1>
opam-version: "2.0"
depends: [
  "unrelated"
  ( "choice" | "other-choice" { >= "2" & <= "4" } | "other-choice" )
]
### <pkg:other-choice.1>
opam-version: "2.0"
depends: "should"
### <pkg:should.1>
opam-version: "2.0"
### opam update norepo

<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[norepo] synchronised from file://${BASEDIR}/REPO
Now run 'opam upgrade' to apply any package updates.
### opam list --required-by top --recursive --all-versions --short
choice.1
other-choice.1
other-choice.2
other-choice.3
other-choice.4
should.1
top.1
unrelated.1
