Skip to content

Commit

Permalink
[p] Merge pull request ocaml#5024 from AltGr/fast-coinst
Browse files Browse the repository at this point in the history
Add pre-processing to coinstallability checks
  • Loading branch information
rjbou committed Apr 27, 2022
1 parent c4a44d7 commit 194a142
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 1 deletion.
49 changes: 49 additions & 0 deletions master_changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ New option/command/subcommand are prefixed with ◈.

## List
*
* Some optimisations to 'opam list --installable' queries combined with other filters [#4882 @altgr - fix #4311]
* Improve performance of some opam list combination (e.g. --available --installable) [#4999 @kit-ty-kate]
* Improve performance of opam list --conflicts-with when combined with other filters [#4999 @kit-ty-kate]
* Fix coinstallability filter corner case [#5024 @AltGr]

## Show
*
Expand Down Expand Up @@ -89,6 +93,14 @@ New option/command/subcommand are prefixed with ◈.

## Solver
*
* [BUG] Remove z3 debug output [#4723 @rjbou - fix #4717] [2.1.0~rc2 #4720]
* Fix and improve the Z3 solver backend [#4880 @altgr]
* Refactored, fixed, improved and optimised the z3 solver backend [#4878 @altgr]
* Add an explanation for "no longer available" packages [#4969 @AltGr]
* Orphan packages are now handled at the solver level instead of a pre-processing phase, better ensuring consistency [#4969 @altgr]
* Make the 0install solver non-optional [#4909 @kit-ty-kate]
* Optimised reverse dependencies calculation [#5005 @AltGr]
* Enable cudf preprocessing for (co)insallability calculation, resulting in a x20 speedup [@AltGr]

## Client
*
Expand Down Expand Up @@ -124,6 +136,11 @@ New option/command/subcommand are prefixed with ◈.
* Port opam-rt tests: orphans, dep-cycles, reinstall, and big-upgrade [#4979 @AltGr]
* Add & update env tests [#4861 #4841 #4974 @rjbou @dra27 @AltGr]
* Add remove test [#5004 @AltGr]
* Add some simple tests for the "opam list" command [#5006 @kit-ty-kate]
* Add clean test for untracked option [#4915 @rjbou]
* Harmonise some repo hash to reduce opam repository checkout [#5031 @AltGr]
* Add repo optim enable/disable test [#5015 @rjbou]
* Update list with co-instabillity [#5024 @AltGr]
### Engine
* Add `opam-cat` to normalise opam file printing [#4763 @rjbou @dra27] [2.1.0~rc2 #4715]
* Fix meld reftest: open only with failing ones [#4913 @rjbou]
Expand All @@ -144,6 +161,10 @@ New option/command/subcommand are prefixed with ◈.
* Escape regexps characters in string replacements primitives [#5009 @kit-ty-kate]
* Automatically update default repo when adding a package file [#5004 @AltGr]

* Make all the tests work on macOS/arm64 [#5019 @kit-ty-kate]
* Add unix only tests handling [#5031 @AltGr]
* Add switch-set test [#4910 @kit-ty-kate]
* Replace vars on the right-hand of exports [#5024 @AltGr]

## Github Actions
* Add solver backends compile test [#4723 @rjbou] [2.1.0~rc2 #4720]
Expand All @@ -167,3 +188,31 @@ New option/command/subcommand are prefixed with ◈.

## Security fixes
*

# API updates
## opam-client
* `OpamStd.ABSTRACT`: add `compare` and `equal`, that added those functions to `OpamCLIVersion` [#4918 @rjbou]
* `OpamConfigCommand`: add a labelled argument `no_switch` to `exec` [#4957 @kit-ty-kate]
* `OpamClient`: fix `update_with_init_config`, when ``jobs` was set in `init_config`, it dropped rest of `config` update [#5056 @rjbou]
* Add an optional argument to `OpamArg.mk_subdoc` for extra default elements: `?extra_defaults:(validity * string * string) list` [#4910 @kit-ty-kate]
* Add `OpamSwitchCommand.previous_switch` [#4910 @kit-ty-kate]
## opam-repository
* `OpamRepositoryConfig`: add in config record `repo_tarring` field and as an argument to config functions, and a new constructor `REPOSITORYTARRING` in `E` environment module and its access function [#5015 @rjbou]
## opam-state
## opam-solver
* `OpamCudf`: Change type of `conflict_case.Conflict_cycle` (`string list list` to `Cudf.package action list list`) and `cycle_conflict`, `string_of_explanations`, `conflict_explanations_raw` types accordingly [#4039 @gasche]
* `OpamCudf`: add `conflict_cycles` [#4039 @gasche]
* `OpamCudf`: add `trim_universe` [#5024 @AltGr]
* `OpamSolver.cudf_versions_map`: no more takes a package set as argument, compute whole packages (repo + installed) and take accounet of invariant [#5024 @AltGr]
* `OpamSolver.load_cudf_universe`: change staging of `add_invariant` [#5024 @AltGr]
* `OpamSolver.coinstallable_subset`: add `add_inaviant` optional argument [#5024 @AltGr]
## opam-format
* `OpamStd.ABSTRACT`: add `compare` and `equal`, that added those functions to `OpamSysPkg` and `OpamVariable` [#4918 @rjbou]
* Add OpamPackage.Version.default returning the version number used when no version is given for a package [#4949 @kit-ty-kate]
* Add `OpamPath.Switch.man_dirs` [#4915 @rjbou]
* `OpamFile.Config`: order list of installed switches according their last use, update `with_switch` accordingly, and add `previous_switch` [#4910 @AltGr]
## opam-core
* OpamSystem: avoid calling Unix.environment at top level [#4789 @hannesm]
* `OpamStd.ABSTRACT`: add `compare` and `equal`, that added those functions to `OpamFilename`, `OpamHash`, `OpamStd`, `OpamStd`, `OpamUrl`, and `OpamVersion` [#4918 @rjbou]
* `OpamHash`: add `sort` from strongest to weakest kind
* `OpamSystem.real_path`: Remove the double chdir trick on OCaml >= 4.13.0 [#4961 @kit-ty-kate]
7 changes: 6 additions & 1 deletion tests/reftests/run.ml
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,12 @@ let run_test ?(vars=[]) ~opam t =
vars
| Export bindings ->
List.fold_left
(fun vars (v, r) -> (v, r) :: List.filter (fun (w, _) -> v <> w) vars)
(fun vars (v, r) ->
let r =
str_replace_path ~escape:`Backslashes
OpamSystem.forward_to_back (filters_of_var vars) r
in
(v, r) :: List.filter (fun (w, _) -> not (String.equal v w)) vars)
vars bindings
| Cat { files; filter } ->
let files =
Expand Down

0 comments on commit 194a142

Please sign in to comment.