%global ayugram_api_id 2040 %global ayugram_api_hash b18441a1ff607e10a989891a5462e627 %global debug_package %{nil} Name: ayugram-desktop Version: 6.2.4 Release: 1%{?dist} Summary: AyuGram Desktop - Telegram Desktop fork with enhanced features License: GPL-3.0-or-later URL: https://github.com/AyuGram/AyuGramDesktop Source0: %{name}-%{version}.tar.gz # Essential build tools BuildRequires: cmake >= 3.16 BuildRequires: gcc-c++ >= 10 BuildRequires: ninja-build BuildRequires: python3 >= 3.7 BuildRequires: python3-pip BuildRequires: git BuildRequires: perl BuildRequires: yasm BuildRequires: nasm BuildRequires: desktop-file-utils BuildRequires: libappstream-glib # System libraries BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-keysyms) BuildRequires: pkgconfig(xcb-record) BuildRequires: pkgconfig(xcb-screensaver) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glibmm-2.4) # Runtime dependencies Requires: hicolor-icon-theme Requires: libxcb Requires: libX11 %description AyuGram Desktop is an unofficial Telegram Desktop fork with additional features such as: - Enhanced privacy options and Ghost mode - Custom themes support - Message filters and translator - Additional message features - Improved UI/UX customization %prep # Explicitly match the directory name created by the Makefile %autosetup -n %{name}-%{version} -p1 # Verify submodules if [ ! -f "Telegram/lib_ui/ui/ui.style" ]; then echo "ERROR: Submodules missing! Build will fail." exit 1 fi mkdir -p out/Release %build export LANG=en_US.UTF-8 export TDESKTOP_DISABLE_CRASH_REPORTS=1 export DESKTOP_APP_USE_PACKAGED=OFF export DESKTOP_APP_DISABLE_AUTOUPDATE=ON # Install poetry (requires network access in Copr) pip3 install --user poetry || true export PATH=$PATH:$HOME/.local/bin # Run prepare script cd Telegram bash build/prepare/linux.sh cd .. # Configure cmake -B out/Release -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DTDESKTOP_API_ID=%{ayugram_api_id} \ -DTDESKTOP_API_HASH=%{ayugram_api_hash} \ -DDESKTOP_APP_DISABLE_AUTOUPDATE=ON \ -DDESKTOP_APP_USE_PACKAGED=OFF \ -DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=OFF \ -DCMAKE_C_FLAGS="%{optflags}" \ -DCMAKE_CXX_FLAGS="%{optflags}" \ Telegram # Build cmake --build out/Release --parallel %{_smp_build_ncpus} # Strip binary strip --strip-unneeded out/Release/bin/Telegram || true %install install -dm755 %{buildroot}%{_bindir} install -dm755 %{buildroot}%{_datadir}/applications install -dm755 %{buildroot}%{_datadir}/icons/hicolor/512x512/apps install -dm755 %{buildroot}%{_datadir}/pixmaps install -dm755 %{buildroot}%{_datadir}/metainfo # Install binary install -Dm755 out/Release/bin/Telegram %{buildroot}%{_bindir}/ayugram-desktop # Create desktop file cat > %{buildroot}%{_datadir}/applications/ayugram-desktop.desktop << 'EOF' [Desktop Entry] Version=1.0 Name=AyuGram Desktop GenericName=Telegram Client Comment=Fast and secure messaging application (AyuGram fork) TryExec=ayugram-desktop Exec=ayugram-desktop -- %u Icon=ayugram Terminal=false StartupWMClass=AyuGram Type=Application Categories=Network;InstantMessaging;Qt; MimeType=x-scheme-handler/tg; Keywords=tg;chat;im;messaging;messenger;telegram;ayugram; X-GNOME-UsesNotifications=true X-Desktop-File-Install-Version=0.24 EOF # Create AppStream metadata cat > %{buildroot}%{_datadir}/metainfo/ayugram-desktop.metainfo.xml << 'EOF' ayugram-desktop CC0-1.0 GPL-3.0-or-later AyuGram Desktop Telegram Desktop fork with enhanced features

AyuGram Desktop is an unofficial Telegram Desktop fork that provides additional features like Ghost mode, message filters, translator, enhanced privacy options, and extensive UI customization.

ayugram-desktop.desktop https://docs.ayugram.one/ https://github.com/AyuGram/AyuGramDesktop/issues
EOF # Install icon if [ -f Telegram/Resources/art/icon512@2x.png ]; then install -Dm644 Telegram/Resources/art/icon512@2x.png \ %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/ayugram.png elif [ -f Telegram/Resources/art/icon512.png ]; then install -Dm644 Telegram/Resources/art/icon512.png \ %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/ayugram.png else find Telegram/Resources/art -name "icon*.png" | head -1 | \ xargs -I {} install -Dm644 {} %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/ayugram.png || true fi # Symlink for pixmaps ln -s ../icons/hicolor/512x512/apps/ayugram.png \ %{buildroot}%{_datadir}/pixmaps/ayugram.png || true %check desktop-file-validate %{buildroot}%{_datadir}/applications/ayugram-desktop.desktop || true appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/ayugram-desktop.metainfo.xml || true %files %license LICENSE %doc README.md CHANGELOG.md %{_bindir}/ayugram-desktop %{_datadir}/applications/ayugram-desktop.desktop %{_datadir}/icons/hicolor/*/apps/ayugram.png %{_datadir}/pixmaps/ayugram.png %{_datadir}/metainfo/ayugram-desktop.metainfo.xml %changelog * Thu Nov 21 2024 hilltty <49129010+hilltty@users.noreply.github.com> - 6.2.4-1 - Fixed build structure and dependencies