Skip to content

Instantly share code, notes, and snippets.

@probonopd
Last active February 3, 2022 10:16
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save probonopd/cb5cda5909e77740c6a49eb23088de15 to your computer and use it in GitHub Desktop.
Save probonopd/cb5cda5909e77740c6a49eb23088de15 to your computer and use it in GitHub Desktop.

AppImage in Golang

Wondering whether it would be a good idea to re-implement AppImage tools in Golang.

Advantages:

  • Maintainable, easy code (unlike "modern C++")
  • Short compilation times
  • Statically linked binaries, no dependencies
  • Synergies with snap?
  • Fun?

appimaged Go implementation

  • Downside: No squashfs feature-complete native Go implementation available. Hence list files using unsquashfs -ll, extract using unsquashfs? I would prefer a single-file static binary with squashfs generation and extraction capabilities
  • Resize icons for thumbnails https://siongui.github.io/2017/01/13/go-resize-image-from-web/

appimagetool Go implementation

appimageupdate Go implementation

appimageupdate LAN and WAN filesharing Go implementation

What else?

@azubieta
Copy link

It's possible to interface C code from Go but you loose cross-compiling, type-safety and other features. Yet it's doable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment