Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AppImage build for linux installation #616

Closed
2 tasks done
ghost opened this issue Jan 30, 2019 · 4 comments · Fixed by #735
Closed
2 tasks done

AppImage build for linux installation #616

ghost opened this issue Jan 30, 2019 · 4 comments · Fixed by #735

Comments

@ghost
Copy link

ghost commented Jan 30, 2019

Feature request

  • I understand the difference between Streamlink and Streamlink Twitch GUI.
  • This is a feature request and I have read the contribution guidelines.

Description

There's a TODO for creating linux executables and packages. I'd like to propose AppImage, which can be built with Travis. The first iteration could just provide the full .AppImage and further iterations could then provide an update mechanism

Additional comments, screenshots, etc.

@bastimeyer bastimeyer changed the title [Feature]AppImage build for linux installation AppImage build for linux installation Jan 30, 2019
@bastimeyer
Copy link
Member

I haven't looked that much into these new alternative packaging formats recently, but appimage looks like a better choice (for now) than flatpack or snap.

When I get the time for it, I'll see what can be done here if it's not too complex or time consuming. Pull requests are welcome, though, if you or anyone else has some experience with it, because I currently do not.

@ghost
Copy link
Author

ghost commented Jan 30, 2019

It seems like there's a grunt-appimage package. So maybe adding it to the grunt dist target would be the way to go.

@bastimeyer
Copy link
Member

bastimeyer commented Jan 30, 2019

Thanks, but that tools looks a bit outdated. It also packages its own binaries for creating the appimages and what it actually does is executing simple shell commands, so I don't think it's very useful.

I will create a proper TravisCI config and build steps after I've found the time to experiment with building appimages locally on my system.

@bastimeyer bastimeyer mentioned this issue Jun 1, 2020
19 tasks
@bastimeyer
Copy link
Member

I've pushed an initial AppImage build config to the repo on the appimage branch:
https://github.com/streamlink/streamlink-twitch-gui/compare/appimage

Once I've done some more testing (not sure when), I'll open a PR, so I can add a description and a proper to-do list for the stuff that's currently missing or not working.

What's weird is that I had to unset the PYTHONHOME env var, which gets set by the AppRun executable and causes issues when trying to execute streamlink. There's an alternative AppRun bash script in the AppImageKit repo and this one doesn't set the env var and thus doesn't cause problems. Integrating the bash script instead however would require a bit more effort here because of the way I've implemented it, as stuff gets downloaded and verified from the AppImageKit releases page, so simply unsetting the env var was much easier. Not sure if this could cause problems for some users, though.


The AppImage can be built like this and then run from the dist directory:

yarn run grunt clean:dist build:prod dist:appimage_linux64

@bastimeyer bastimeyer mentioned this issue Jul 17, 2020
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant