# Telegram Desktop's constants... %global appname 64Gram # Reducing debuginfo verbosity... %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') Name: 64Gram Version: 1.0.85 Release: 2%{?dist} # Application and 3rd-party modules licensing: # * Telegram Desktop - GPL-3.0-or-later with OpenSSL exception -- main tarball; # * tg_owt - BSD-3-Clause AND BSD-2-Clause AND Apache-2.0 AND MIT AND LicenseRef-Fedora-Public-Domain -- static dependency; # * rlottie - LGPL-2.1-or-later AND AND FTL AND BSD-3-Clause -- static dependency; # * cld3 - Apache-2.0 -- static dependency; # * qt_functions.cpp - LGPL-3.0-only -- build-time dependency; # * open-sans-fonts - Apache-2.0 -- bundled font; # * vazirmatn-fonts - OFL-1.1 -- bundled font. License: GPL-3.0-or-later AND BSD-3-Clause AND BSD-2-Clause AND Apache-2.0 AND MIT AND LicenseRef-Fedora-Public-Domain AND LGPL-2.1-or-later AND FTL AND MPL-1.1 AND LGPL-3.0-only AND OFL-1.1 URL: https://github.com/TDesktop-x64/tdesktop Summary: Unofficial Telegram Desktop client Source0: %{url}/releases/download/v%{version}/%{appname}-%{version}-full.tar.gz Patch0: 0001-disable-autoupdate.patch # Telegram Desktop require more than 8 GB of RAM on linking stage. # Disabling all low-memory architectures. ExclusiveArch: x86_64 aarch64 BuildRequires: cmake(Microsoft.GSL) BuildRequires: cmake(OpenAL) BuildRequires: cmake(Qt6Concurrent) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Core5Compat) BuildRequires: cmake(Qt6DBus) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6Network) BuildRequires: cmake(Qt6OpenGL) BuildRequires: cmake(Qt6OpenGLWidgets) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6WaylandClient) BuildRequires: cmake(Qt6Widgets) BuildRequires: cmake(range-v3) BuildRequires: cmake(tg_owt) BuildRequires: cmake(tl-expected) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(glibmm-2.68) >= 2.76.0 BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(hunspell) BuildRequires: pkgconfig(jemalloc) BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavfilter) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libcrypto) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libswresample) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libxxhash) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(protobuf) BuildRequires: pkgconfig(protobuf-lite) BuildRequires: pkgconfig(rnnoise) BuildRequires: pkgconfig(vpx) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(webkitgtk-6.0) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-keysyms) BuildRequires: pkgconfig(xcb-record) BuildRequires: pkgconfig(xcb-screensaver) BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: ffmpeg-free-devel BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: libappstream-glib BuildRequires: libatomic BuildRequires: libdispatch-devel BuildRequires: libqrcodegencpp-devel BuildRequires: libstdc++-devel BuildRequires: minizip-compat-devel BuildRequires: ninja-build BuildRequires: python3 BuildRequires: boost-devel BuildRequires: fmt-devel BuildRequires: gobject-introspection-devel BuildRequires: qt6-qtbase-private-devel BuildRequires: qt6-qtbase-static BuildRequires: dos2unix %{?_qt6:Requires: %{_qt6}%{?_isa} = %{_qt6_version}} Requires: hicolor-icon-theme Requires: qt6-qtimageformats%{?_isa} Requires: webkitgtk6.0%{?_isa} Conflicts: telegram-desktop%{?_isa} # Short alias for the main package... Provides: telegram = %{?epoch:%{epoch}:}%{version}-%{release} Provides: telegram%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} # Virtual provides for bundled libraries... Provides: bundled(cld3) = 3.0.13~gitb48dc46 Provides: bundled(kf5-kcoreaddons) = 5.106.0 Provides: bundled(libtgvoip) = 2.4.4~git7c46f4c Provides: bundled(open-sans-fonts) = 1.10 Provides: bundled(plasma-wayland-protocols) = 1.6.0 Provides: bundled(rlottie) = 0~git8c69fc2 Provides: bundled(vazirmatn-fonts) = 27.2.2 %description Telegram is a messaging app with a focus on speed and security, it’s super fast, simple and free. You can use Telegram on all your devices at the same time — your messages sync seamlessly across any number of your phones, tablets or computers. With Telegram, you can send messages, photos, videos and files of any type (doc, zip, mp3, etc), as well as create groups for up to 50,000 people or channels for broadcasting to unlimited audiences. You can write to your phone contacts and find people by their usernames. As a result, Telegram is like SMS and email combined — and can take care of all your personal or business messaging needs. %prep # Unpacking Telegram Desktop source archive... %autosetup -n %{appname}-%{version}-full -p1 -N # Unbundling libraries... rm -rf Telegram/ThirdParty/{GSL,QR,dispatch,expected,fcitx-qt5,fcitx5-qt,hime,hunspell,jemalloc,kimageformats,lz4,minizip,nimf,range-v3,xxHash} # 64Gram: fix inconsistent line ending dos2unix LICENSE LEGAL features.md changelog.txt README.md lib/xdg/* find . -not -type d -exec file "{}" ";" -print0 | grep -z CRLF | cut -d':' -z -f1 | xargs -0 dos2unix %autopatch -p1 %build # Building Telegram Desktop using cmake... %cmake -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_AR=%{_bindir}/gcc-ar \ -DCMAKE_RANLIB=%{_bindir}/gcc-ranlib \ -DCMAKE_NM=%{_bindir}/gcc-nm \ -DTDESKTOP_API_ID=611335 \ -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c \ -DTDESKTOP_DISABLE_AUTOUPDATE:BOOL=ON \ -DDESKTOP_APP_USE_PACKAGED:BOOL=ON \ -DDESKTOP_APP_USE_PACKAGED_FONTS:BOOL=OFF \ -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION:BOOL=OFF \ -DDESKTOP_APP_DISABLE_X11_INTEGRATION:BOOL=OFF \ -DDESKTOP_APP_DISABLE_CRASH_REPORTS:BOOL=ON %cmake_build %install %cmake_install %check appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %files %doc README.md changelog.txt features.md %license LICENSE LEGAL %{_bindir}/telegram-desktop %{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/*/apps/*.png %{_metainfodir}/*.metainfo.xml %changelog * Mon Jul 17 2023 Zephyr Lykos - 1.0.85-2 - Rebuild for Qt 6 private API * Sat Jun 10 2023 Zephyr Lykos - 1.0.85-1 - Updated to version 1.0.85 * Thu Jun 01 2023 Zephyr Lykos - 1.0.83-2 - Disable builtin updater - Switch to ffmpeg-free * Mon May 29 2023 Zephyr Lykos - 1.0.83-1 - Switch to 64Gram fork * Sun May 07 2023 Vasiliy Glazov - 4.8.1 -2 - Rebuild for new Qt 6 * Tue Apr 25 2023 Vitaly Zaitsev - 4.8.1-1 - Updated to version 4.8.1. * Sat Apr 22 2023 Vitaly Zaitsev - 4.8.0-1 - Updated to version 4.8.0. * Thu Mar 30 2023 Vitaly Zaitsev - 4.7.1-2 - Rebuilt due to Qt 6.4.3 update. * Wed Mar 22 2023 Vitaly Zaitsev - 4.7.1-1 - Updated to version 4.7.1. * Mon Mar 20 2023 Vitaly Zaitsev - 4.7.0-1 - Updated to version 4.7.0. - Switched to modern ffmpeg and OpenSSL. * Sun Feb 26 2023 Vitaly Zaitsev - 4.6.5-1 - Updated to version 4.6.5. * Thu Feb 16 2023 Vitaly Zaitsev - 4.6.3-1 - Updated to version 4.6.3. * Thu Feb 09 2023 Vitaly Zaitsev - 4.6.2-1 - Updated to version 4.6.2. * Tue Feb 07 2023 Vitaly Zaitsev - 4.6.1-1 - Updated to version 4.6.1. * Mon Feb 06 2023 Vitaly Zaitsev - 4.6.0-1 - Updated to version 4.6.0. * Wed Feb 01 2023 Vitaly Zaitsev - 4.5.3-2 - Rebuilt due to Qt 6.4.2 update. * Sat Jan 07 2023 Vitaly Zaitsev - 4.5.3-1 - Updated to version 4.5.3. * Wed Jan 04 2023 Vitaly Zaitsev - 4.5.2-2 - Removed explicit dependency on compat-ffmpeg4. * Tue Jan 03 2023 Vitaly Zaitsev - 4.5.2-1 - Updated to version 4.5.2. * Mon Jan 02 2023 Vitaly Zaitsev - 4.5.1-1 - Updated to version 4.5.1. * Sat Dec 31 2022 Vitaly Zaitsev - 4.5.0-1 - Updated to version 4.5.0. * Thu Dec 08 2022 Vitaly Zaitsev - 4.4.1-1 - Updated to version 4.4.1. * Sat Nov 26 2022 Vitaly Zaitsev - 4.3.4-1 - Updated to version 4.3.4. * Tue Nov 08 2022 Vitaly Zaitsev - 4.3.1-1 - Updated to version 4.3.1. * Sun Nov 06 2022 Vitaly Zaitsev - 4.3.0-1 - Updated to version 4.3.0.