Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-im/telegram-desktop/, net-im/telegram-desktop/files/
Date: Fri, 24 Apr 2020 20:02:15
Message-Id: 1587758494.75ba0410baf1ead0e0b3ea05083f09d9f700508c.gyakovlev@gentoo
1 commit: 75ba0410baf1ead0e0b3ea05083f09d9f700508c
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 24 19:25:51 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 24 20:01:34 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75ba0410
7
8 net-im/telegram-desktop: bump to 2.1.0
9
10 Package-Manager: Portage-2.3.99, Repoman-2.3.22
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 net-im/telegram-desktop/Manifest | 1 +
14 net-im/telegram-desktop/files/2.1.0-kde-dir.patch | 51 ++++++++
15 .../telegram-desktop/telegram-desktop-2.1.0.ebuild | 136 +++++++++++++++++++++
16 3 files changed, 188 insertions(+)
17
18 diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
19 index a2241d57d0c..76099ebd88f 100644
20 --- a/net-im/telegram-desktop/Manifest
21 +++ b/net-im/telegram-desktop/Manifest
22 @@ -1,2 +1,3 @@
23 DIST tdesktop-1.9.21-full.tar.gz 25848026 BLAKE2B 503e22bcc83a64721aa4c4c6e8bca89c4c976703c338b1615c5ab1599098e98cbd220a94cffdbe24d9c305b44ffef7719ad1c2d2ad81f4ec6edc8377e1afa4ef SHA512 ea02fc69e88ed6244ed420516bb7a93827cb85efaa0a7e9af7562aa1bc29184c5a2102caca8693c976b25d374832e0deb2ccbf00144d5340b5ffacbdc9dcebf1
24 DIST tdesktop-2.0.1-full.tar.gz 26106949 BLAKE2B 3975e7d42af8b323a86408e2301b292d94b308413bb92d135673fb12851cd6672156dcf9b631482fa9b8dc9361d9593dc1104c8c335e0c610706b308414db01b SHA512 99cd7c5ca1e9dd75ecd98d272522b0e4aab2d46525e3d0c306503b7a00c9d25c1646e9d7462182682a58947c7435864af805a3b6f85906d8b21e5675cc8383cb
25 +DIST tdesktop-2.1.0-full.tar.gz 26133964 BLAKE2B c5eb476ea3ed02c2618e5b770bdce365bcf0d6124f75558570189e07e9dcd9f6f3282d53fec621be736cbd1269a9dd820629d4d9a36167d8f71109bfcd5a52e2 SHA512 46f5453c64d1dbd4cf8adde73fcc48e6b6f795972ab0f6516cb55112f47d5af990a049da356bedb81e6d3f7103c14a7be45369ff9a5a1812c07a1bfcda70646d
26
27 diff --git a/net-im/telegram-desktop/files/2.1.0-kde-dir.patch b/net-im/telegram-desktop/files/2.1.0-kde-dir.patch
28 new file mode 100644
29 index 00000000000..b936275e361
30 --- /dev/null
31 +++ b/net-im/telegram-desktop/files/2.1.0-kde-dir.patch
32 @@ -0,0 +1,51 @@
33 +From 7bc86cc9af28ba3d04a5cb69f6f7c16bfe7f8719 Mon Sep 17 00:00:00 2001
34 +From: Ilya Fedin <fedin-ilja2010@××.ru>
35 +Date: Tue, 21 Apr 2020 23:05:17 +0400
36 +Subject: [PATCH] Fix directory opening with portal and use them by default
37 + with KDE
38 +
39 +---
40 + .../SourceFiles/platform/linux/file_utilities_linux.cpp | 6 +++---
41 + Telegram/SourceFiles/platform/linux/specific_linux.cpp | 2 +-
42 + 2 files changed, 4 insertions(+), 4 deletions(-)
43 +
44 +diff --git a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp
45 +index 47dd56a411..88f8a69a91 100644
46 +--- a/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp
47 ++++ b/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp
48 +@@ -83,11 +83,11 @@ constexpr auto kPreviewHeight = 512;
49 + using Type = ::FileDialog::internal::Type;
50 +
51 + #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
52 +-bool NativeSupported() {
53 ++bool NativeSupported(Type type = Type::ReadFile) {
54 + #ifndef TDESKTOP_FORCE_GTK_FILE_DIALOG
55 + return false;
56 + #endif // TDESKTOP_FORCE_GTK_FILE_DIALOG
57 +- return !Platform::UseXDGDesktopPortal()
58 ++ return (!Platform::UseXDGDesktopPortal() || type == Type::ReadFolder)
59 + && Platform::internal::GdkHelperLoaded()
60 + && (Libs::gtk_widget_hide_on_delete != nullptr)
61 + && (Libs::gtk_clipboard_store != nullptr)
62 +@@ -192,7 +192,7 @@ bool Get(
63 + parent = parent->window();
64 + }
65 + #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
66 +- if (NativeSupported()) {
67 ++ if (NativeSupported(type)) {
68 + return GetNative(
69 + parent,
70 + files,
71 +diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
72 +index 0bb3963420..c12e5a0780 100644
73 +--- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp
74 ++++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
75 +@@ -266,7 +266,7 @@ bool UseXDGDesktopPortal() {
76 + const auto envVar = qEnvironmentVariableIsSet("TDESKTOP_USE_PORTAL");
77 + const auto portalPresent = IsXDGDesktopPortalPresent();
78 +
79 +- return envVar && portalPresent;
80 ++ return (DesktopEnvironment::IsKDE() || envVar) && portalPresent;
81 + }();
82 +
83 + return UsePortal;
84
85 diff --git a/net-im/telegram-desktop/telegram-desktop-2.1.0.ebuild b/net-im/telegram-desktop/telegram-desktop-2.1.0.ebuild
86 new file mode 100644
87 index 00000000000..6c7b00706da
88 --- /dev/null
89 +++ b/net-im/telegram-desktop/telegram-desktop-2.1.0.ebuild
90 @@ -0,0 +1,136 @@
91 +# Copyright 2020 Gentoo Authors
92 +# Distributed under the terms of the GNU General Public License v2
93 +
94 +EAPI=7
95 +
96 +PYTHON_COMPAT=( python3_{6,7,8} )
97 +
98 +inherit cmake desktop flag-o-matic python-any-r1 xdg-utils
99 +
100 +MY_P="tdesktop-${PV}-full"
101 +
102 +DESCRIPTION="Official desktop client for Telegram"
103 +HOMEPAGE="https://desktop.telegram.org"
104 +SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
105 +
106 +LICENSE="GPL-3-with-openssl-exception"
107 +SLOT="0"
108 +KEYWORDS="~amd64 ~ppc64"
109 +IUSE="+alsa +dbus enchant +hunspell libressl pulseaudio +spell wayland +X"
110 +
111 +RDEPEND="
112 + !net-im/telegram-desktop-bin
113 + app-arch/lz4:=
114 + app-arch/xz-utils
115 + !libressl? ( dev-libs/openssl:0= )
116 + libressl? ( dev-libs/libressl:0= )
117 + >=dev-cpp/ms-gsl-2.1.0
118 + dev-cpp/range-v3
119 + dev-libs/xxhash
120 + dev-qt/qtcore:5
121 + dev-qt/qtgui:5[jpeg,png,wayland?,X(-)?]
122 + dev-qt/qtimageformats:5
123 + dev-qt/qtnetwork:5
124 + dev-qt/qtsvg:5
125 + dev-qt/qtwidgets:5[png,X(-)?]
126 + media-fonts/open-sans
127 + media-libs/fontconfig:=
128 + >=media-libs/libtgvoip-2.4.4_p20200301[alsa?,pulseaudio?]
129 + media-libs/openal[alsa?,pulseaudio?]
130 + media-libs/opus:=
131 + media-video/ffmpeg:=[alsa?,opus,pulseaudio?]
132 + sys-libs/zlib[minizip]
133 + virtual/libiconv
134 + dbus? (
135 + dev-qt/qtdbus:5
136 + dev-libs/libdbusmenu-qt[qt5(+)]
137 + )
138 + enchant? ( app-text/enchant:= )
139 + hunspell? ( >=app-text/hunspell-1.7:= )
140 + pulseaudio? ( media-sound/pulseaudio )
141 +"
142 +
143 +DEPEND="
144 + ${PYTHON_DEPS}
145 + ${RDEPEND}
146 +"
147 +
148 +BDEPEND="
149 + >=dev-util/cmake-3.16
150 + virtual/pkgconfig
151 +"
152 +
153 +REQUIRED_USE="
154 + || ( alsa pulseaudio )
155 + || ( X wayland )
156 + spell? (
157 + ^^ ( enchant hunspell )
158 + )
159 +"
160 +
161 +S="${WORKDIR}/${MY_P}"
162 +
163 +PATCHES=( "${FILESDIR}/${PV}-kde-dir.patch" )
164 +
165 +src_configure() {
166 + local mycxxflags=(
167 + -Wno-deprecated-declarations
168 + -Wno-error=deprecated-declarations
169 + -Wno-switch
170 + )
171 +
172 + append-cxxflags "${mycxxflags[@]}"
173 +
174 + # TODO: unbundle header-only libs, ofc telegram uses git versions...
175 + # it fals with tl-expected-1.0.0, so we use bundled for now to avoid git rev snapshots
176 + # EXPECTED VARIANT
177 + local mycmakeargs=(
178 + -DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON
179 + -DDESKTOP_APP_USE_GLIBC_WRAPS=OFF
180 + -DDESKTOP_APP_USE_PACKAGED=ON
181 + -DDESKTOP_APP_USE_PACKAGED_EXPECTED=OFF
182 + -DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF
183 + -DDESKTOP_APP_USE_PACKAGED_VARIANT=OFF
184 + -DTDESKTOP_LAUNCHER_BASENAME="${PN}"
185 + -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION="$(usex dbus OFF ON)"
186 + -DDESKTOP_APP_DISABLE_SPELLCHECK="$(usex spell OFF ON)" # enables hunspell (recommended)
187 + -DDESKTOP_APP_USE_ENCHANT="$(usex enchant ON OFF)" # enables enchant and disables hunspell
188 + )
189 +
190 + if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
191 + einfo "Found custom API credentials"
192 + mycmakeargs+=(
193 + -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
194 + -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
195 + )
196 + else
197 + # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
198 + # Building with snapcraft API credentials by default
199 + # Custom API credentials can be obtained here:
200 + # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
201 + # After getting credentials you can export variables:
202 + # export MY_TDESKTOP_API_ID="17349""
203 + # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
204 + # and restart the build"
205 + # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
206 + # portage will use custom variable every build automatically
207 + mycmakeargs+=(
208 + -DTDESKTOP_API_ID="611335"
209 + -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
210 + )
211 + fi
212 +
213 + cmake_src_configure
214 +}
215 +
216 +pkg_postinst() {
217 + xdg_desktop_database_update
218 + xdg_icon_cache_update
219 + xdg_mimeinfo_database_update
220 +}
221 +
222 +pkg_postrm() {
223 + xdg_desktop_database_update
224 + xdg_icon_cache_update
225 + xdg_mimeinfo_database_update
226 +}