Replace vendored electron with our own electron package
Additional changes:
- Add code to prepare() function that checks if the correct nodejs and electron versions are in makedepends and depends.
- Use upstream's git tags instead of tarballs of the very same tags
- Add "--use-tray-icon" parameter in "signal-desktop.desktop" file.
- Add "signal-desktop-start-in-tray.desktop" file.
Note: This package used to use the normal electron
package a while ago, which caused issues because it would always depend on the latest electron version available from the Archlinux repos, regardless of whether that version was the same major release as the packaged version of signal-desktop was intended to use, even if that meant that the mismatching electron version might use a different major release of nodejs, thereby causing all sorts of issues. To prevent that from happening again, I've included code in the prepare()
function that checks the major releases of both nodejs and electron, and throws an error if a mismatch is detected.
Using our own electron packages instead of the vendored electron version has mainly two benefits:
- the resulting
signal-desktop
package is a lot smaller:- download size: 44.22 MiB vs 120,15 MiB
- installed size: 140.26 MiB vs. 414,18 MiB
- Electron security updates get to the user as fast as they're packaged in our repo (upstream tends to be slower than our own electron* packages in this regard)