diamondburned / dissent

Tiny native Discord app
https://flathub.org/apps/details/so.libdb.dissent
GNU General Public License v3.0
1.26k stars 40 forks source link

Request: publish on Flathub #89

Closed TriVoxel closed 1 year ago

TriVoxel commented 1 year ago

I was looking into creating a Flatpak package for your program. As I was doing this, I saw that they strongly recommend letting developers themselves publish their packages as a Flatpak. I thought about this, and it makes sense. Essentially, all you have to do as a developer is clone FlatHub's github repo, make a new branch, throw your compiled program in there, and write a short yml file that tells flatpak which folder you want the binary, desktop file, and icon file. This is fairly straightforward and the docs have it all right there. Lastly, you just PR the FlatHub repo, and they will add it. Just PR for each subsequent release with the new binary.

This should help you get started

:link: FlatHub app submission info :link: Building your First Flatpak

I recommend adding org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark as dependencies, as this should match the theming for people on Gnome. Actually, I'd almost recommend bundling ronny-rentner's fork that seems to properly support GTK4. This is not necessary, and there are well-known ways to change a Flatpak's theme manually.

Just getting your app working on Flathub will make it much more accessible to new users, and will help you to find more contributors. Of course, the main appeal of Flatpak is to make your app more accessible across all distros, architectures, and devices. It also gives the app developer a lot of control over their app to ensure that all the dependencies are met, and that there is always a good environment for the app to run in. The hard part is learning to do the small bit of setup, the easy part is maintaining it. Again, all you seem to need to do is push new binaries and sign the package.

By the way, I know the about screen is currently bugged, but I recommend building one like this: Screenshot from 2022-11-19 06-10-03

It's something you should be able to do with GTK4, and would make it feel right at home next to all the other GTK4 apps (not just Gnome apps. It's the new standard). It is simple, functional, and helps the user to see acknowledgements and report bugs in a cohesive manner. I personally am all for standardizing about pages, and it's not like it isn't flexible to your needs.

diamondburned commented 1 year ago

There's already an issue on the About dialog: https://github.com/diamondburned/gtkcord4/issues/74.

I don't really want to package anything myself at the moment. It's a lot of work, and I don't use Flatpak often enough (or at all) to want to give it a go.

I'm still going to try and encourage others to package it for various things, but I won't be doing it myself.

diamondburned commented 1 year ago

But do you allow anyone to do?

Is there anything that requires my permission?

FWIW, the AUR packages weren't made by me, and I'm fine with people doing that.

TriVoxel commented 1 year ago

@diamondburned We are willing to, (I am). But according to Flathub, this is discouraged. They strongly encourage developers publishing their own applications. If you would like gtkcord4 on Flathub, fork the FlatHub Git repository, create a branch for gtkcord4, then I will fork it and create the necessary package contents. You then pull request their repo, and your software is officially published by you. That is the recommended way. Pretty easy, just basic forking and merging.

Essentially, all I need to do is create some links between the desktop file, binary, and app icon for the Flathub filesystem, and select any dependencies your program may rely on. Very easy and straightforward.

diamondburned commented 1 year ago

I'm not interested in creating and maintaining a Flatpak package. Sorry. I don't mind others doing it, but I don't want to take on the burden of maintaining it.

TriVoxel commented 1 year ago

I'm not interested in creating and maintaining a Flatpak package. Sorry. I don't mind others doing it, but I don't want to take on the burden of maintaining it.

That is fair. I suppose I could try to take a stab at it. I only hope the FlatHub admins will allow me to. Thanks for sharing your opinion!

I'd like to mention, maintaining a Flatpak package is as simple as replacing the executable in a GitHub repo with the new one, and pushing it in a commit. That's all the work necessary to update to a new release. I'm not saying this to change your mind. I just know that a lot of users use FlatHub these days, and many Linux desktop users like how easy and convenient it is to install Flatpak packages, and Flatpak can be really useful for developers to conveniently distribute their software to every Linux distribution and architecture. Hope this helps. Take care!

imhemish commented 1 year ago

I dont really think this should be on flathub, because it really is in experimental stage, also it is a third party client for discord (where discord doesnt allow third party clients in Terms), so flathub wouldnt want to be in legal matters. Though making a flatpak and distributing it elsewhere may be ok.

ghost commented 1 year ago

^^ submitted to flathub third party clients on flathub are fine, afterall webcord is there

ghost commented 1 year ago

published to flathub: https://flathub.org/apps/details/xyz.diamondb.gtkcord4

diamondburned commented 1 year ago

Closing this issue.