Fast, simple and secure messaging app from your desktop

Edit Package signal-desktop

Signal Desktop is an Electron application that links with your Signal Android
or Signal iOS app.

Source Files
Filename Size Changed
0001-ts-log-Avoid-log-spam-for-ResizeObserver-loop-limit-.patch 0000001225 1.2 KB
Remove-build-time-dependencies.patch 0000003967 3.87 KB
Revert-disable-hardware-acceleration.patch 0000000772 772 Bytes
Signal-Desktop-7.4.0.tar.gz 0043629583 41.6 MB
Use-system-Inter-font.patch 0000003144 3.07 KB
_constraints 0000000150 150 Bytes
better-sqlite3-no-download.patch 0000001419 1.39 KB
boringssl-sys-no-static.patch 0000000964 964 Bytes
do-not-guess-rust-target.patch 0000001148 1.12 KB
esbuild_version.patch 0000002306 2.25 KB
libsignal-client-visibility-hidden.patch 0000002124 2.07 KB
make-webpack-errors-comprehensible.patch 0000000642 642 Bytes
no-comments-or-sourcemaps.patch 0000003333 3.25 KB 0000006900 6.74 KB
remove-fuses.patch 0000001506 1.47 KB
ringrtc-no-download.patch 0000000383 383 Bytes
signal-desktop-better-sqlite3-dependencies.patch 0000001799 1.76 KB
signal-desktop-remove-heif-support.patch 0000002135 2.08 KB
signal-desktop.changes 0000093333 91.1 KB
signal-desktop.desktop 0000000404 404 Bytes
signal-desktop.spec 0000026593 26 KB
system-esbuild.patch 0000003036 2.96 KB
vendor.tar.zst 0338154196 322 MB
Comments 12

Bruno Pitrus's avatar

Do you know how often electron makes ABI-breaking changes? If minor updates are OK, it might be worth doing something like this:

Requires: nodejs-electron%{?_isa} >= %{electron_req_version}

Requires: nodejs-electron%{?_isa} < 17 (or whatever is current version + 1)

My Bitwarden binaries built with Electron 13 ( ) work fine on 16, but Signal does not, so there seem to be at least two types of binary Node modules.

Andreas Schneider's avatar

Signal requires header files for electron which are being downloaded. Same for nodejs, so the header files in the vendor tarball need to match exactly the nodejs and electron version to be able to build it.

Yes, it is quite a mess.

Bruno Pitrus's avatar

The nodejs headers are provided in nodejs16-devel and can be used adding --nodedir=/usr/include/node16 to npm command line. Unfortunately the SuSE distribution of electron does not include devel headers. Ouch.

My question was different tho. I was asking whether binaries built against electron 16.0.1 can run with electron 16.0.2.

Andreas Schneider's avatar

Yes, that should work. I was even able to run signal-desktop built against electron 13 with electron 15. However signal-desktop build with 15 and running with 16 doesn't work. Minor version updates should work.

I will look into node includes soon. However it still downloads electron headers from the web. Maybe we can package them too.

Andreas Schneider's avatar

If I do export npm_config_nodedir=/usr/include/node16

node-gyp doesn't find the header:

make: Entering directory '/tmp/signal-desktop-1Tah1oUK/Signal-Desktop-5.29.0/node_modules/fs-xattr/build'
  CC(target) Release/
In file included from ../src/async.c:6:
../src/error.h:5:10: fatal error: node_api.h: No such file or directory
    5 | #include <node_api.h>

Bruno Pitrus's avatar

The environment variable seems to not work, you need to use --prefix=…. See how i did it in my spec for bitwarden

Andreas Schneider's avatar

That's just a workaround. I think right fix is that the common.gypi sets the include path correctly.

Jos Poortvliet's avatar

I also see the remove-heif support patch, that's uncool, I'll miss out on lots of dog and food pictures!

Seriously, anything that can be done to have working heif support? As disabling that means 99% of the pics I get don't show :D Or does it work and does this patch do something else... Sorry, just curious I guess.

Andreas Schneider's avatar

Tell your friends to use royalty free image formats.

P's avatar

Thank you for your dedication and hard work! This is so much appreciated!!!

Will McCullen's avatar

I agree. Thank you for all you do. Just out of curiosity, is anyone else having issues with spellcheck working?

openSUSE Build Service is sponsored by