telegram-desktop/telegram-desktop.spec
Marcel Kuehlhorn 335419547c Accepting request 921993 from home:tux93:branches:server:messaging
- Update to 3.1.1
- Update tg_owt
- Remove 0003-prioritize-gtk2.patch, the file it was applied to
  was removed upstream
- Enable GCC11 again

--
old: server:messaging/telegram-desktop
new: home:tux93:branches:server:messaging/telegram-desktop rev None
Index: telegram-desktop.changes
===================================================================
--- telegram-desktop.changes (revision 200)
+++ telegram-desktop.changes (revision 2)
@@ -1,4 +1,50 @@
 -------------------------------------------------------------------
+Tue Sep 28 12:33:30 UTC 2021 - Marcel Kuehlhorn <tux93@opensuse.org>
+
+- Update to 3.1.1
+  * Choose one from dozens of new gorgeous animated backgrounds in
+    Chat Settings > Chat background.
+  * Tile chat background patterns horizontally.
+  * Broadcast video and share your screen to an unlimited number of
+    viewers.
+  * To begin, tap the Live Stream button in the title bar of a
+    community where you are an admin.
+  * Tap the "Forward Message" label above the input field to change
+    how messages will be sent.
+  * Hide or show the original sender's name.
+  * Remove or keep captions from media messages.
+  * See how many unread comments there are when opening a
+    channel's comments.
+  * Check who've seen your message in small groups from the
+    context menu.
+  * Enable recording with video in live streams and video chats.
+  * Add a "Close to Taskbar" option when tray icon is disabled.
+  * Add support for Emoji 13.1.
+  * Some animated emoji now have extra effects.
+  * Send fireworks tada, balloon, :like:, hankey or heart to any
+    private chat, then click on the animated emoji to launch the
+    effect.
+  * If your chat partner also has the chat open, you will both see
+    the effects.
+  * See the "Watching" status when your chat partner is enjoying
+    emoji effects with you.
+  * More interactive emoji coming soon.
+  * Right click one of your outgoing messages in small groups to see
+    who recently viewed it.
+  * To protect privacy, read receipts are only stored for 7 days
+    after the message was sent.
+  * Record video and audio from live broadcasts in your group
+    or channel.
+  * Admins can start recording from the '...' menu.
+  * Choose between recording in portrait or landscape orientation.
+  * Finished recordings are sent to the admin's Saved Messages and
+    can be easily shared.
+- Update tg_owt
+- Remove 0003-prioritize-gtk2.patch, the file it was applied to
+  was removed upstream
+- Enable GCC11 again
+
+-------------------------------------------------------------------
 Mon Aug 30 11:30:32 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
 
 - Enable build on armv6/armv7 since the build has been fixed
Index: telegram-desktop.spec
===================================================================
--- telegram-desktop.spec (revision 200)
+++ telegram-desktop.spec (revision 2)
@@ -21,8 +21,12 @@
 %define _lto_cflags %{nil}
 %endif
 
-# Temporarily stick to gcc10 to work around build failures
+# We need current gcc to build
+%if 0%{?suse_version} < 01550 && 0%{?is_opensuse}
 %bcond_without  fixed_gcc
+%else
+%bcond_with     fixed_gcc
+%endif
 
 %define __builder ninja
 
@@ -30,7 +34,7 @@
 %define _dwz_max_die_limit     200000000
 
 Name:           telegram-desktop
-Version:        2.9.0
+Version:        3.1.1
 Release:        0
 Summary:        Messaging application with a focus on speed and security
 License:        GPL-3.0-only
@@ -43,8 +47,6 @@
 Patch1:         0001-use-bundled-ranged-exptected-gsl.patch
 # PATCH-FIX-OPENSUSE
 Patch2:         0002-tg_owt-fix-name-confliction.patch
-# PATCH-FIX-OPENSUSE boo#1149986
-Patch3:         0003-prioritize-gtk2.patch
 # PATCH-FIX-OPENSUSE
 Patch4:         0004-use-dynamic-x-libraries.patch
 # PATCH-FIX-OPENSUSE
@@ -87,6 +89,7 @@
 BuildRequires:  cmake(KF5Wayland)
 BuildRequires:  pkgconfig(Qt5DBus) >= 5.15
 BuildRequires:  pkgconfig(Qt5Network) >= 5.15
+BuildRequires:  pkgconfig(Qt5Svg) >= 5.15
 BuildRequires:  pkgconfig(Qt5WaylandClient) >= 5.15
 BuildRequires:  pkgconfig(Qt5Widgets) >= 5.15
 BuildRequires:  pkgconfig(alsa)
@@ -163,7 +166,6 @@
 %prep
 %setup -q -n tdesktop-%{version}-full
 %patch1 -p1
-%patch3 -p1
 %patch4 -p1
 %patch5 -p1
 
Index: tg_owt-master.zip
===================================================================
Binary files tg_owt-master.zip (revision 200) and tg_owt-master.zip (revision 2) differ
Index: tdesktop-3.1.1-full.tar.gz
===================================================================
Binary file tdesktop-3.1.1-full.tar.gz (revision 2) added
Index: 0003-prioritize-gtk2.patch
===================================================================
--- 0003-prioritize-gtk2.patch (revision 200)
+++ 0003-prioritize-gtk2.patch (deleted)
@@ -1,19 +0,0 @@
-diff --git a/Telegram/lib_base/base/platform/linux/base_linux_gtk_integration.cpp b/Telegram/lib_base/base/platform/linux/base_linux_gtk_integration.cpp
-index 1b78bac..09c2ede 100644
---- a/Telegram/lib_base/base/platform/linux/base_linux_gtk_integration.cpp
-+++ b/Telegram/lib_base/base/platform/linux/base_linux_gtk_integration.cpp
-@@ -475,12 +475,12 @@ void GtkIntegration::load(const QString &allowedBackends, bool force) {
- 	DEBUG_LOG(("Icon theme: %1").arg(QIcon::themeName()));
- 	DEBUG_LOG(("Fallback icon theme: %1").arg(QIcon::fallbackThemeName()));
- 
--	if (LoadGtkLibrary(_lib, "gtk-3", 0)) {
-+	if (LoadGtkLibrary(_lib, "gtk-x11-2.0", 0)) {
- 		_private->loaded = _private->setupBase(_lib, allowedBackends);
- 	}
- 	if (!_private->loaded
- 		&& !_private->triedToInit
--		&& LoadGtkLibrary(_lib, "gtk-x11-2.0", 0)) {
-+		&& LoadGtkLibrary(_lib, "gtk-3", 0)) {
- 		_private->loaded = _private->setupBase(_lib, allowedBackends);
- 	}
- 
Index: tdesktop-2.9.0-full.tar.gz
===================================================================
Binary file tdesktop-2.9.0-full.tar.gz (revision 200) deleted

OBS-URL: https://build.opensuse.org/request/show/921993
OBS-URL: https://build.opensuse.org/package/show/server:messaging/telegram-desktop?expand=0&rev=201
2021-09-30 08:34:50 +00:00

234 lines
7.9 KiB
RPMSpec

#
# spec file for package telegram-desktop
#
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# Disable LTO on TW due to build failures
%if 0%{?suse_version} > 01500
%define _lto_cflags %{nil}
%endif
# We need current gcc to build
%if 0%{?suse_version} < 01550 && 0%{?is_opensuse}
%bcond_without fixed_gcc
%else
%bcond_with fixed_gcc
%endif
%define __builder ninja
%define _dwz_low_mem_die_limit 40000000
%define _dwz_max_die_limit 200000000
Name: telegram-desktop
Version: 3.1.1
Release: 0
Summary: Messaging application with a focus on speed and security
License: GPL-3.0-only
Group: Productivity/Networking/Instant Messenger
URL: https://github.com/telegramdesktop/tdesktop
Source0: https://github.com/telegramdesktop/tdesktop/releases/download/v%{version}/tdesktop-%{version}-full.tar.gz
# git clone --recurse-submodules https://github.com/desktop-app/tg_owt.git tg_owt-master
Source1: tg_owt-master.zip
# PATCH-FIX-OPENSUSE
Patch1: 0001-use-bundled-ranged-exptected-gsl.patch
# PATCH-FIX-OPENSUSE
Patch2: 0002-tg_owt-fix-name-confliction.patch
# PATCH-FIX-OPENSUSE
Patch4: 0004-use-dynamic-x-libraries.patch
# PATCH-FIX-OPENSUSE
Patch5: 0005-add-wayland-include-path.patch
# There is an (incomplete) patch available for part of the source:
# https://github.com/desktop-app/lib_base.git 3582bca53a1e195a31760978dc41f67ce44fc7e4
# but tdesktop itself still falls short, and it looks to be something
# that would affect all ILP32 platforms.
ExcludeArch: %ix86 aarch64_ilp32 ppc riscv32
BuildRequires: appstream-glib
BuildRequires: chrpath
BuildRequires: cmake >= 3.16
BuildRequires: desktop-file-utils
BuildRequires: enchant-devel
BuildRequires: ffmpeg-devel
BuildRequires: freetype-devel
%if %{with fixed_gcc}
BuildRequires: gcc10-c++
%else
BuildRequires: gcc-c++
%endif
BuildRequires: glibc-devel
BuildRequires: libQt5Core-private-headers-devel >= 5.15
BuildRequires: libQt5Gui-private-headers-devel >= 5.15
BuildRequires: libjpeg-devel
BuildRequires: liblz4-devel
BuildRequires: libqt5-qtbase-common-devel >= 5.15
BuildRequires: libqt5-qtimageformats-devel >= 5.15
BuildRequires: libqt5-qtwayland-private-headers-devel >= 5.15
BuildRequires: libwebrtc_audio_processing-devel
BuildRequires: ninja
BuildRequires: pkgconfig
BuildRequires: unzip
BuildRequires: wayland-devel
BuildRequires: webkit2gtk3-devel
BuildRequires: xorg-x11-devel
BuildRequires: xxhash-devel
BuildRequires: xz
BuildRequires: yasm
BuildRequires: cmake(KF5Wayland)
BuildRequires: pkgconfig(Qt5DBus) >= 5.15
BuildRequires: pkgconfig(Qt5Network) >= 5.15
BuildRequires: pkgconfig(Qt5Svg) >= 5.15
BuildRequires: pkgconfig(Qt5WaylandClient) >= 5.15
BuildRequires: pkgconfig(Qt5Widgets) >= 5.15
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(dbusmenu-qt5)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glibmm-2.4)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(hunspell)
BuildRequires: pkgconfig(jemalloc)
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavdevice)
BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libmng)
BuildRequires: pkgconfig(libpcre)
BuildRequires: pkgconfig(libpcre16)
BuildRequires: pkgconfig(libpcrecpp)
BuildRequires: pkgconfig(libpcreposix)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libproxy-1.0)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(libva-glx)
BuildRequires: pkgconfig(libva-x11)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(minizip)
BuildRequires: pkgconfig(mtdev)
BuildRequires: pkgconfig(openal)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(opusfile)
BuildRequires: pkgconfig(opusurl)
BuildRequires: pkgconfig(portaudio-2.0)
BuildRequires: pkgconfig(portaudiocpp)
BuildRequires: pkgconfig(rnnoise)
BuildRequires: pkgconfig(tslib)
BuildRequires: pkgconfig(vdpau)
BuildRequires: pkgconfig(xcb-ewmh)
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(xcb-image)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xcb-record)
BuildRequires: pkgconfig(xcb-renderutil)
BuildRequires: pkgconfig(xcb-util)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbcommon-x11)
BuildRequires: pkgconfig(zlib)
# Runtime requirements
Requires: hicolor-icon-theme
Requires: icu
Requires: libqt5-qtimageformats
# TDesktop can fall back to a simple GTK file picker but prefers the portal
Recommends: xdg-desktop-portal
Recommends: google-opensans-fonts
Recommends: libqt5-qtwayland
%description
Telegram is a non-profit cloud-based instant messaging service.
Users can send messages and exchange photos, videos, stickers, audio and files of any type.
Its client-side code is open-source software but the source code for recent versions is not
always immediately published, whereas its server-side code is closed-source and proprietary.
The service also provides APIs to independent developers.
%prep
%setup -q -n tdesktop-%{version}-full
%patch1 -p1
%patch4 -p1
%patch5 -p1
cd ../
unzip -q %{S:1}
mkdir Libraries
mv tg_owt-master Libraries/tg_owt
%patch2 -p2 -d Libraries/tg_owt
%build
%if %{with fixed_gcc}
export CC="/usr/bin/gcc-10"
export CXX="/usr/bin/g++-10"
%endif
# Fix build failures due to not finding installed headers for xkbcommon and wayland-client
export CXXFLAGS+="`pkg-config --cflags xkbcommon wayland-client`"
cd %{_builddir}/Libraries/tg_owt
mkdir -p out/Release
cd out/Release
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DTG_OWT_SPECIAL_TARGET=linux \
-DTG_OWT_LIBJPEG_INCLUDE_PATH=/usr/include \
-DTG_OWT_OPENSSL_INCLUDE_PATH=/usr/include/openssl \
-DTG_OWT_OPUS_INCLUDE_PATH=/usr/include/opus \
-DTG_OWT_FFMPEG_INCLUDE_PATH=/usr/include/ffmpeg \
../..
sed -i 's,gnu++2a,gnu++17,g' build.ninja
ninja
cd %{_builddir}/tdesktop-%{version}-full
# Use the official API key that telegram uses for their snap builds:
# https://github.com/telegramdesktop/tdesktop/blob/8fab9167beb2407c1153930ed03a4badd0c2b59f/snap/snapcraft.yaml#L87-L88
# Thanks to @primeos on Github.
%cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_BUILD_TYPE=Release \
-DTDESKTOP_API_ID=611335 \
-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c \
-DDESKTOP_APP_USE_GLIBC_WRAPS=OFF \
-DDESKTOP_APP_USE_PACKAGED=ON \
-DDESKTOP_APP_QTWAYLANDCLIENT_PRIVATE_HEADERS=OFF \
-DDESKTOP_APP_USE_PACKAGED_FONTS=ON \
-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \
-DTDESKTOP_LAUNCHER_BASENAME=%{name} \
-DDESKTOP_APP_SPECIAL_TARGET=""
%cmake_build
%install
%cmake_install
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml
%files
%license LICENSE LEGAL
%doc README.md changelog.txt
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/metainfo/*.appdata.xml
%changelog