Floogen / Stardrop

Stardrop is an open-source, cross-platform mod manager for the game Stardew Valley.
https://floogen.gitbook.io/stardrop/
GNU General Public License v3.0
120 stars 33 forks source link

[Question] flatpak distribution for Linux #79

Closed dcbaker closed 9 months ago

dcbaker commented 2 years ago

I've been working on pacakge stardrop as a flatpak application (and appstore solution for Linux), (the files are here). Flatpak provides a nice experience installing things for Linux users, especially on the steam deck, where flatpaks are the official way to install 3rd party linux software. The advantages of using flatpak for deck users are that they can get the app from the app store, and keep it up to date through the app store, and valve promises that the deck won't suddenly magically delete flatpaks and their data (like your API key).

Things seem to be mostly working (with #78 applied), but before I opened an upstream PR I wanted to get your input and see if you were interested or not.

Cheers.

65942 commented 10 months ago

This should be looked at more because you can't use Stardrop without downgrading openssl which would then break my system by uninstalling the Nvidia driver

Adda0 commented 10 months ago

Hey, @Floogen. I have been slowly working on a fork of Stardrop with my custom changes (whole mod grouping, better search functionality, bulk-enabling of whole mods, bulk-installing multiple downloaded mods from a folder, several random fixes etc.; for a partial preview, see screenshots for flatpak builder repo).

Since those changes are not mature enough, and I suspect some of them are not cross-platform compatible either (I made the changes for Linux, exclusively, and have no Windows machine to test it on), I have refrained from contributing the changes upstream so far.

However, as Stardew Valley 1.6 release is coming closer and the number of Linux (mainly SteamDeck) users is rising, I think it would help at least those on SteamDecks (with read-only file system where they cannot easily install the infamous libssl1.1; which needs to be eliminated sooner rather than later anyway, but that is a WIP) to run Stardrop through flatpak.

Therefore, I forked the above-mentioned stardrop-flatpak repo, modified it to build my custom fork, and run the fork successfully. I would like to publish the created flatpak to Flathub as an unofficial fork (with a WIP name StardropForked; not at all original, I know), where all Linux users could easily install and run the forked version of Stardrop from. Hopefully, nothing will break :crossed_fingers:

Afterwards, I would like to start polishing the changes and contributing them upstream, if you are interested, they prove to be working for other Linux users, and they are cross-platform compatible (or necessary platform-specific exceptions are made).

Later on, if everything makes it into upstream, the unofficial flatpak can be redirected to this upstream repo releases (and become official), or deprecated in favour of an entirely new official flatpak for this upstream.

What do you think about this approach? Does it sound reasonable to you, and would it work for you? Would you like anything changed? Of course, an alternative if everything else fails and you are against the idea and the flatpak entirely, I can create a hard fork rebranding Stardrop to something else and publish to Flathub under the rebranded name so it is completely detached from your own upstream.

dcbaker commented 10 months ago

@Adda0 Thanks for picking this up! I think you can drop the second patch from the flatpak repo, since a patch in more complete form landed to use xdg-open without invoking bash (I sent that out at the same time)

Floogen commented 10 months ago

@Adda0

Sure, I have no problem with it so long as the repository's license is followed. If you could note that support should be directed to you for the forked flatpak version, that would be greatly appreciated!

For those new features, please feel free to open a pull request (preferably one per feature) and I will review them within the week.

I have recently finished porting over most of my mods to SDV v1.6's alpha, so my next focus is updating Stardrop (bug fixes / features).

Thank you for all your efforts in getting Stardrop to work with the Steam Deck!

Adda0 commented 9 months ago

I think you can drop the second patch from the flatpak repo, since a patch in more complete form landed to use xdg-open without invoking bash (I sent that out at the same time)

I do not use any of the previous patches. But there are still a few problems that will need new patches if the changes are merged into upstream here.

Adda0 commented 9 months ago

so long as the repository's license is followed.

Of course. I am glad Stardrop is under GPL.

If you could note that support should be directed to you for the forked flatpak version, that would be greatly appreciated!

Good idea. I will make sure to add as many links to go to me for support for the flatpak version as possible.

For those new features, please feel free to open a pull request (preferably one per feature) and I will review them within the week.

Sounds good to me.

I have recently finished porting over most of my mods to SDV v1.6's alpha, so my next focus is updating Stardrop (bug fixes / features).

Great work. Eager to see what you have in mind.

Adda0 commented 9 months ago

Hello, everyone. Happy new year. The Flatpak for my fork of Stardrop is building and working, and has been approved for Flathub, the main Flatpak store. I am just in the process of publishing the initial version of the StardropForked Flatpak on Flathub.

It is an alpha version and there are still some parts which do not work for one reason or another, but in general the Flatpak seems to be in a working state. Adding mods, checking for updates, selecting mods for your mod list, and updating your profiles works.

Feel free to test it and give me a report on how well it works for you. First, read the README.md on how to use the Flatpak. Direct all issues and bug reports to my fork of Stardrop/issues. It should be safe to use, but there are no guarantees. The version is still a testing alpha version. I would highly appreciate it if some of you could give it a try (any Linux users, especially those on Steam Deck, and anyone else with Flatpak support on their system) and report back what are the results.

When the Flatpak matures enough, and all necessary features from my fork are merged into the upstream Stardrop (this project on this repository), I hope to redirect the Flatpak from my fork to here. But for now, the Flatpak is based on my fork.

This should hopefully resolve the issues around libssl1.1 (#112 #94 #136, etc.) until the application is updated so that libssl1.1 is no longer needed.

dcbaker commented 9 months ago

I'm going to close this then.