feat (signal-desktop): add metainfo, fix build (#8259) (#9433)

This commit is contained in:
Raboneko
2026-01-21 10:21:18 -08:00
committed by GitHub
parent ea9aacf653
commit 3888dd494d
3 changed files with 86 additions and 83 deletions
@@ -0,0 +1,12 @@
--- a/package.json 2025-12-23 23:24:39.954587295 -0600
+++ b/package.json 2025-12-23 23:31:32.388172516 -0600
@@ -528,9 +528,6 @@
}
},
"artifactName": "${name}_${version}_${arch}.${ext}",
- "target": [
- "deb"
- ],
"icon": "build/icons/png",
"publish": [
{
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" ?>
<component type="desktop">
<id>org.signal.Signal</id>
<name>Signal Desktop</name>
<project_license>AGPL-3.0-only</project_license>
<icon type="local">/usr/share/icons/hicolor/1024x1024/apps/signal.png</icon>
<developer id="org.Signal">
<name>Signal Foundation</name>
</developer>
<summary>A private messenger for Windows, macOS, and Linux</summary>
<metadata_license>CC0-1.0</metadata_license>
<url type="homepage">https://signal.org/</url>
<url type="help">https://support.signal.org/</url>
<url type="donation">https://signal.org/donate/</url>
<url
type="contribute"
>https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md</url>
<launchable type="desktop-id">org.signal.Signal.desktop</launchable>
<description>
<p>
Signal Desktop links with Signal on Android or iOS and lets you message from your Windows, macOS, and Linux computers.
</p>
</description>
<provides>
<binary>signal-desktop</binary>
</provides>
<keywords>
<keyword>signal</keyword>
</keywords>
<screenshots>
<screenshot type="default">
<image
type="source"
>https://web.archive.org/web/20240219132433if_/https://signal.org/assets/images/screenshots/download-desktop-windows.png</image>
<caption>Typical view of the window (Windows version)</caption>
</screenshot>
</screenshots>
</component>
+36 -83
View File
@@ -1,20 +1,9 @@
%define appid org.signal.Signal
#? https://gitlab.archlinux.org/archlinux/packaging/packages/signal-desktop/-/blob/main/PKGBUILD
%define debug_package %{nil}
# Make electron_license macro properly work
%bcond bundled_electron 1
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude ^lib.*\\.so.*$
%ifarch x86_64
%define arch %{nil}
%elifarch aarch64
%define arch arm64-
%endif
Name: signal-desktop
%electronmeta -aD
Version: 7.85.0
Release: 1%?dist
Summary: A private messenger for Windows, macOS, and Linux
@@ -22,24 +11,19 @@ URL: https://signal.org
Source0: https://github.com/signalapp/Signal-Desktop/archive/refs/tags/v%{version}.tar.gz
# signal.desktop from https://github.com/signalflatpak/signal/blob/master/org.signal.Signal.desktop
Source1: signal.desktop
Source2: org.signal.Signal.metainfo.xml
Patch0: no-prebuilt-binaries.patch
License: AGPL-3.0 AND %{electron_license}
ExclusiveArch: x86_64 aarch64
BuildRequires: pulseaudio-libs-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: libX11-devel
BuildRequires: git-lfs
BuildRequires: git-core
BuildRequires: git-lfs
BuildRequires: anda-srpm-macros
BuildRequires: pnpm
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: git-core
BuildRequires: make
BuildRequires: nodejs
BuildRequires: nodejs-npm
BuildRequires: pnpm
BuildRequires: python3
BuildRequires: terra-appstream-helper
BuildRequires: nodejs-full-i18n
Requires: gtk3
Requires: libwayland-cursor
Requires: libwayland-client
Requires: libxkbcommon
@@ -58,21 +42,11 @@ Requires: cairo
Requires: xz-libs
Requires: libxcb
Requires: nss-util
Requires: nss
Requires: dbus-libs
Requires: mesa-libgbm
Requires: at-spi2-atk
Requires: expat
Requires: alsa-lib
Requires: xdg-utils
Requires: re2
Requires: (libXtst or libXtst6)
Requires: libXScrnSaver
Requires: libnotify
Requires: (libuuid or libuuid1)
Requires: at-spi2-core
Requires: c-ares
Requires: gtk3
Requires: minizip
Provides: signal
@@ -86,72 +60,51 @@ Signal Desktop links with Signal on Android or iOS and lets you message from you
%autosetup -n Signal-Desktop-%{version}
%build
pnpm install --frozen-lockfile
export SIGNAL_ENV=production
%{__pnpm} install
%{__pnpm} run clean-transpile
pushd sticker-creator
pnpm install --frozen-lockfile
pnpm build
%{__pnpm} install
%{__pnpm} run build
popd
pnpm run build-linux --dir
%pnpm_build -r generate,prepare-beta-build
%install
install -Dm755 release/linux-%{arch}unpacked/libEGL.so %{buildroot}%{_libdir}/signal-desktop/libEGL.so
install -Dm755 release/linux-%{arch}unpacked/libGLESv2.so %{buildroot}%{_libdir}/signal-desktop/libGLESv2.so
install -Dm755 release/linux-%{arch}unpacked/libffmpeg.so %{buildroot}%{_libdir}/signal-desktop/libffmpeg.so
install -Dm755 release/linux-%{arch}unpacked/libvk_swiftshader.so %{buildroot}%{_libdir}/signal-desktop/libvk_swiftshader.so
install -Dm755 release/linux-%{arch}unpacked/libvulkan.so.1 %{buildroot}%{_libdir}/signal-desktop/libvulkan.so.1
install -Dm644 release/linux-%{arch}unpacked/icudtl.dat %{buildroot}%{_libdir}/signal-desktop/icudtl.dat
install -Dm644 release/linux-%{arch}unpacked/v8_context_snapshot.bin %{buildroot}%{_libdir}/signal-desktop/v8_context_snapshot.bin
install -Dm644 release/linux-%{arch}unpacked/chrome_100_percent.pak %{buildroot}%{_libdir}/signal-desktop/chrome_100_percent.pak
install -Dm644 release/linux-%{arch}unpacked/chrome_200_percent.pak %{buildroot}%{_libdir}/signal-desktop/chrome_200_percent.pak
install -Dm644 release/linux-%{arch}unpacked/resources.pak %{buildroot}%{_libdir}/signal-desktop/resources.pak
install -Dm644 release/linux-%{arch}unpacked/vk_swiftshader_icd.json %{buildroot}%{_libdir}/signal-desktop/vk_swiftshader_icd.json
install -Dm644 release/linux-%{arch}unpacked/resources/app.asar %{buildroot}%{_libdir}/signal-desktop/resources/app.asar
cp -r release/linux-%{arch}unpacked/resources/app.asar.unpacked %{buildroot}%{_libdir}/signal-desktop/resources/
%electron_install -i signal -l -I build/icons/png
install -Dm755 release/linux-%{arch}unpacked/chrome-sandbox %{buildroot}%{_libdir}/signal-desktop/chrome-sandbox
install -Dm755 release/linux-%{arch}unpacked/chrome_crashpad_handler %{buildroot}%{_libdir}/signal-desktop/chrome_crashpad_handler
%desktop_file_install %{SOURCE1}
install -Dm755 release/linux-%{arch}unpacked/signal-desktop %{buildroot}%{_libdir}/signal-desktop/signal-desktop
for policy in org.signalapp.view-aep.policy org.signalapp.enable-backups.policy; do
install -Dm644 $OUTDIR/resources/$policy %{buildroot}%{_datadir}/polkit-1/rules.d/$policy
rm $OUTDIR/resources/$policy
done
install -Dm644 release/linux-%{arch}unpacked/resources/org.signalapp.view-aep.policy %{buildroot}%{_datadir}/polkit-1/rules.d/org.signalapp.view-aep.policy
install -Dm644 release/linux-%{arch}unpacked/resources/org.signalapp.enable-backups.policy %{buildroot}%{_datadir}/polkit-1/rules.d/org.signalapp.enable-backups.policy
%terra_appstream -o %{SOURCE2}
install -Dm644 build/icons/png/1024x1024.png %{buildroot}%{_iconsdir}/hicolor/1024x1024/apps/signal.png
install -Dm644 build/icons/png/128x128.png %{buildroot}%{_iconsdir}/hicolor/128x128/apps/signal.png
install -Dm644 build/icons/png/16x16.png %{buildroot}%{_iconsdir}/hicolor/16x16/apps/signal.png
install -Dm644 build/icons/png/24x24.png %{buildroot}%{_iconsdir}/hicolor/24x24/apps/signal.png
install -Dm644 build/icons/png/256x256.png %{buildroot}%{_iconsdir}/hicolor/256x256/apps/signal.png
install -Dm644 build/icons/png/32x32.png %{buildroot}%{_iconsdir}/hicolor/32x32/apps/signal.png
install -Dm644 build/icons/png/48x48.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/signal.png
install -Dm644 build/icons/png/512x512.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/signal.png
install -Dm644 build/icons/png/64x64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/signal.png
install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/applications/signal.desktop
mkdir -p %{buildroot}%{_bindir}
ln -s %{_libdir}/signal-desktop/signal-desktop %{buildroot}%{_bindir}/signal-desktop
%check
%desktop_file_validate %{buildroot}%{_appsdir}/signal.desktop
%files
%license LICENSE
%doc README.md CONTRIBUTING.md ACKNOWLEDGMENTS.md
%license release/linux-%{arch}unpacked/LICENSE.electron.txt
%license release/linux-%{arch}unpacked/LICENSES.chromium.html
%license bundled_licenses/*
%{_bindir}/signal-desktop
%{_libdir}/signal-desktop/
%{_datadir}/polkit-1/rules.d/org.signalapp.view-aep.policy
%{_datadir}/polkit-1/rules.d/org.signalapp.enable-backups.policy
%{_datadir}/applications/signal.desktop
%{_iconsdir}/hicolor/1024x1024/apps/signal.png
%{_iconsdir}/hicolor/128x128/apps/signal.png
%{_iconsdir}/hicolor/16x16/apps/signal.png
%{_iconsdir}/hicolor/24x24/apps/signal.png
%{_iconsdir}/hicolor/256x256/apps/signal.png
%{_iconsdir}/hicolor/32x32/apps/signal.png
%{_iconsdir}/hicolor/48x48/apps/signal.png
%{_iconsdir}/hicolor/512x512/apps/signal.png
%{_iconsdir}/hicolor/64x64/apps/signal.png
%{_appsdir}/signal.desktop
%{_hicolordir}/*x*/apps/signal.png
%{_metainfodir}/org.signal.Signal.metainfo.xml
%changelog
* Mon Dec 22 2025 Owen Zimmerman <owen@fyralabs.com>
- Use more electron macros, correct build failures
* Wed Dec 10 2025 Owen Zimmerman <owen@fyralabs.com>
- Add metainfo
* Tue Nov 11 2025 Owen Zimmerman <owen@fyralabs.com>
- Add more Requires:, fix electron_license macro application, fix some formatting
* Fri Aug 8 2025 june-fish <git@june.fish>
- Initial Package