Replies: 1 comment 6 replies
-
|
Without commenting on whether we actually want mpv to be published via winget, two comments:
|
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Motivation behind this
For a long time now (a few month, approx. year and a half) I've wanted to add mpv to Windows Packages repo (winget-pkgs), but couldn't due to limited knowledge/time.
And with the release of binaries in latest release (making it the only "Official" binaries for mpv), and as zip files (the only supported format by winget), it's now easy to make a package for it so winget users can enjoy installing mpv with ease!
Unfortunately although Winget does support archives.. it can only extract an archive file, and see it contents, and if, lets say, the actual executable is nested inside another archive, then Winget couldn't extract that nested archive (from what I can find), which leads us to the topic at hand..
and to make my previous statement clearer, the following is a comparison between msvc builds, and mingw builds.
The msvc builds has its content like this:
everything fine with msvc builds 👍
while mingw builds has its content like this:
Possible Solution(s)
I've noticed inside
ci/build-mingw64.sha few lines at end of build that makes thempv-git-2025-12-28-4ecf729-i686.zip(i.e. these lines), we could remove these lines, and problem solved!now because of my limited experience with mpv project.. I don't know if this archiving step is being depended on by another script/part of the project, so simply removing it might cause issues/headaches.
another solution is to extract the contents of
mpv-git-2025-12-28-4ecf729-i686.zip(the archive made byci/build-mingw64.shscript) inside the.github/workflows/build.ymland re-archive the files usingactions/upload-artifact@v5step just like msvc have done it, making msvc and mingw builds have its content at the same level.Thoughts & Notes
Although many package managers on windows (scoop, Chocolatey) do support scripting (i.e. each package has an install and uninstall script) making the aforementioned problem of nested archives a trivial issue to solve.. Winget doesn't, and will probably never have scripting support, due to added complexity on package maintainers, and the validation pipeline that Microsoft has, so I think we'll be sticking to Yaml for the time being
If you're reading this, Thanks! it means I haven't wasted my time writing this, and hope I haven't dragged this proposal for too long, have a nice day stranger 👋
Beta Was this translation helpful? Give feedback.
All reactions