Name: stoat Version: %{lua: local f = io.popen("curl -s https://raw.githubusercontent.com/stoatchat/for-desktop/main/package.json | grep '\"version\"' | head -n1 | sed 's/.*\"version\": \"\\([^\"]*\\)\".*/\\1/'") local v = f:read("*a") or "" f:close() v = v:gsub("%s+", "") print(v) } Release: 1%{?dist} Summary: Stoat — official Stoat desktop client License: AGPL-3.0 URL: https://github.com/stoatchat/for-desktop Source0: https://codeload.github.com/stoatchat/for-desktop/tar.gz/refs/heads/main BuildRequires: nodejs >= 18 BuildRequires: pnpm BuildRequires: git BuildRequires: desktop-file-utils Requires: gtk3 Requires: libXScrnSaver Requires: libnotify %description Stoat is the official Electron-based desktop client for the Stoat chat platform. %prep rm -rf stoat git clone --depth 1 --recursive https://github.com/stoatchat/for-desktop.git stoat cd stoat git -c submodule."assets".update=checkout submodule update --init assets %build cd %{_builddir}/stoat pnpm i --frozen-lockfile pnpm package %install # Create necessary directories mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/applications mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps mkdir -p %{buildroot}%{_datadir}/stoat mkdir -p %{buildroot}/usr/share/licenses/stoat/ mkdir -p %{buildroot}%{_docdir}/stoat # Copy Stoat binary and resources cp -a %{_builddir}/stoat/out/Stoat-linux-x64/* %{buildroot}%{_datadir}/stoat/ # Set RPATH so Stoat finds its bundled libraries %{__patchelf} --set-rpath \$ORIGIN %{buildroot}%{_datadir}/stoat/stoat-desktop # Symlink stoat binary into /usr/bin ln -s %{_datadir}/stoat/stoat-desktop %{buildroot}%{_bindir}/stoat # Create .desktop file cat > %{buildroot}%{_datadir}/applications/stoat.desktop << "EOF" [Desktop Entry] Name=Stoat Comment=Stoat — official desktop client Exec=/usr/bin/stoat Icon=stoat Terminal=false Type=Application Categories=Network;Chat; StartupWMClass=Stoat EOF # Fetch docs and license curl -sL https://raw.githubusercontent.com/stoatchat/for-desktop/main/README.md \ -o %{buildroot}/usr/share/doc/stoat/README.md curl -sL https://raw.githubusercontent.com/stoatchat/for-desktop/main/LICENSE \ -o %{buildroot}/usr/share/licenses/stoat/LICENSE %files %license /usr/share/licenses/stoat/LICENSE %doc %{_docdir}/stoat/README.md %{_bindir}/stoat %{_datadir}/applications/stoat.desktop %{_datadir}/stoat/* %changelog * Sat Nov 09 2024 Copr Auto Build - Automated build from latest upstream master