# Template file for 'Signal-Desktop' pkgname=Signal-Desktop version=6.0.1 revision=1 # Signal officially only supports x86_64 (also due to Electron) # x86_64-musl fails because of its dependency on 'node-gyp' which depends on a glibc specific extension # armv7hf/arm64: https://github.com/signalapp/Signal-Desktop/issues/3410 archs="x86_64" hostmakedepends="git git-lfs nodejs python3 tar yarn" depends="cairo gtk+3 libvips pango" short_desc="Signal Private Messenger for Linux" maintainer="akierig " license="AGPL-3.0-only" homepage="https://github.com/signalapp/Signal-Desktop" distfiles="https://github.com/signalapp/Signal-Desktop/archive/v${version}.tar.gz" checksum=b7c7b2824d1340ee4dee0a20ffe2883ccde610cb98b4f8d6d2b44f70130e384c nostrip_files="signal-desktop" post_extract() { # git-lfs hook needs to be installed for one of the dependencies git lfs install vsed 's/"node": "/&>=/' -i package.json # Dependencies have to be installed before applying patch yarn install --ignore-engines --frozen-lockfile } do_build() { yarn generate yarn build-release } do_install() { vmkdir usr/lib/signal-desktop # Remove prebuilt binaries for foreign architectures (to not confuse strip) for prebin in darwin-x64 linux-arm64 win32-ia32 win32-x64; do rm -rf release/linux-unpacked/resources/app.asar.unpacked/node_modules/{ffi-napi,ref-napi}/prebuilds/$prebin rm -rf release/linux-unpacked/resources/app.asar.unpacked/node_modules/ffi-napi/node_modules/ref-napi/prebuilds/$prebin done vcopy release/linux-unpacked/* usr/lib/signal-desktop vmkdir usr/bin ln -s /usr/lib/signal-desktop/signal-desktop ${DESTDIR}/usr/bin/ vmkdir usr/share/applications vinstall ${FILESDIR}/signal.desktop 644 usr/share/applications/ vmkdir usr/share/icons/hicolor for size in 16 32 48 128 256 1024; do vinstall images/icon_${size}.png 644 usr/share/icons/hicolor/${size}x${size}/apps/ signal.png done vlicense LICENSE }