%global package_version 8.6.1 %define _build_id_links none %define debug_package %{nil} Name: signal-desktop Version: %{package_version} Release: 1%{?dist} Summary: A private messenger for Windows, macOS, and Linux. License: AGPL-3.0-or-later URL: https://github.com/signalapp/Signal-Desktop Source0: %{URL}/archive/refs/tags/v%{package_version}.tar.gz#/%{name}-%{package_version}.tar.gz BuildRequires: dpkg BuildRequires: gcc BuildRequires: g++ BuildRequires: make BuildRequires: nodejs-devel BuildRequires: pnpm BuildRequires: python BuildRequires: libxcrypt-compat %description Signal Desktop links with Signal on Android or iOS and lets you message from your Windows, macOS, and Linux computers. %prep %autosetup -n Signal-Desktop-%{package_version} pnpm install --dir sticker-creator pnpm install %build sed -i 's|"build:electron": "cross-env NODE_OPTIONS=.*electron-builder|& --linux dir|' package.json pnpm --prefix ./sticker-creator/ run build pnpm run build -- --linux dir %install mkdir -p %{buildroot}/opt/ mkdir -p %{buildroot}%{_datadir}/applications cp -a release/linux-unpacked %{buildroot}/opt/signal-desktop cat << EOF > %{buildroot}%{_datadir}/applications/signal-desktop.desktop [Desktop Entry] Name=Signal Exec=/usr/bin/signal-desktop %U Terminal=false Type=Application Icon=signal-desktop StartupWMClass=signal Comment=Private messaging from your desktop MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha; Categories=Network;InstantMessaging;Chat; EOF for i in 16 24 32 48 64 128 256 512 1024; do install -Dm 644 "build/icons/png/${i}x${i}.png" "%{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.png" done %files %doc README.md %license LICENSE /opt/* %{_datadir}/applications/signal-desktop.desktop %{_datadir}/icons/hicolor %post ln -s -f /opt/signal-desktop/signal-desktop %{_bindir}/signal-desktop %changelog %autochangelog