Package Details: signal-desktop-beta 7.8.0beta1-1

Git Clone URL: https://aur.archlinux.org/signal-desktop-beta.git (read-only, click to copy)
Package Base: signal-desktop-beta
Description: Signal Private Messenger for Linux - Beta version.
Upstream URL: https://signal.org
Keywords: secure-messenger signal signal-desktop
Licenses: GPL3
Conflicts: signal-desktop-beta-bin
Submitter: Edu4rdSHL
Maintainer: Edu4rdSHL
Last Packager: Edu4rdSHL
Votes: 15
Popularity: 0.21
First Submitted: 2020-08-17 19:09 (UTC)
Last Updated: 2024-05-02 00:18 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 Next › Last »

mkurz commented on 2022-09-02 10:14 (UTC)

Below you can find the patch to make this package compatible with arm / aarch64. Just two fixes were necessary, I now can run signal-desktop-beta successfully now on my Macbook Pro M1 with Asahi Linux, using the upstream sources!

A guy from the Signal community fixed everything that was necessary to make Signal run on arm. Based on his comment https://github.com/dennisameling/Signal-Desktop/issues/1#issuecomment-1046097807 (also see the next comment below where he successfully provided a deb package) these are the things that needed to be changed:

  1. Make use of fpm that is provided by your system, otherwise yarn will use a fpm version that is not compatible with arm (it actually displays x86 somewhere even when using aarch64). We can easily fix that by depending on https://aur.archlinux.org/packages/fpm and tell yarn to use that one by setting the env var USE_SYSTEM_FPM=true. Details can be found in the comment I linked above and here: https://github.com/electron-userland/electron-builder/issues/3901#issuecomment-499121694

  2. Depending on the architecture, when running arm, the release folder is called linux-arm64-unpacked, not linux-unpacked. I made a simple condition to fix that.

That is all, with this patch applied I was able to build and install on Asahi Linux, and Signal is working great!

Would be nice if you could apply my patch so we have "official" arm/aarch64 support for Signal. Thanks!

Here is the patch (as you can see it's no magic and fully backwards compatible for x86):

diff --git a/.SRCINFO b/.SRCINFO
index bfb5580..9fd6139 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -4,6 +4,7 @@ pkgbase = signal-desktop-beta
    pkgrel = 1
    url = https://signal.org
    arch = x86_64
+   arch = aarch64
    license = GPL3
    makedepends = yarn
    makedepends = git
@@ -13,6 +14,7 @@ pkgbase = signal-desktop-beta
    makedepends = git-lfs
    makedepends = libxcrypt-compat
    makedepends = openjpeg2
+   makedepends = fpm
    depends = gtk3
    depends = libvips
    depends = libxss
diff --git a/PKGBUILD b/PKGBUILD
index 4bfc890..11fd3ae 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,11 +12,11 @@ pkgrel=1
 pkgdesc='Signal Private Messenger for Linux - Beta version.'
 license=('GPL3')
 conflicts=('signal-desktop-beta-bin')
-arch=('x86_64')
+arch=('x86_64' 'aarch64')
 url="https://signal.org"
 depends=('gtk3' 'libvips' 'libxss' 'hicolor-icon-theme')
 # We need libxcrypt-compat for it to build: https://github.com/electron-userland/electron-builder-binaries/issues/47
-makedepends=('yarn' 'git' 'nodejs-lts-gallium' 'npm' 'python' 'git-lfs' 'libxcrypt-compat' 'openjpeg2')
+makedepends=('yarn' 'git' 'nodejs-lts-gallium' 'npm' 'python' 'git-lfs' 'libxcrypt-compat' 'openjpeg2' 'fpm')
 source=(
   "${pkgname}-${pkgver}.tar.gz::https://github.com/signalapp/${_pkgname}/archive/v${pkgver//beta*}-beta.${pkgver##*beta}.tar.gz"
   "${pkgname}.desktop"
@@ -47,14 +47,18 @@ build() {

   yarn generate
   yarn prepare-beta-build
-  yarn build
+  USE_SYSTEM_FPM=true yarn build
 }

 package() {
   cd "${_pkgname}-${pkgver//beta*}-beta.${pkgver##*beta}"

   install -d "${pkgdir}/usr/"{lib,bin}
-  cp -a release/linux-unpacked "${pkgdir}/usr/lib/${pkgname}"
+  case "${CARCH}" in
+   "aarch64") folder="linux-arm64-unpacked" ;;
+   *) folder="linux-unpacked" ;;
+  esac
+  cp -a release/${folder} "${pkgdir}/usr/lib/${pkgname}"
   ln -s "/usr/lib/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/"

   chmod u+s "${pkgdir}/usr/lib/${pkgname}/chrome-sandbox"

Edu4rdSHL commented on 2022-07-14 03:07 (UTC)

It's building again.

Edu4rdSHL commented on 2022-07-12 18:38 (UTC)

Currently, it isn't possible to build this version because https://github.com/signalapp/better-sqlite3/issues/6 too, so I can't debug that.

reclusivesage commented on 2022-07-12 15:55 (UTC)

Despite updating Pacman, I received the build error below. Any suggestions on what to do?

==> Starting prepare()...
Updated Git hooks.
Git LFS initialized.
yarn install v1.22.19
[1/5] Resolving packages...
warning Resolution field "color-string@1.7.4" is incompatible with requested version "color-string@^1.9.0"
[2/5] Fetching packages...
error An unexpected error occurred: "Unexpected end of data".
info If you think this is a bug, please open a bug report with the information provided in "/home/uSER/AUR/signal-desktop-beta/src/Signal-Desktop-5.50.0-beta.1/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
==> ERROR: A failure occurred in prepare().
    Aborting...

Edu4rdSHL commented on 2022-02-24 14:54 (UTC) (edited on 2022-02-24 16:29 (UTC) by Edu4rdSHL)

presidentwolf for some reason I was not notified in my email about your comment and had to discover that by myself, to come here and see that you have already fixed the problem... I have added libxcrypt-compat as makedepend because apparently it's only needed to build the .deb (which we don't care about) and doesn't affect our final binary.

presidentwolf commented on 2022-02-21 18:04 (UTC)

Build is failing with:

[build:release   ]   • building        target=deb arch=x64 file=release/signal-desktop-beta_5.33.0-beta.1_amd64.deb
[build:release   ]   ⨯ cannot execute  cause=exit status 127
[build:release   ]                     errorOut=/home/person/.cache/electron-builder/fpm/fpm-1.9.3-2.3.1-linux-x86_64/lib/ruby/bin.real/ruby: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
[build:release   ]     

Sounds like this was removed recently from glibc and is now available from libxcrypt-compat in AUR. Can we add this as a dep?

reclusivesage commented on 2022-01-13 03:17 (UTC)

I also get a similar error that behaves the same.

This is what I see when trying to debug Signal Desktop Beta in a terminal emulator:

$ signal-desktop-beta 
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop-beta' }
NODE_ENV production
NODE_CONFIG_DIR /usr/lib/signal-desktop-beta/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/uSER/.config/Signal Beta
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
{"level":30,"time":"2022-01-13T03:10:48.933Z","pid":747808,"hostname":"hOST","msg":"crashReporter: enabled"}
[748294:0112/221049.036925:ERROR:sandbox_linux.cc(376)] InitializeSandbox() called with multiple threads in process gpu-process.
^C^C

Edu4rdSHL commented on 2022-01-12 23:25 (UTC) (edited on 2022-02-02 23:08 (UTC) by Edu4rdSHL)

In beta releases from 5.29.0beta1 onwards I'm not able to launch the app, it doesn't crash as well, just hangs. I thought that it was something related to Nvidia and tried using the --disable-gpu flag but doesn't work as well. Here's the output log: https://paste.rs/sEw

Can someone confirm if it's working in your case? I'm still waiting for the -bin version to see if it works.

EDIT 12/01/2022 : -bin is working fine, so it's a problem here... I will continue investigating but I don't have much time, if someone can help me to find the root cause I would appreciate it.

EDIT 02/02/2022 (Nice date btw): The issue has been fixed, the problem was indeed on my side, it was the wrapper for /usr/bin/signal-desktop-beta created for 5.23 ¿? when the SQLite problem happened, it was causing the problem. Using a symlink directly fixed the problem:

Commit: https://aur.archlinux.org/cgit/aur.git/commit/?h=signal-desktop-beta&id=cabb29a6b8709d293e5844d145dc935c6d446043

reclusivesage commented on 2021-12-15 19:27 (UTC) (edited on 2021-12-15 19:38 (UTC) by reclusivesage)

Edit: Never mind, I was long overdue for updating Arch Linux because this error disappeared afterwards.

I received an error in prepare() involving a component called playwright when I follow either choice in its directions:

[4/5] Building fresh packages...
[15/33] ⠐ playwright
[9/33] ⠈ playwright
[-/33] ⠈ waiting...
[-/33] ⠈ waiting...
error /home/uSER/AUR/signal-desktop-beta/src/Signal-Desktop-5.27.0-beta.1/node_modules/playwright: Command failed.
Exit code: 1
Command: node install.js
Arguments: 
Directory: /home/uSER/AUR/signal-desktop-beta/src/Signal-Desktop-5.27.0-beta.1/node_modules/playwright
Output:
/home/uSER/AUR/signal-desktop-beta/src/Signal-Desktop-5.27.0-beta.1/node_modules/playwright-core/lib/utils/registry.js:558
        throw new Error('\n' + (0, _utils.wrapInASCIIBox)([`An active lockfile is found at:`, ``, `  ${lockfilePath}`, ``, `Either:`, `- wait a few minutes if other Playwright is installing browsers in parallel`, `- remove lock manually with:`, ``, `    ${rmCommand} ${lockfilePath}`, ``, `<3 Playwright Team`].join('\n'), 1));
              ^

Error: 
╔═════════════════════════════════════════════════════════════════════════════╗
║ An active lockfile is found at:                                             ║
║                                                                             ║
║   /home/uSER/.cache/ms-playwright/__dirlock                                 ║
║                                                                             ║
║ Either:                                                                     ║
║ - wait a few minutes if other Playwright is installing browsers in parallel ║
║ - remove lock manually with:                                                ║
║                                                                             ║
║     rm -rf /home/uSER/.cache/ms-playwright/__dirlock                        ║
║                                                                             ║
║ <3 Playwright Team                                                          ║
╚═════════════════════════════════════════════════════════════════════════════╝
    at Registry.install (/home/uSER/AUR/signal-desktop-beta/src/Signal-Desktop-5.27.0-beta.1/node_modules/playwright-core/lib/utils/registry.js:558



==> ERROR: A failure occurred in prepare().
    Aborting...