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
Add org.videolan.VLC.Plugin.pause_click #3843
Conversation
bot, build org.videolan.VLC.Plugin.pause_click |
Queued test build for org.videolan.VLC.Plugin.pause_click. |
Started test build 18948 |
Build 18948 failed |
It's an addon, it produces a I guess an icon might be nice for displaying it in Flathub, but I don't have any icon for the plugin to begin with. |
Other add-ons add |
Thanks for the tip! |
bot, build org.videolan.VLC.Plugin.pause_click |
Queued test build for org.videolan.VLC.Plugin.pause_click. |
Started test build 18949 |
Build 18949 successful
|
Some users might not read the Flathub page for the plugin which contains the instructions and be furstrated as to why the plugin doesn't work. While printing this on every run is noisy, I think the benefits overweight the annoyance.
a8a3be6
to
a817dd3
Compare
Cleaned up the PR a bit, squashing a few commits together. bot, build org.videolan.VLC.Plugin.pause_click |
Queued test build for org.videolan.VLC.Plugin.pause_click. |
Started test build 19063 |
Build 19063 successful
|
VLC flatpak accepts extensions only of specific version: The version is used to enforce that the extension is built against the same VLC version, e.g. 3, optionally, KDE SDK, e.g. 5.15, and org.freedesktop.Sdk, e.g. 22.08. This all makes sense ABI compatibility wise, as these are the versions of things that are in the VLC flatpak container at run-time. However, what I don't quite understand is: how does the update process work with the version requirement? Here is a hypothetical example (which already happened a few times and will happen in the future): VLC has only the
I'm kind of fearing the worst outcome, that when a user updates to a VLC requiring new extension version, all installed extension would stop working, and the user wouldn't know how to fix this as flatpak won't auto-update extensions and won't tell the user that the user needs to install new branches of the extensions. Would appreciate if you could explain what actually happens in such situation. CC: @MatMaul |
That's what going to happen. It will remain broken until someone bumps it. Ideally, it should be the VLC maintainer. There's also non-zero chance the plugin will remain loadable but it depends on the code base and libraries changed in the newer runtime. /merge @MatMaul |
/merge:3-22.08 @MatMaul |
A repository for this submission has been created: https://github.com/flathub/org.videolan.VLC.Plugin.pause_click You will receive an invitation to be a collaborator which will grant you write access to the repository above. The invite can be also viewed here. If you have never maintained an application before, common questions are answered in the app maintenance guide. Thanks! |
Thanks for this plugin, and for taking the time to make a flatpak plugin, that is really appreciated. I am usually trying to properly bump the plugins at the same time I bump the VLC plugin ABI, like I did for the 22.08 runtime. If I forget, feel free to ping me or send a PR. Main trouble is that this use case is not well supported by flatpak tooling, and up to my knowledge the new branch of the plugins will not be automatically installed when I update the plugin version target in VLC manifest. |
I filed this a while ago flatpak/flatpak#4208 |
@MatMaul Since ABI updates are coordinated -- all plugins gets bumped at the same time as VLC, why not just make plugins have a single branch then, e.g. In fact, I don't see any compelling reason to do ABI+SDK branches, even if plugin updates were not coordinated with VLC. It seems like the single branch approach is better, has more positives, with no negatives:
An I missing some reason as to why ABI+SDK branches approach is preferred? |
I am not completely dismissing a change to |
Please confirm your submission meets all the criteria
Hi, I'm the author of the Pause Click VLC plugin. Some users expressed their desire to be able to use the plugin with the flatpak version of VLC, so I have put some effort into making a flatpak for the plugin and adding it to Flathub.
I have tested that the flatpak builds successfully locally and, upon installation, the plugin appears in the VLC, fully functioning. The appdata file was validated with
org.freedesktop.appstream-glib validate
and I have also addedx-checker-data
to the json, which hopefully works as I didn't test it.I'm new to Flatpak so please tell me if I'm doing something wrong or missing something.
The addon uses id of
org.videolan.VLC.Plugin.pause_click
. I'm not a VLC developer, so I have no relation with the domain. I wanted to use the repository URL for the application id, i.e.com.github.nurupo.vlc-pause-click-plugin
, but it seems like due to the way addons work in Flatpak this is not possible. The VLC flatpak exposesorg.videolan.VLC.Plugin
as the extension point, so it seems like the addon must useorg.videolan.VLC.Plugin.
for its id, using other ids didn't work for me.The plugin requires
libvlccore.so
ABI-compatible with the version of VLC the plugin is going to be used, libvlc and libvlccore headers, and pkg-config filevlc-plugin.pc
to be present in order for the plugin to get built. All of these are generated during theorg.videolan.VLC
build, but are not present in the resulting VLC flatpak. Ideally I want to build the plugin against the VLC version the user would be using it with, but since the VLC sdk is not provided by theorg.videolan.VLC
flatpak, I have to resort to building a very stripped-down but ABI-compatible version of VLC myself, in the addon manifest. It would be nice iforg.videolan.VLC
was modified to provideorg.videolan.VLC.SDK
sdk extension, so that I could add it to mysdk-extensions
and not have to build VLC in my addon manifest.By the way, is there some guide on how to maintain the repository once it's created? From the looks of what other VLC plugins do, it looks like I need to create a new
branch/<version>
for each version oforg.videolan.VLC.Plugin
I want to support, and whenever I release a new version ofvlc-pause-click-plugin
, I need to update the json in all of these branches to use than new version?