applications
applications copied to clipboard
[Idea] Use Phoenicis CLI to install applications
Disclaimer: I'm an admin of Phoenicis.
I like the idea to be able to install Windows applications like "normal" applications on Linux. However, I think winepak has two big issues:
- The number of supported applications is rather small which is probably related to the fact that writing flatpak manifests is not so trivial for the average user (especially if the application requires additional dependencies/settings).
- I've read somewhere that it's legally problematic to ship installed applications. Not sure if winepak is considering that currently?
Phoenicis is the designated successor of PlayOnLinux/PlayOnMac. So for users who just want to install and run applications, it's only "yet another app store". I'm currently working on flatpak support for Phoenicis (see https://github.com/PhoenicisOrg/phoenicis/pull/1406). I'm having some trouble to get 32bit Wine installations running (maybe you can provide some input based on your experience with flatpak?). Phoenicis currently provides a GUI and a CLI version.
Therefore my idea: Use the Phoenicis scripts with Phoenicis CLI to create winepak applications in a generic way (i.e. install the application at flatpak installation via Phoenicis). This could be done automatically e.g. by CI.
What winepak would gain
- more applications
- easier way to describe application specific dependencies/settings (e.g. Wine dll overrides)
- automatically and up-to-date Wine versions through phoenicis-winebuild (currently only generic Linux builds, but flatpak is considered)
What Phoenicis would gain
- your flatpak experience
- more integrated user experience for (probably) the majority of users
I gave similar idea couple months ago, not much feedback: https://github.com/winepak/winepak/issues/17 . I think in case Phoenicis flatpak is created and pushed on flathub then winepak will be quite redundant.
@Maryse47 this is not really what I'm proposing here. With my proposal, there would still be one flatpak for each application. The difference is that this flatpak does not have to be written manually but can be auto generated by using a Phoenicis script.
I doubt it will work
Why?
Because that sounds very complicated and creating flatpaks aren't easy on its own. Generic Phoenicis flatpak is less ambitious but has more guarantees that will work. I may be wrong though so if I you pull it off then that's great but I'm realist/pessimist :smile: .
Well, the only things that would change for different apps is the name and the Phoenicis command to install the apps. It should be rather easy to automate that.
this sounds like a great idea, it is pity this project does not seem to be so lively
I have one question though:
What winepak would gain
* automatically and up-to-date Wine versions through [phoenicis-winebuild]
Shouldn't Wine be part of a runtime? In that way the applications would share the same runtime when possible. You could maintain a limited number of runtime variants, eg. wine-current, wine-1.6
Apparently it is also possible to define extensions for applications as well as runtimes: https://blogs.gnome.org/mclasen/2018/09/07/on-flatpak-dependencies/ I cannot say, but it may be helpful to you
Yes, Wine would be part of a runtime. My point here was that phoenicis-winebuild could be used to build the Wine versions required for the flatpak automatically.
it only makes sense to me! unfortunately I am not a developer
Quick side note: Phoenicis can be installed with flatpak as well now.
Aren't app profiles specify exact wine version they want to use (as it was in POL)? Having wine in the runtime would mean there is only one wine version available for apps unless you bundle all wine versions in the runtime.
That's correct. The runtime would only contain the specific Wine version required by the app. I'm talking only about the availability of Wine versions to create a flatpak.
I'm not sure if we understand each other but for the runtime, containing specific Wine version required by the app and sharing it between all apps is mutually exclusive.
It's one specific Wine version required by the app.
You can bundle specific Wine version with the app or use generic Wine version from the runtime, not both.
For example, winepak currently has wine 3.0 in the runtime plus couple more as runtime extensions. That's all that apps may use as they don't bundle wine themselves.
How Phoenicis will relate to this?
I understand there would be a number of Wine runtimes BTW Is there a way to change the runtime dependency by the user? That could be useful.
Quick side note: Phoenicis can be installed with flatpak as well now.
thank you, I have to try that!
@Maryse47 my idea was to create a runtime/extension for every Wine version. That way every app can have exactly the Wine version it requires.
@omichalek if you want to have that flexibility, you should probably use Phoenicis directly.
my idea was to create a runtime/extension for every Wine version. That way every app can have exactly the Wine version it requires.
That's one of possible solutions, it will make runtime very huge though. Using Phoenicis directly seems better alternative, especially as winepak doesn't seem to be actively maintained.
could the extensions come in handy? Does the flatpak program choose which runtime extensions are used? What if you put actual Wine into separate runtime extensions (one Wine version per extension) - would that make the runtime smaller?
I'm not sure but it may be possible. App would declare specific wine version from extension and fallback to generic wine from runtime if declared extension is not available on system.
I've implemented something quite similar to this idea with purely Phoenicis technology: https://github.com/plata/phoenicis-flatpak-notepad_plus_plus
If you're interested, take a look and let me know what you think.
@plata side question - is phoenicis flatpak still alive?
Yes. It will be updated as soon as the next Phoenicis release is available.
Closing due to inactivity.