diff --git a/anda/apps/signal-desktop/no-prebuilt-binaries.patch b/anda/apps/signal-desktop/no-prebuilt-binaries.patch new file mode 100644 index 0000000000..27d72a53e0 --- /dev/null +++ b/anda/apps/signal-desktop/no-prebuilt-binaries.patch @@ -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": [ + { diff --git a/anda/apps/signal-desktop/org.signal.Signal.metainfo.xml b/anda/apps/signal-desktop/org.signal.Signal.metainfo.xml new file mode 100644 index 0000000000..510baf6ffb --- /dev/null +++ b/anda/apps/signal-desktop/org.signal.Signal.metainfo.xml @@ -0,0 +1,38 @@ + + + org.signal.Signal + Signal Desktop + AGPL-3.0-only + /usr/share/icons/hicolor/1024x1024/apps/signal.png + + Signal Foundation + + A private messenger for Windows, macOS, and Linux + CC0-1.0 + https://signal.org/ + https://support.signal.org/ + https://signal.org/donate/ + https://github.com/signalapp/Signal-Desktop/blob/main/CONTRIBUTING.md + org.signal.Signal.desktop + +

+ Signal Desktop links with Signal on Android or iOS and lets you message from your Windows, macOS, and Linux computers. +

+
+ + signal-desktop + + + signal + + + + https://web.archive.org/web/20240219132433if_/https://signal.org/assets/images/screenshots/download-desktop-windows.png + Typical view of the window (Windows version) + + +
diff --git a/anda/apps/signal-desktop/signal-desktop.spec b/anda/apps/signal-desktop/signal-desktop.spec index a9258c9513..e2ca49ac90 100644 --- a/anda/apps/signal-desktop/signal-desktop.spec +++ b/anda/apps/signal-desktop/signal-desktop.spec @@ -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 +- Use more electron macros, correct build failures + +* Wed Dec 10 2025 Owen Zimmerman +- Add metainfo + * Tue Nov 11 2025 Owen Zimmerman - Add more Requires:, fix electron_license macro application, fix some formatting + * Fri Aug 8 2025 june-fish - Initial Package