pragha-music-player / pragha

Pragha is a Lightweight Music Player for GNU/Linux.
GNU General Public License v3.0
173 stars 35 forks source link

Use Flatpak to distribute Pragha on Linux #117

Open haevalencia opened 7 years ago

haevalencia commented 7 years ago

I consider Pragha great and I look forward to the new version. Unfortunately it is not everywhere and it would be great to have an official alternative distribution system like Flatpak.

Flatpak's approach is to be universad, but it is widely used as a system for installing third-party applications. For example, Endless OS only uses Flatpaks for its applications and recently Solus OS announced that it would use this system for third-party applications. None of these distros have Pragha in their repos.

Flatpak already has a stable API and can be easily installed at one click, even through a web page.

👍

--- There is a **[$5 open bounty](https://www.bountysource.com/issues/41671384-use-flatpak-to-distribute-pragha-on-linux?utm_campaign=plugin&utm_content=tracker%2F352350&utm_medium=issues&utm_source=github)** on this issue. Add to the bounty at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F352350&utm_medium=issues&utm_source=github).
charlesjt commented 7 years ago

This would be a good way to use Pragha in Solus.

MateusRodCosta commented 5 years ago

Hey, I attempted to make a flatpak of pragha to submit to flathub. The current manifest is here: https://github.com/MateusRodCosta/flathub/tree/pragha

However, it currently doesn't work: https://hastebin.com/ogawahipib.coffeescript

The issue seems to be the use of org.pragha in the dbus names, or something like that. Using --own-name=org.pragha seems to work, but as TingPing said on #flatpak: pragha should stop using org.pragha in the app and have a 3 part id that is a valid app-id

TingPing commented 5 years ago

And pragha.org isn't a domain in use, which is the convention to ensure uniqueness.

matiasdelellis commented 5 years ago

Ohh.. Now see that I never comment on this issue.. Sorry... :disappointed:

Of course, I'm interested in being able to compile and distribute as a flatpak. :smile: So, thank you very much for moving forward on this. :smiley:

And pragha.org isn't a domain in use, which is the convention to ensure uniqueness.

Indeed, it is not registered, and that is why we use the github domain as desktop id, but for compatibility we never rename the .desktop file, but now that you comment, we also do not rename the dbus interface...

So, I understand that the important thing to continue is to rename the dbus interface.

..to 'io.github.pragha-music-player'. I understand well @TingPing ?

@MateusRodCosta Can you try with a simple patch?

Thanks to both.

TingPing commented 5 years ago

..to 'io.github.pragha-music-player'. I understand well @TingPing ?

Its ugly but the more accurate thing would be: io.github.pragha_music_player.Pragha but I suppose its reasonable to drop the latter if nothing else ever exists under this org.

matiasdelellis commented 5 years ago

..the id 'io.github.pragha-music-player', is the reverse-dns of the http://pragha-music-player.github.io/ domain that works... I do not know what says the 'standard' about middle hyphens, but I think this would be the correct name.

I do not know... :confused:

matiasdelellis commented 5 years ago

well..

If the author's DNS domain name contains hyphen/minus characters ('-'), which are not allowed in D-Bus interface names, they should be replaced by underscores.

So:

Soon a patch .. :wink:

matiasdelellis commented 5 years ago

Hi @MateusRodCosta I will not release another revision of 1.3, but you can apply this patch directly. https://github.com/pragha-music-player/pragha/commit/e23d5a20a0bf4fb9e35580bb4f49a62a9ae69f81

I know that it does not comply with the latest standards, but if you were already compiling this, it should work only with this.

However it would be very interesting to also publish the development version in master... :wink:

MateusRodCosta commented 5 years ago

Ok, so I applied the patch and with TingPing's instruction renamed the manifest and the app id. And now it works! I have even listened to some songs.

There are two things I think are missing though, both on the AppStream data. Release information: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-releases And OARS: https://hughsie.github.io/oars/

Flathub seems to have started requiring the last two recently, so having them will make publishing to flathub a bit easier.

Mailaender commented 2 years ago

Hi, I created https://github.com/flathub/flathub/pull/3240

matiasdelellis commented 2 years ago

Great.. Thank you very much! @Mailaender