opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
The opam init menu overhaul wants to be able to use resolve_command from within OpamStd.Sys (to be used with some low-level functions), but this isn't possible at present because the default for OpamSystem.resolve_command's ~env argument is OpamProcess.default_env.
However, since #3348 there's already been a slightly unholy mess (added by me...) to allow OpamProcess to use resolve_command. This PR disentagles it slightly, by moving the bulk of the logic to OpamStd.Sys and leaving the default argument handling in OpamProcess and then simply making OpamSystem.resolve_command an alias for OpamProcess.resolve_command. Not totally sure why I didn't do that in 2018...
The
opam init
menu overhaul wants to be able to useresolve_command
from withinOpamStd.Sys
(to be used with some low-level functions), but this isn't possible at present because the default forOpamSystem.resolve_command
's~env
argument isOpamProcess.default_env
.However, since #3348 there's already been a slightly unholy mess (added by me...) to allow OpamProcess to use
resolve_command
. This PR disentagles it slightly, by moving the bulk of the logic toOpamStd.Sys
and leaving the default argument handling inOpamProcess
and then simply makingOpamSystem.resolve_command
an alias forOpamProcess.resolve_command
. Not totally sure why I didn't do that in 2018...