%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 (minimal set - most will be bundled) 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) # 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 - And many other improvements This is a stable release from official GitHub releases. Built from tag: v%{version} %prep %autosetup -n %{name}-%{version} # Verify that submodules are present echo "Checking for submodules..." if [ ! -f "Telegram/lib_ui/ui/ui.style" ]; then echo "WARNING: Submodules may not be fully initialized" echo "This may cause build failures" fi # Prepare directory structure mkdir -p out/Release %build # Set environment 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 for dependency management pip3 install --user poetry || true # Run prepare script (should work since submodules are in tarball) cd Telegram echo "Running prepare script..." bash build/prepare/linux.sh || echo "Prepare script completed with warnings" # Configure build cd .. 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 to reduce size strip --strip-unneeded out/Release/bin/Telegram || true %install # Create directory structure 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 - try multiple sources 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 # Fallback to any available icon 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 - Update to v6.2.4 stable release * Thu Nov 21 2024 hilltty <49129010+hilltty@users.noreply.github.com> - 6.2.4-0 - Initial stable release package for COPR