Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Signal Desktop to Pi-Apps #1518

Closed
milada-horakova opened this issue Feb 22, 2022 · 10 comments
Closed

Add Signal Desktop to Pi-Apps #1518

milada-horakova opened this issue Feb 22, 2022 · 10 comments

Comments

@milada-horakova
Copy link

build script for ubuntu arm64: https://github.com/BernardoGiordano/signal-desktop-pi4
but issues ahead concerning arm32 rpios: BernardoGiordano/signal-desktop-pi4#4

a deluge of kudos is waiting for someone who gets this into pi-apps :)

@Botspot
Copy link
Owner

Botspot commented Feb 24, 2022

This would be AMAZING to add to Pi-Apps. Looks like that build script is assuming aarch64. I'll disable my 64-bit kernel and see what I can do.
If everything fails, we can always stick an arm64 app in a chroot like I did for the WPS Office app. But that consumes a lot of disk-space, so should be avoided if possible.

@Botspot
Copy link
Owner

Botspot commented Feb 24, 2022

On armhf and using the signal-desktop-rpi4 script, I was able to complete each of the commands until make libzkgroup, which failed with this error.
Upgrading rustup to nightly-2021-09-22 seems to be working. I'll continue reporting progress.

@Botspot
Copy link
Owner

Botspot commented Feb 24, 2022

yarn install failed because CARGO_ARCH was unset in binding.gyp.
Through trial and error, I found that replacing the contents of line 14 to the following text will solve the problem:

         'target_arch=="arm64"', {'variables': {'CARGO_ARCH': 'aarch64'}},
         'target_arch=="arm"', {'variables': {'CARGO_ARCH': 'armv7'}}]

(Yes, making this change adds a new line to the file.)

The next error was:

error: Error loading target specification: Could not find specification for target "armv7-unknown-linux-gnu". Run `rustc --print target-list` for a list of built-in targets

I went ahead and ran rustc --print target-list to see which architectures were available, and I saw armv7-unknown-linux-gnueabihf in the list. I knew that armv7-unknown-linux-gnueabihf would work, but now I had to work backwards to find what set armv7-unknown-linux-gnu and to change it to armv7-unknown-linux-gnueabihf. I went down several rabbit holes, but eventually realized that this can also be solved in binding.gyp.

Change line 10 in binding.gyp to:

         'OS=="linux"', {'variables': {'NODE_OS_NAME': 'linux', 'CARGO_TARGET_SUFFIX': 'unknown-linux-gnueabihf'}},

Finally, the yarn install command succeeded!

@Botspot
Copy link
Owner

Botspot commented Feb 24, 2022

Now I've reached the yarn generate step.
Before this, I had to install grunt with npm install grunt --save-dev.
Now yarn generate fails due to Node Sass not supporting an arm release.

pi@raspberrypi:~/signal-desktop-pi4/Signal-Desktop-5.17.0 $ yarn generate
yarn run v1.22.17
$ yarn grunt
$ grunt
Loading "Gruntfile.js" tasks...ERROR
>> Error: Node Sass does not yet support your current environment: Linux Unsupported architecture (arm) with Node.js 14.x
>> For more information on which environments are supported please see:
>> https://github.com/sass/node-sass/releases/tag/v4.14.1

I'm currently building node-sass, but how did the arm64 signal repository miss this step? (Node-sass didn't have an arm64 release either)

@milada-horakova
Copy link
Author

could this help?

Warning: LibSass and Node Sass are deprecated. While they will continue to receive maintenance releases indefinitely, there are no plans to add additional features or compatibility with any new CSS or Sass features. Projects that still use it should move onto Dart Sass.

source: https://github.com/sass/node-sass

@Dlay2017
Copy link

Dlay2017 commented Aug 27, 2023

No stress with signal. Just download and install this release.. works fine here with DietPi/Debian 12:

https://github.com/0mniteck/Signal-Desktop-Mobian/blob/master/builds/release/signal-desktop_6.26.0_arm64.deb

or

https://github.com/0mniteck/Signal-Desktop-Mobian/tree/master/builds/release

@Botspot
Copy link
Owner

Botspot commented Aug 27, 2023

@Dlay2017 please check your hyperlink.

@theofficialgman
Copy link
Collaborator

Closing as stale. Best would be to assist upstream Signal to build their production builds in github actions CI corresponding to their source code repositories. See signal build documentation https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md and other electron application CI cross compilation examples https://github.com/shiftkey/desktop/blob/linux/.github/workflows/ci.yml

@theofficialgman theofficialgman closed this as not planned Won't fix, can't repro, duplicate, stale Dec 23, 2023
@Botspot
Copy link
Owner

Botspot commented Feb 23, 2024

Found up-to-date unofficial Signal Desktop arm64 debs here: https://github.com/dennisameling/Signal-Desktop/releases

@Botspot Botspot reopened this Feb 23, 2024
@Botspot Botspot changed the title signal-desktop Add Signal Desktop to Pi-Apps Feb 23, 2024
@Botspot
Copy link
Owner

Botspot commented Feb 23, 2024

Signal is now on Pi-Apps! Find it in the Internet -> Communication folder. Available for ARM64 only.

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

No branches or pull requests

4 participants