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: Mon, 29 Jun 2020 23:40:05
Message-Id: 1593473978.083a373e66379c9f2d82a701cb21889186e47766.gyakovlev@gentoo
1 commit: 083a373e66379c9f2d82a701cb21889186e47766
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jun 29 21:48:56 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Mon Jun 29 23:39:38 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=083a373e
7
8 net-im/telegram-desktop: bump to 2.1.14
9
10 Package-Manager: Portage-2.3.103, Repoman-2.3.23
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.14-no-gtk.patch | 21 +++
15 .../telegram-desktop-2.1.14.ebuild | 155 +++++++++++++++++++++
16 3 files changed, 177 insertions(+)
17
18 diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
19 index 64596b04aa6..7305e795f3e 100644
20 --- a/net-im/telegram-desktop/Manifest
21 +++ b/net-im/telegram-desktop/Manifest
22 @@ -2,3 +2,4 @@ DIST tdesktop-2.1.0-full.tar.gz 26133964 BLAKE2B c5eb476ea3ed02c2618e5b770bdce36
23 DIST tdesktop-2.1.11-full.tar.gz 36548657 BLAKE2B 969ee0b680cb225c86bbab25e792b9fa21182227d73f062700ac56f08de83b249cca41d661c711e1a7dbcbeeeda70ddb13535403bee6f001ea10c4864b995c67 SHA512 9f2fba2814a5ab64f946913e32fce66dbc842d9607cbaee00994689ef6a661a04c2a8de5e075fc532e7d8926b51432c06c2b1510b019d729eef40da373d91d42
24 DIST tdesktop-2.1.12-full.tar.gz 36549678 BLAKE2B 0a973f8f560ccd30a35f172d4a63af9b4d16601af47f2ed71f37f6c3845e328501a79062f2917f37842248646b60ff3d88f8444d75df8bbae967969907cd3a83 SHA512 961f7e4900f782d58d5d1b1045590a7029777c3daa8d26f47a61663de9ab0c3c3cdfa7507c0710af2fb231e480ffe67de0bcbd61b72acb751ae8133b73d86cff
25 DIST tdesktop-2.1.13-full.tar.gz 36549505 BLAKE2B 48514be8add4ad4491c8e81a868f140228787ee489de7cd90faf31dbee959b0fb87cf2c844bf98c5b62fd6de8e32f504a6d19b071c56e6a4c0cd489d7b283818 SHA512 f28ae7c8c9a9eb8094fc52784742b470235234a3df7487902152858bc7c297b2dcfe5c8b939cdb9653a356b3835609e7289f53cdf7d5fb3f009823d3dbeb1bd8
26 +DIST tdesktop-2.1.14-full.tar.gz 36578245 BLAKE2B 0ec3e5e4d696544975a95a6ab70f240b2ab172ab5135ad037d1537d57b0aef2ce9f479cdfae89a6499ef31e391ac65e3d40476918beadac11d4541f4a52e7ead SHA512 4c48e235ac790ecd2d5e7344de9641d0e843e7d2e46a3883f8016587034bc7f5aebd4e1b26c701a225dfb3777b610d69a2ccc685aaa5ee08a163fdd49fee1e9e
27
28 diff --git a/net-im/telegram-desktop/files/2.1.14-no-gtk.patch b/net-im/telegram-desktop/files/2.1.14-no-gtk.patch
29 new file mode 100644
30 index 00000000000..365b7f2967e
31 --- /dev/null
32 +++ b/net-im/telegram-desktop/files/2.1.14-no-gtk.patch
33 @@ -0,0 +1,21 @@
34 +diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
35 +index eb23796..3424bab 100644
36 +--- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp
37 ++++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
38 +@@ -521,6 +521,7 @@ QString GetIconName() {
39 + }
40 +
41 + bool GtkClipboardSupported() {
42 ++#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
43 + return (Libs::gtk_clipboard_get != nullptr)
44 + && (Libs::gtk_clipboard_wait_for_contents != nullptr)
45 + && (Libs::gtk_clipboard_wait_for_image != nullptr)
46 +@@ -532,6 +533,8 @@ bool GtkClipboardSupported() {
47 + && (Libs::gdk_pixbuf_get_rowstride != nullptr)
48 + && (Libs::gdk_pixbuf_get_has_alpha != nullptr)
49 + && (Libs::gdk_atom_intern != nullptr);
50 ++#endif // !TDESKTOP_DISABLE_GTK_INTEGRATION
51 ++ return false;
52 + }
53 +
54 + QImage GetImageFromClipboard() {
55
56 diff --git a/net-im/telegram-desktop/telegram-desktop-2.1.14.ebuild b/net-im/telegram-desktop/telegram-desktop-2.1.14.ebuild
57 new file mode 100644
58 index 00000000000..c8c7b4eb668
59 --- /dev/null
60 +++ b/net-im/telegram-desktop/telegram-desktop-2.1.14.ebuild
61 @@ -0,0 +1,155 @@
62 +# Copyright 2020 Gentoo Authors
63 +# Distributed under the terms of the GNU General Public License v2
64 +
65 +EAPI=7
66 +
67 +PYTHON_COMPAT=( python3_{6,7,8} )
68 +
69 +inherit cmake desktop flag-o-matic python-any-r1 xdg-utils
70 +
71 +MY_P="tdesktop-${PV}-full"
72 +
73 +DESCRIPTION="Official desktop client for Telegram"
74 +HOMEPAGE="https://desktop.telegram.org"
75 +SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
76 +
77 +LICENSE="GPL-3-with-openssl-exception"
78 +SLOT="0"
79 +KEYWORDS="~amd64 ~ppc64"
80 +IUSE="+alsa +dbus enchant +gtk +hunspell libressl pulseaudio +spell wayland +X"
81 +
82 +RDEPEND="
83 + !net-im/telegram-desktop-bin
84 + app-arch/lz4:=
85 + app-arch/xz-utils
86 + !libressl? ( dev-libs/openssl:0= )
87 + libressl? ( dev-libs/libressl:0= )
88 + dev-libs/xxhash
89 + dev-qt/qtcore:5
90 + dev-qt/qtgui:5[dbus?,jpeg,png,wayland?,X(-)?]
91 + dev-qt/qtimageformats:5
92 + dev-qt/qtnetwork:5
93 + dev-qt/qtsvg:5
94 + dev-qt/qtwidgets:5[png,X(-)?]
95 + media-fonts/open-sans
96 + media-libs/fontconfig:=
97 + ~media-libs/libtgvoip-2.4.4_p20200627[alsa?,pulseaudio?]
98 + media-libs/openal[alsa?,pulseaudio?]
99 + media-libs/opus:=
100 + media-video/ffmpeg:=[alsa?,opus,pulseaudio?]
101 + sys-libs/zlib[minizip]
102 + virtual/libiconv
103 + dbus? (
104 + dev-qt/qtdbus:5
105 + dev-libs/libdbusmenu-qt[qt5(+)]
106 + )
107 + enchant? ( app-text/enchant:= )
108 + gtk? (
109 + dev-libs/glib:2
110 + x11-libs/gdk-pixbuf:2[jpeg,X?]
111 + x11-libs/gtk+:3[X?,wayland?]
112 + x11-libs/libX11
113 + )
114 + hunspell? ( >=app-text/hunspell-1.7:= )
115 + pulseaudio? ( media-sound/pulseaudio )
116 +"
117 +
118 +DEPEND="
119 + ${PYTHON_DEPS}
120 + ${RDEPEND}
121 + dev-cpp/range-v3
122 + =dev-cpp/ms-gsl-3*
123 +"
124 +
125 +BDEPEND="
126 + >=dev-util/cmake-3.16
127 + virtual/pkgconfig
128 +"
129 +
130 +REQUIRED_USE="
131 + || ( alsa pulseaudio )
132 + || ( X wayland )
133 + spell? (
134 + ^^ ( enchant hunspell )
135 + )
136 +"
137 +
138 +S="${WORKDIR}/${MY_P}"
139 +
140 +PATCHES=( "${FILESDIR}/${PV}-no-gtk.patch" )
141 +
142 +pkg_pretend() {
143 + if has ccache ${FEATURES}; then
144 + ewarn
145 + ewarn "ccache does not work with ${PN} out of the box"
146 + ewarn "due to usage of precompiled headers"
147 + ewarn "check bug https://bugs.gentoo.org/715114 for more info"
148 + ewarn
149 + fi
150 +}
151 +
152 +src_configure() {
153 + local mycxxflags=(
154 + -Wno-deprecated-declarations
155 + -Wno-error=deprecated-declarations
156 + -Wno-switch
157 + )
158 +
159 + append-cxxflags "${mycxxflags[@]}"
160 +
161 + # TODO: unbundle header-only libs, ofc telegram uses git versions...
162 + # it fals with tl-expected-1.0.0, so we use bundled for now to avoid git rev snapshots
163 + # EXPECTED VARIANT
164 + # gtk is really needed for image copy-paste due to https://bugreports.qt.io/browse/QTBUG-56595
165 + local mycmakeargs=(
166 + -DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON
167 + -DDESKTOP_APP_USE_GLIBC_WRAPS=OFF
168 + -DDESKTOP_APP_USE_PACKAGED=ON
169 + -DDESKTOP_APP_USE_PACKAGED_EXPECTED=OFF
170 + -DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF
171 + -DDESKTOP_APP_USE_PACKAGED_VARIANT=OFF
172 + -DTDESKTOP_DISABLE_GTK_INTEGRATION="$(usex gtk OFF ON)"
173 + -DTDESKTOP_LAUNCHER_BASENAME="${PN}"
174 + -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION="$(usex dbus OFF ON)"
175 + -DDESKTOP_APP_DISABLE_SPELLCHECK="$(usex spell OFF ON)" # enables hunspell (recommended)
176 + -DDESKTOP_APP_USE_ENCHANT="$(usex enchant ON OFF)" # enables enchant and disables hunspell
177 + )
178 +
179 + if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
180 + einfo "Found custom API credentials"
181 + mycmakeargs+=(
182 + -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
183 + -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
184 + )
185 + else
186 + # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
187 + # Building with snapcraft API credentials by default
188 + # Custom API credentials can be obtained here:
189 + # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
190 + # After getting credentials you can export variables:
191 + # export MY_TDESKTOP_API_ID="17349""
192 + # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
193 + # and restart the build"
194 + # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
195 + # portage will use custom variable every build automatically
196 + mycmakeargs+=(
197 + -DTDESKTOP_API_ID="611335"
198 + -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
199 + )
200 + fi
201 +
202 + cmake_src_configure
203 +}
204 +
205 +pkg_postinst() {
206 + xdg_desktop_database_update
207 + xdg_icon_cache_update
208 + xdg_mimeinfo_database_update
209 + use gtk || einfo "enable \'gtk\' useflag if you have image copy-paste problems"
210 +}
211 +
212 +pkg_postrm() {
213 + xdg_desktop_database_update
214 + xdg_icon_cache_update
215 + xdg_mimeinfo_database_update
216 +}