diskuv / dkml-installer-ocaml

The Windows-friendly distribution of OCaml
Apache License 2.0
62 stars 2 forks source link

Consider using winget to distribute packages on Windows #1

Closed jonahbeckford closed 1 year ago

jonahbeckford commented 2 years ago

https://docs.microsoft.com/en-us/windows/package-manager/winget/

(Feedback from discuss.ocaml's v0.4.0 release announcement)

jonahbeckford commented 2 years ago

Only potential problem is the package must support a non-interactive install per https://docs.microsoft.com/en-us/windows/package-manager/package/winget-validation#submission-expectations.

The Git and the Visual Studio parts are the only interactive parts, but hopefully those can be modeled as dependencies in winget.

jonahbeckford commented 2 years ago

https://swi-prolog.discourse.group/t/for-windows-users-is-winget-now-a-standard-command/5564?u=ericgt has useful information as well.

jonahbeckford commented 2 years ago

Only potential problem is the package must support a non-interactive install per https://docs.microsoft.com/en-us/windows/package-manager/package/winget-validation#submission-expectations.

That has been fixed by #3

jonahbeckford commented 2 years ago

Making task list:

jonahbeckford commented 2 years ago

Note: With winget I can model Visual Studio Build Tools > x.y.z, but not exact versions that are compatible. Also, you should not have to install Visual Studio Build Tools if you have Visual Studio 2019 Enterprise (etc.).

So modeling the Visual Studio dependencies is not good. The lack of exact versions may mean someone will get an incompatible Visual Studio Build Tools that doesn't work with OCaml. That is actually a bug with OCaml though, not winget or DKML.

jonahbeckford commented 2 years ago

Open items that arose during first winget PR https://github.com/microsoft/winget-pkgs/pull/69112 :

These will be fixed in v1.0.1.

jonahbeckford commented 2 years ago

Okay, the final winget problem seems to be a 2hr install limit. Without running in 2hr the winget CI will auto-fail the PR. Otherwise winget installs successfully.

jonahbeckford commented 1 year ago

Added to winget at https://github.com/microsoft/winget-pkgs/pull/92477

Announced at https://discuss.ocaml.org/t/ann-diskuv-ocaml-1-1-0-windows-winget-setup-dkml/11077/4?u=jbeckford

Closing.