Emote
Emote copied to clipboard
Alternative distribution formats
Currently I have Snap installed just for this application, so it would be nice if I could install Emote via APT or a .deb package instead and uninstall Snap.
No plans at the moment, no.
I've tried packaging debs and managing ppas before and it was a bit of a nightmare. Snap by comparison was waaaay easier to set up. That, plus a single package that works on pretty much any platform and built-in auto-updating made it a pretty easy choice.
If somebody wants to provide a pull request for packaging up a deb, I'm not against it.
I'd also be interested in knowing what would be involved in / accepting PRs setting up flatpak support.
Bummer. Okay, thanks for the quick response.
Thanks so much for your work on Emote -- I've just got it working on Arch and it fills a gap I've been trying to fill for quite a while. A flawless app so far :smiley:
As for packaging, I understand the advantages of snaps (convenience for developers and users; easier updates; fewer dependency issues; built-in AppArmor-based sandboxing), but they also come with some significant costs, like:
- bandwidth and storage bloat (Emote goes from 84kB to 65MB once dependencies are rolled in--that adds up fast with hundreds of packages)
- resource consumption and system latency (
snapd
running continuously is problematic, but then there's the cost of creating, destroying and operating within sandboxes) - loss of privacy (not that Canonical is tooooo offensive in this area, but that's only because other players are so much worse)
Obviously I won't be installing snapd here, but thankfully not many patches were required to package Emote for Arch Linux, so there shouldn't be a lot of refactoring involved in supporting other packaging systems. Here's the emote AUR package I put together today, and here's what it does:
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=emote
setuptools
are used for some additional steps, so setup.py had to be expanded a little, but otherwise it was pretty straightforward.
Nice, looks good, thanks! I haven't got an arch install to try it out, though. I'm not going to support AUR package myself but I'm happy for somebody else to package it up.
Realistically the only other format I would be interested in supporting myself is flatpak.
Nice, looks good, thanks! I haven't got an arch install to try it out, though. I'm not going to support AUR package myself but I'm happy for somebody else to package it up.
All good, I'm getting notified of new releases and will maintain the AUR package :+1:
I'm interested in creating a Flatpak, but the files structure seems very Snap specific.
Have you considered using meson for building?
Moving the icon and .desktop
to a common data
folder?
Installing the static
files as GResources?
Correct me if I'm wrong, but meson does not seem to support building python programs?
Correct me if I'm wrong, but meson does not seem to support building python programs?
Yes it does, there's plenty of Python/GTK apps using it.
I would send a PR, but I have zero experience with snap, and I wouldn't be able to update the manifest to the changes.
I've not got time to work on it, but just wanted to bring up that I would totally use a flatpak. I'm not root on my machine so flatpak is a big win over snap which requires root access.
I also came here looking for an alternative distribution. :slightly_smiling_face: Flatpak would work for me as well! :+1:
I'm using Flatpak as well - pop!OS supports it out of the box. I don't like snap because the server is a central closed system. Debian package would also be nice.
Are there any updates regarding flatpak? I cannot install it because i do not want to use snaps on my laptop. Please consider flatpak support.
Nope, there are no updates. I personally don't have the time at the moment. We all are working for free and have busy lives - it's simply not possible for me to address all feature requests on all projects, unfortunately!
I had a look at meson but the documentation wasn't great, especially for python. If I find time to look into this more then I will be sure to update this issue.
In the meantime, I am open to PRs, as always.
Following as I'm interested in a Flatpak version of this. Really want to get away from Snap. No rush of course.
Packaging is getting a lot more convenient. Manimpango got into the Debian repositories in June, so it should at least be easily packagable for Debian Testing. I also found that emote works just fine with the default Python runtime (3.10) and the latest versions of all required libraries. A makefile just needs to be written to copy some files to the right place, and maybe a patch to use the Noto Color emoji font from the Debian package rather than a static file.
+1 for Flatpak or, preferably, DEB package support - Snaps on my system became such a piece of garbage experience because reasons not related to your app that I'm in ditching snap support completely and this one is the last app remaining to complete the transition.
+1, I'm currently downloading this app at 169 KB/s using snap
, despite having a 110 MB/s connection.
Please just use the emoji reactions instead of adding +1
comments.
Well, it's been 2 and a half years since this issue was created so I thought commenting could boost it better than just silently adding a reaction.
If you want to see this implemented then PRs are of course welcome.
Hi everyone and @tom-james-watson , I just added flatpak support in this PR: https://github.com/tom-james-watson/Emote/pull/89
Everything seems to work fine, exactly the same as the snap version, in addition starting time feels faster and more consistent (cf. the PR for more details)
We will be thankful if some people interested in having Emote as a flatpak could try it on their system and let us know if it works as expected! (especially for desktop environments other than GNOME)
We will be thankful if some people interested in having Emote as a flatpak could try it on their system
With pleasure, what's the install command ?
especially for desktop environments other than GNOME
I have Cinnamon (Linux Mint 21) and Unity (Ubuntu 22.04) here.
Thanks, everything is in the readme in my fork (you will need to do all of this from my fork): https://github.com/vemonet/Emote#%EF%B8%8F-packaging-with-flatpak
@vemonet nice, are you considering a PR?
you will need to do all of this from my fork
Sorry I thought you'd have packaged it for testing already.
are you considering a PR?
Read again.
@alexanderadam the PR has been share 2 messages above, not sure how you missed it :)
@KaKi87 can I do this? To share a pre-built version to test easily? (how if possible?)
At the moment, I am waiting for the PR to be merged to create the entry in flathub, so we do it with the main repository and ideally make it "verified"
Otherwise to try it should not be too heavy, you will need to run 2 commands after cloning the fork:
git clone --branch=add-flatpak https://github.com/vemonet/Emote
cd Emote
# install build dependencies with flatpak:
make flatpak-install
# build and run emote locally, should take less than a minute:
make flatpak
Note that I just also just updated the list of emojis (adding recent emojis like 🫠 🫴), and disabled a list of blocked emojis that were not working on snap apparently (hair stylist, and transgender folks should be happy! 👨🦲🧑🦰🏳️⚧️).
They are all working in the flatpak package, adding a few dozen (maybe even hundreds?) new emojis!
Also Emote is properly showing in GNOME software GUI when installed, with reviews automatically retrieved. And apparently it's the best noted emoji picker with 4.4 for 35 reviews, but still ex aequo with Smile (which has 20 reviews) :) so feel free to give it some love!
Amazing work by @vemonet! I've added some comments on the PR but they all look solvable. It looks like in the end we not only will be adding support for flatpak, but we'll actually be dropping support for snap entirely. That's unless someone wants to step up and work out how to upgrade to the latest core snap etc. to unblock a whole bunch of things like not being able to update the emoji list.
Hopefully we'll have this all merged and officially published soon :rocket:
Ah just seen this thread – I have a PR that upgrades the base Snap to core22. If there are no problems then I think it makes sense to offer two alternative distribution formats, but I'm also fine to ditch the PR and remove Snap support.
As of version 4.0.0, Emote is now available as a Flatpak - https://flathub.org/apps/com.tomjwatson.Emote.
And to be clear, support for the existing snap application has been maintained, thanks to @sonjoonho. The app is available via both flatpak and snap.