Commit Graph

13 Commits

Author SHA1 Message Date
biast12
82654680f6 Linux: Move to Ayatana's AppIndicator
The reference AppIndicator implementation has been deprecated/abandoned in newer distros.

Co-Authored-By: Guilherme Silva <626206+guihkx@users.noreply.github.com>
2024-12-31 21:05:35 +01:00
guihkx
49e8db9e22 linux/appimage: install meson and ninja from PyPI
Some systems (e.g. Ubuntu 22.04, which we use to make the AppImage),
have ancient versions of meson and ninja, which is not good when we
have dependencies like PyGObject 3.47+ (and more recently, one of its
transitive dependencies, pycairo 1.27+) requiring a fairly recent
version of meson to be able to be built.

So, instead of relying on whatever meson/ninja version the current
system provides us with to make the AppImage, this change will simply
install up-to-date, official wheels of meson/ninja directly from PyPI.

This also allows us to finally unpin PyGObject's version.
2024-09-11 11:47:05 +02:00
DevilXD
35c46c2b78 Implement a dynamic tray icon status picture 2024-07-01 21:20:27 +02:00
guihkx
3897a8bccf ci/linux: build AppImage on Ubuntu 22.04 (Python 3.10)
Ubuntu 20.04 only has Python 3.8, and because the 'truststore'
dependency requires at least Python 3.10, the AppImage package would
need to bundle CA certificates from 'certifi' to make HTTPS requests
work at all, which is quite an ugly workaround.

Unfortunately, as a side effect, building on Ubuntu 22.04 increases the
minimum required version of glibc from 2.31 to 2.35.
2024-01-22 23:29:38 +01:00
guihkx
6e5fee7103 linux/appimage: generate byte-code files and package them
This makes the app start slightly faster, as byte-code files won't need
to be generated every time users run the app.

https://docs.python.org/3.10/library/compileall.html
2024-01-22 23:29:38 +01:00
DevilXD
9c0318dab1 Fix missing certifi certificate 2024-01-21 09:48:45 +01:00
DevilXD
9e18c1ab20 Revert AppImage back to using 3.8 2024-01-20 18:39:42 +01:00
DevilXD
0d72f1ebea Install requirements via the 3.10 version 2024-01-20 11:42:36 +01:00
DevilXD
0df7d9e57f Yet another attempt at passing env vars to the script 2024-01-20 11:16:43 +01:00
DevilXD
aede883062 Try a different env var reference syntax 2024-01-20 11:12:50 +01:00
DevilXD
0a4bef728e Switch back to ubuntu-20.04 runners, fix AppImage builder exec 2024-01-20 11:09:06 +01:00
DevilXD
8cfa43b52b Make AppImage build python-version independent 2024-01-19 20:06:56 +01:00
guihkx
a31fa375c9 linux: add support for AppImage packages
AppImage is a more flexible packaging solution for Linux than what
PyInstaller currently offers.

Some of the benefits are:

- Ability to ship the app with predefined environment variables
(solving issues like #321)
- Improved integration with the desktop environment (if you're using
go-appimage[1] or libappimage[2])
- Much lighter in size (~27 MB difference)

To actually make the AppImage, I'm using appimage-builder[3], which
makes the process a bit easier.

For more details about the AppImage technology, check out their
website[4].

[1] https://github.com/probonopd/go-appimage
[2] https://github.com/AppImageCommunity/libappimage
[3] https://appimage-builder.readthedocs.io/en/latest/index.html
[4] https://appimage.org/
2023-11-16 20:36:25 +01:00