-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flatpak/appimage/Snap etc. #6933
Comments
See #4056. |
@Khyber3737 One of the main points of Flatpak, in my opinion, is the possibility to get installable software directly from the developer. I do not — and should not — trust some third-party "Flathub maintainers", hence this here issue. Or were you referring to #2987? |
Like with AppImage, I don't think we want to maintain such a package. It requires time and care, and we'd have to handle all the bug reports too. Either someone of "us" needs to step in (but nobody seems to be interested in picking up such a task), or someone external has to do it. In addition, it seems all the GPU API usage (especially hwdec) makes this tricky. |
This issue is hereby about all "distro-independent" packaging methods for Linux, since this comes up every so often. |
I would like to help you with the flatpak. After the build manifest is written and tested, the ongoing maintenance burden should be low: in the most simple case, it means just updating the URL and SHA256 of the tarball for a new release through the Github UI. Flathub uses buildbot (https://flathub.org/builds). Builds get triggered automatically when committing to the master branch at Flathub or when opening PRs. Preview release/beta builds are also supported. So if you are interested, I can write the manifest and submit a PR to Flathub. Then mpv developers would get commit access to the repo with mpv's manifest. Just to two things need to be decided:
|
Well, nice. If the thing gets built in a transparent and public way, all the better I guess. I hope this doesn't require any metadata or similar in the mpv repo itself?
Well, we currently own the domain (or rather one of the developers does), so I guess that's OK. |
https://github.com/mpv-player/mpv/blob/master/TOOLS/osxbundle/mpv.app/Contents/Info.plist#L179-L180 |
The single (small) metadata file, that is needed, could be put in either repo. But since it's not specific to flatpak, it would make more sense (and preferred by Flathub) to be put in the upstream repo. Software managers like GNOME Software or KDE Discover use it to display infos about an app, no matter if they are packaged as flatpak or traditional Linux packages formats.
It needs to have 3 elements, e.g. |
Any 2021 approach toward this!? |
I tried to build a snap of mpv some time ago (https://github.com/jeeb/mpv/commits/le_snap) but the result was sub-optimal.
|
AppImage would probably be the easiest as that doesn't involve any sandboxing. |
Ubuntu 21.04 which was released 2 days ago still has the old 0.32.0 version. It's too hard to get updated MPV these days unless you compile it yourself, which is kind of a bummer for the normal user to go through. I wish things were a bit easier. |
My somewhat unhelpful suggestion is to use a better distro. mpv 0.33 was released in November. Someone even told the debian-multimedia maintainers to package it, but they did not do so. |
This issue was opened exactly in hopes of cutting out the middleman. |
About a binary release like youtube-dl does ? Users just need to chmod it like an appimage. Otherwise why not a deb file then ? |
If you allow me, I'll maintain mpv flatpak at flathub. |
Congrats! MPV is now available at flathub https://flathub.org/apps/details/io.mpv.Mpv |
@fastrizwaan It's cool and all, but I'd rather wait for an official release. |
Exactly that — a release done by the mpv developers themselves, and not some third party.
How do you know?
Why not?
And that's a bad thing. You probably have been using Linux for a long enough time to get used to this asinine notion of random people packaging someone else's software, but no matter how you look at it, it's a bug — not a feature. Blame the package-format fragmentation and the NIH syndrome that led to it.
First-party AppImages are a thing, though. |
So if fastrizwaan was to be made a member of the "mpv-player virtual organization", which is only a thing on this website alone, would that make it official enough for you? I just don't get it. |
we don't and won't provide 'official' binaries, pre-build packages, etc.. if anything changes on that stance, we will let you know. |
i would say, close it if and when we put a link on our page. though the if and when is nothing i want to decide on my own. [edit] |
Did I miss something? |
If flathub is looked down upon and distro repos are considered too out of date, what is the best way to install mpv on a Linux distro? |
I guess PPAs on Ubuntu and the official arch repositories (updated often) |
But PPAs are basically looked down upon as well because of how often they break things and not everybody runs Arch. Flatpak seems like a good solution unless there is actually something better and always up to date. |
Agree that Flatpak would be a great cross-platform solution |
I'm using the MPV Flatpak on Linux Mint 20.3, and while a few plugins I use have compatibility issues (mpv-bookmarker) it otherwise works as intended. That being said, I generally prefer Appimages as they use (in my experience) less space compared to Flatpaks, and can easily be integrated into the system. Seeing as it took a 3rd party to make the Flatpak a reality, I'll just say right here that there is an audience for a Appimage as well. |
It's a video player. It doesn't take that much space. It was hard enough to get somebody to work on a Flatpak. Don't hold your breath on an appimage, especially considering how well the flatpak is working. I don't see much of a future for appimage anyway. It seems more and more like appimage is on its way out and flatpak and snap are here to stay. |
@MintMain21 See #4056. |
Quick question. Should I open another feature request specifically to ask that the unofficial Flathub release be added to the "All of these packages are unofficial." Linux section of https://mpv.io/installation/? Also...
Appimages don't support deduplicating dependencies, while Flatpak aggressively deduplicates dependencies. While Flatpak may take more space for a single application, the cost is spread across all the applications you install. (Part of the purpose of the Flatpak Runtimes, having the GNOME and KDE runtimes build on top of the Freedesktop Runtime, and having the BaseApp system of pre-built starters for what you do bundle, such as Electron or QWebEngine, is to ensure that as many of your dependencies as possible have identical file hashes, so the file-level deduplication and "download only the pieces we need" can have maximum effect.) Also, Appimages suffer from the same "Which dependencies should be bundled?" problem as GOG.com, but make it more difficult to delete "shouldn't have been bundled" |
You should post it on the issues page for the website here: https://github.com/mpv-player/mpv.io/issues |
Thanks. Will do. :) |
@Akemi Is there anything that you and @fastrizwaan can do to make his Flathub builds official to the project? I think doing so would go a long way in building confidence in the Flathub builds, giving mpv users more install options and making sure that both the official releases and Flathub are totally in sync. Flatpak is being used more and more every year and embracing it sooner rather than later will only benefit the project in the long run. |
Distributing MPV Plugins as a Flatpack is an attractive option, so long as there remains an easy and accessible way to edit the Plugins either as if (or better than if) they were lua.scripts downloaded on the user's end. |
For all the other benefits, on that particular note, unfortunately, Flatpak is designed around the assumption that users will not be editing the contents of Flatpak packages but, instead, will either uninstall/disable them and install a plugin under That's why I don't install LibreOffice via Flatpak. Because the only way I'm aware of to disable the periodic "Donate" and "Get Involved" nag-bars is to drop a file into |
Apologies for the ranty bump, but this is getting frustrating... mpv's official site complains that "distributions usually package outdated, unmaintained, and unsupported versions of mpv". Now, the distro I use (Fedora Linux) does provide an up-to-date version of mpv, but a full-featured version of FFmpeg has to be downloaded from RPM Fusion, a third-party repo. I strive to never have to deal with third parties (and RPM Fusion in particular) when it comes to software, so using their packages is not an option for me. Thus I tried to use some of the static FFmpeg builds mentioned on the official site. I made sure that the bundled mpv's official site also hints at building everything yourself instead. I did try to compile FFmpeg once... By now I don't recall the details, but that littered my system with lots of unneeded packages, took many retries, and didn't even work in the end. Frankly, I don't want to deal with that ever again. And something tells me that few would even bother to try. They would rather use those "outdated, unmaintained, and unsupported versions of mpv", and then go on the bug tracker to complain. But all of the above wouldn't be an issue, if there were an official way to get the most recent version of mpv, no matter the distro... Y'know, one build to rule them all. Oh, and the "official" part is as important as ever, since Flathub has introduced support for verified apps recently. Please, give it some thought. Also, here's an inspirational example of how developers were hesitant about Flatpak at first, but ended up embracing it: keepassxreboot/keepassxc#1524 |
@Hasshu Does Linus Torvalds release an official binary Linux kernel package for you to install? It's Free OSS. What is a Linux Distribution? |
The Linux kernel is a massive anomaly, in that it's pretty much the only kernel developed independently from its userland. (Which is also why it's the only kernel of note with ABI-stable syscall numbers.) FreeBSD, OpenBSD, NetBSD, DragonflyBSD, Haiku, ReactOS, RedoxOS, and every other open-source project of note which produces an OS kernel do offer official builds.
And Flatpak is designed to make it easy and comfortable for upstreams to offer a single official build while only having to test it against one target: the Flatpak runtime they specify in their build manifest. To that end, not only does it take a Docker-like containerized approach, Flathub runs a bot that you can configure so that you just go about your normal release process and the Flathub infrastructure will detect that you've made a release (or that one of your dependencies has done so), generate a test build (including running any automated tests you specify as part of the build process), and all you have to do (aside from any release testing you have yet to automate) is accept the PR the bot opens and, after a three-hour grace period to allow for realizing you've made mistakes, the new Flathub release goes live. (Source: I did the legwork to get PySolFC on Flathub and that's how I set it up.) |
@fastrizwaan While it makes sense for the Linux kernel (and certain system software) to be packaged by the distribution maintainers, there is no need to treat application software the same way in this day and age. We have the technology. |
I think it's pretty obvious that none of us are going to maintain an official flatpak/appimage/whatever at this point. I know there's already an existing flatpak someone maintains, so if the author wants us to list it on the website feel free to open up a PR at mpv.io |
Could you please look into this, mpv-player/mpv.io#103 it fails. I just added haml code = package_row 'Flatpak (Flathub)', 'https://flathub.org/apps/io.mpv.Mpv' Thanks. |
The Flatpak package of mpv is still at the time bundling two (potentially unwanted) scripts — there may not be an easy way to remove the scripts. I see no LUA files with descriptive titles:
|
Any update? Linux Mint will hide unverified Flatpak apps from search results (and other distributions will probably follow). |
https://flatpak.org/
I wonder if it would be more feasible than the AppImage format (#4056).
The text was updated successfully, but these errors were encountered: