@@ -1146,34 +1146,11 @@ let get_depexts ?(force=false) ?(recover=false) t packages =
1146
1146
print_depext_msg (avail, nf);
1147
1147
avail
1148
1148
1149
- let install_depexts ?(force_depext =false ) ?(confirm =true ) t packages =
1150
- let confirm =
1151
- confirm && not (OpamSysInteract.Cygwin. is_internal t.switch_global.config)
1152
- in
1153
- let sys_packages =
1154
- get_depexts ~force: force_depext ~recover: force_depext t packages
1155
- in
1156
- let env = t.switch_global.global_variables in
1157
- let config = t.switch_global.config in
1158
- let map_sysmap f t =
1159
- let sys_packages =
1160
- OpamPackage.Set. fold (fun nv sys_map ->
1161
- match OpamPackage.Map. find_opt nv sys_map with
1162
- | Some status ->
1163
- OpamPackage.Map. add
1164
- nv { status with OpamSysPkg. s_available =
1165
- f status.OpamSysPkg. s_available }
1166
- sys_map
1167
- | None -> sys_map)
1168
- packages
1169
- (Lazy. force t.sys_packages)
1170
- in
1171
- { t with sys_packages = lazy sys_packages }
1172
- in
1149
+ let install_sys_packages ~map_sysmap ~confirm env config sys_packages t =
1173
1150
let rec entry_point t sys_packages =
1174
1151
if OpamClientConfig. (! r.fake) then
1175
1152
(print_command sys_packages; t)
1176
- else if OpamFile.Config. depext_run_installs t.switch_global. config then
1153
+ else if OpamFile.Config. depext_run_installs config then
1177
1154
if confirm then menu t sys_packages else auto_install t sys_packages
1178
1155
else
1179
1156
manual_install t sys_packages
@@ -1297,6 +1274,35 @@ let install_depexts ?(force_depext=false) ?(confirm=true) t packages =
1297
1274
entry_point t sys_packages
1298
1275
with Sys. Break as e -> OpamStd.Exn. finalise e give_up_msg
1299
1276
1277
+ let install_depexts ?(force_depext =false ) ?(confirm =true ) t packages =
1278
+ let map_sysmap f t =
1279
+ let sys_packages =
1280
+ OpamPackage.Set. fold (fun nv sys_map ->
1281
+ match OpamPackage.Map. find_opt nv sys_map with
1282
+ | Some status ->
1283
+ OpamPackage.Map. add
1284
+ nv { status with OpamSysPkg. s_available =
1285
+ f status.OpamSysPkg. s_available }
1286
+ sys_map
1287
+ | None -> sys_map)
1288
+ packages
1289
+ (Lazy. force t.sys_packages)
1290
+ in
1291
+ { t with sys_packages = lazy sys_packages }
1292
+ in
1293
+ let confirm =
1294
+ confirm && not (OpamSysInteract.Cygwin. is_internal t.switch_global.config)
1295
+ in
1296
+ let sys_packages =
1297
+ get_depexts ~force: force_depext ~recover: force_depext t packages
1298
+ in
1299
+ let env = t.switch_global.global_variables in
1300
+ let config = t.switch_global.config in
1301
+ install_sys_packages ~map_sysmap ~confirm env config sys_packages t
1302
+
1303
+ let install_sys_packages ~confirm =
1304
+ install_sys_packages ~map_sysmap: (fun _ () -> () ) ~confirm
1305
+
1300
1306
(* Apply a solution *)
1301
1307
let apply ?ask t ~requested ?print_requested ?add_roots
1302
1308
?(skip =OpamPackage.Map. empty)
0 commit comments