# Disable build-id checks and stripping — this is a binary repackage %global _missing_build_ids_terminate_build 0 %global _enable_debug_packages 0 %global debug_package %{nil} %global __os_install_post %{nil} %global __strip /bin/true Name: claude-desktop-hardened Version: 1.1.9669 Release: 13%{?dist} Summary: Claude Desktop for Linux (hardened) License: Proprietary URL: https://github.com/techtoboggan/claude-desktop-hardened-linux Source0: claude-desktop-hardened-1.1.9669.tar.gz AutoReqProv: no ExclusiveArch: x86_64 Requires: nodejs >= 18.0.0, xdg-utils, bubblewrap Recommends: gnome-keyring # X11 Computer Use tools Suggests: wmctrl, xdotool, scrot, xclip, xrandr # Wayland Computer Use tools Suggests: grim, slurp, wl-clipboard, ydotool, wlr-randr Provides: claude-desktop = %{version}-%{release} Conflicts: claude-desktop %description Claude is an AI assistant from Anthropic. This package provides the desktop interface for Claude with Cowork (Local Agent Mode) support for Linux. Includes bubblewrap sandboxing, credential redaction, and bundled Claude Code CLI. %package computeruse-wayland Summary: Computer Use dependencies for Claude Desktop (Wayland) Requires: claude-desktop-hardened = %{version}-%{release} Requires: grim Requires: ydotool Requires: wl-clipboard Requires: slurp %description computeruse-wayland Wayland tools for Computer Use: grim, ydotool, wl-clipboard, slurp. After installing: sudo systemctl enable --now ydotool %package computeruse-x11 Summary: Computer Use dependencies for Claude Desktop (X11) Requires: claude-desktop-hardened = %{version}-%{release} Requires: xdotool Requires: scrot Requires: wmctrl Requires: xclip %description computeruse-x11 X11 tools for Computer Use: xdotool, scrot, wmctrl, xclip. %package computeruse Summary: Computer Use dependencies for Claude Desktop (all display servers) Requires: claude-desktop-hardened = %{version}-%{release} Requires: grim Requires: ydotool Requires: wl-clipboard Requires: slurp Requires: xdotool Requires: scrot Requires: wmctrl Requires: xclip %description computeruse Meta-package: installs all Computer Use dependencies for Wayland and X11. sudo dnf install claude-desktop-hardened-computeruse %prep %setup -c -T tar xzf %{SOURCE0} %install cp -a . %{buildroot}/ %post gtk-update-icon-cache -f -t %{_datadir}/icons/hicolor 2>/dev/null || : update-desktop-database %{_datadir}/applications 2>/dev/null || : chmod +x %{_bindir}/claude 2>/dev/null || : # Set chrome-sandbox setuid for Electron sandbox for p in /usr/lib64/claude-desktop-hardened/app.asar.unpacked/node_modules/electron/dist/chrome-sandbox \ "$(dirname "$(command -v electron 2>/dev/null)")/../lib/node_modules/electron/dist/chrome-sandbox"; do if [ -f "$p" ]; then chown root:root "$p" && chmod 4755 "$p"; break; fi done || : echo "" echo "Claude Desktop Hardened installed." echo "To enable Computer Use: sudo dnf install claude-desktop-hardened-computeruse" echo "Run 'claude-desktop-hardened --doctor' to check your setup." %postun gtk-update-icon-cache -f -t %{_datadir}/icons/hicolor 2>/dev/null || : update-desktop-database %{_datadir}/applications 2>/dev/null || : %files %{_bindir}/claude-desktop-hardened %{_bindir}/claude /usr/lib64/claude-desktop-hardened/ %{_datadir}/applications/claude-desktop-hardened.desktop %{_datadir}/icons/hicolor/*/apps/claude-desktop-hardened.png %{_datadir}/claude-desktop-hardened/ %files computeruse-wayland %files computeruse-x11 %files computeruse