%global debug_package %{nil} Name: google-chat-client Version: 6.2.2 Release: 1%{?dist} Summary: Unofficial alternative Google Chat desktop app License: WTFPL URL: https://codeberg.org/chf/google-chat-client Source0: %{name}-%{version}.tar.gz ExclusiveArch: x86_64 BuildRequires: nodejs >= 20 BuildRequires: npm # electron-builder's vendored fpm (a prebuilt Ruby binary) is linked # against the legacy libcrypt.so.1, which Fedora no longer ships by # default (replaced by libxcrypt). BuildRequires: libxcrypt-compat Requires: gtk3 Requires: libnotify Requires: nss Requires: libXScrnSaver Requires: (libXtst or libXtst6) Requires: xdg-utils Requires: at-spi2-core Requires: (libuuid or libuuid1) Requires: xdg-desktop-portal Requires(post): desktop-file-utils, shared-mime-info Requires(postun): desktop-file-utils, shared-mime-info # The payload is a bundled Electron app (prebuilt Chromium binary plus # vendored node_modules); rpmbuild's automatic ELF/script dependency # scanner chokes on it and produces bogus Requires/Provides. All the # native libraries actually needed are already listed above explicitly. AutoReqProv: no %description Unofficial, Electron-based desktop client for Google Chat with tray icon, notifications and multi-account support. %prep %autosetup -n %{name}-%{version} %build npm ci --no-audit --no-fund npm run dist %install rm -rf %{buildroot} mkdir -p %{buildroot} rpm2cpio dist/*.rpm | ( cd %{buildroot} && cpio -idm ) # electron-builder doesn't generate AppStream metadata for the Linux rpm # target, so GNOME Software has nothing to show under "Details" without # this; install it ourselves. install -Dm644 assets/google-chat-client.metainfo.xml \ %{buildroot}%{_datadir}/metainfo/google-chat-client.metainfo.xml ( cd %{buildroot} && find . \( -type f -o -type l \) ) | sed 's|^\.||' > files.list %files -f files.list # electron-builder's own fpm-generated rpm carries these as %post/%postun # scriptlets; rpm2cpio/cpio only copies the file payload, so we have to # restore the equivalent logic here by hand (the AppArmor bits from the # original Ubuntu-oriented script are dropped, they don't apply on Fedora). %post ln -sf '/opt/%{name}/%{name}' '/usr/bin/%{name}' if ! { [[ -L /proc/self/ns/user ]] && unshare --user true; }; then chmod 4755 '/opt/%{name}/chrome-sandbox' || true else chmod 0755 '/opt/%{name}/chrome-sandbox' || true fi update-mime-database /usr/share/mime &> /dev/null || : update-desktop-database /usr/share/applications &> /dev/null || : %postun if [ $1 -eq 0 ]; then rm -f '/usr/bin/%{name}' fi update-mime-database /usr/share/mime &> /dev/null || : update-desktop-database /usr/share/applications &> /dev/null || : %changelog * Mon Oct 05 2026 Christian - 6.2.2-1 - Auto-enable GNOME Do Not Disturb while screen sharing, and disable it again once sharing stops - Remove the tray icon's own Notifications toggle (the app menu still has one) - Fix Meet windows sometimes never auto-closing after the call ends - Silence the notification sound, which was causing brief microphone glitches during a Meet call - Update electron (44.4.5 -> 44.5.1) * Sat Sep 26 2026 Christian - 6.1.2-3 - Update electron (44.2.0 -> 44.4.5) and electron-context-menu (5.0.0 -> 5.1.0) - Open non-Google links in the system browser instead of an in-app window - Narrow the in-app allowlist and add a temporary "disable external-link guard" option * Sat Sep 26 2026 Christian - 6.1.2-2 - Ship real Git LFS PNG content instead of pointer stubs (broken tray/app icons) - Add AppStream metainfo so GNOME Software shows app details - Restore postinstall/postuninstall scriptlets (symlink, chrome-sandbox perms, mime/desktop db) * Sat Sep 26 2026 Christian - 6.1.2-1 - Initial Copr packaging, built directly from the upstream electron-builder rpm target