itchio / itch

🎮 The best way to play your itch.io games
https://itch.io/app
MIT License
2.37k stars 211 forks source link

Snap package support [Feature Request] #2277

Open mikeroyal opened 5 years ago

mikeroyal commented 5 years ago

I was wondering if you might have an interest in making snap package version. Also, your app would be promoted on the snap store page.

Crafting your first snap

Build and test snap

fasterthanlime commented 5 years ago

Well, it's been a while since I last looked at Snap & friends - how easy would it be to just have it be a thin wrapper on top of itch-setup? Here's what the ArchLinux package looks like: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=itch

The idea is that itch-setup is the canonical (no pun intended) way to install itch on Windows, macOS, and Linux. It's developed in-house, downloads+extracts the latest version from our CDN, and uses our patching technology to let itch update itself.

I'm not interested in a snap that only packages the itch app and that has to be updated every time we make a new release. Packaging itch-setup would be fine. What do you think?

mikeroyal commented 5 years ago

Hi @fasterthanlime, that would work and snaps do auto-update every time you put out a new release on GitHub.

aaronfranke commented 5 years ago

I would suggest Flatpak over Snap, since it's more portable and follows more standards.

There's also AppImage, but it doesn't provide any advantages for Itch in particular, since itch-setup is already one file that doesn't require any special libraries to be installed to run.

geekley commented 3 years ago

Between Snap and Flatpak, I don't have a preference, all I care is for Linux apps to provide at least one (preferably both) of these security/privacy guarantees to users:

  1. Is it sandboxed? How can I know it's not secretly reading my files, microphone, or whatever?
  2. (for open-source apps) Is it a reproducible build? How can I know the app actually corresponds to claimed source code?

A Snapcraft/Flathub/F-Droid metadata file is great because it allows me to answer those questions without having to give too much trust to developers of every individual app I install.

I can see whether the store is downloading the repo and compiling it themselves or just having a wrapper over a pre-built binary. And if the app is closed-source (or a pre-built binary, which is effectively the same for me), then I can at least have some peace of mind by knowing that it's sandboxed, and the scope of permissions it has.

TL;DR Snap/Flatpak is useful only if it's not just a binary wrapper with classic/host permissions.

aha999 commented 3 years ago

I literary came here because i find itch too complex to install for normal gamers on Linux. I use Pop!OS, and it has flathub integrated into app store by default, so if there was a Flatpak for Itch, it would automatically be easy to download on distros that implement flatpaks via flathub, instead of having to resort to a terminal.

BurnerWah commented 3 years ago

I haven't done that much with it yet, but I made a prototype flatpak (https://github.com/YaBoiBurner/flathub/tree/io.itch.itch) There's still a decent amount of stuff I need to add to it (ex. icons, appdata, missing permissions), but I think so far stuff is working fine.

mossymossmoss commented 2 years ago

Having itch on flathub would mean very easy access for many Fedora/Pop/Elementary (probably more) users. I would love to see it put on there and it seems to be a simple task

VarLad commented 2 years ago

@YaBoiBurner any plans to push that to Flathub?

heidiwenger commented 2 years ago

So there is no snap package still either? And flatpak has been made but no progress on pushing it available for a common user?

BurnerWah commented 2 years ago

@YaBoiBurner any plans to push that to Flathub?

Probably not. I'm pretty sure that a standalone version of the itch app would be needed (without an installer/updater, since flatpak can handle that) for a package that isn't horribly janky and barely functional to work.

If that gets fixed at some point, then I could probably get one put together that actually works properly.