axolotl-chat / axolotl

A Signal compatible cross plattform client written in Go, Rust and Vuejs
https://axolotl.chat
GNU General Public License v3.0
320 stars 51 forks source link

Flathub/Flatpak package #154

Closed baarkerlounger closed 3 years ago

baarkerlounger commented 4 years ago

Is your feature request related to a problem? Please describe.

Easy installation on distributions that don't come with Snap or Ubuntu Touch store installed.

Describe the solution you'd like A flatpak package, preferably with support for arm64 builds.

Describe alternatives you've considered Only real alternative right now I think is compiling a build yourself.

nanu-c commented 4 years ago

Today i looked into it and for me it's another not so well documented build-system where I am missing at the moment the time to find all the quirks. But if you look into it, have a look at the snap building https://github.com/nanu-c/axolotl/blob/master/snap/snapcraft.yaml Actually I couldn't find that much documentation on how to build a golang app with flatpack and nodjs is also only mentioned together with electron. Actually to mentioning in the docs to use python script to get npm dependencies made me thinking mhhhhhh, this will be a journey (https://docs.flatpak.org/en/latest/electron.html#bundling-npm-packages). Nevertheless when someone picks this up, I happly answer questions about it.

Blackoverflow commented 4 years ago

Flatpack builds within a container without internet access. As far as I understand, dependencies must be provided via flatpack manifest. Usually Go and npm download dependencies while building.

I think this is what the journey is about:

  1. automatically scanning for dependencies
  2. automatically updating the manifest
  3. building with the provided dependencies

There may be further tasks waiting. :)

nanu-c commented 4 years ago

maybe build it outside of flatpack and just copy the files would be easy :)

Blackoverflow commented 4 years ago

Flatpak provides builder tools:

and there is a building tutorial for electron (https://docs.flatpak.org/en/latest/electron.html).

I'm not experienced at tinkering, but I think that is the path to package axolotl electron with flatpak.

olof-nord commented 3 years ago

I have looked into how to package with Flatpak, and it shouldnt be too complicated (or different) from the snap snapcraft.yaml. I will look into this and put someting together.

What I am wondering, is why the snap packaging does not list a dependency on Electron (or to formulate this differently, where is the Electron dependency managed for the snap packaging?)

gary-host-laptop commented 3 years ago

When will Axolotl be on Flathub? I guess you are waiting an approval from their part since everything was merged.

nanu-c commented 3 years ago

We are waiting for it to be working on mobian/pinephone, so it needs still some testing.