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/
Date: Thu, 06 Jan 2022 23:47:42
Message-Id: 1641512065.4d1ff465b1f870a6d2c1176643501dd3a6381927.gyakovlev@gentoo
1 commit: 4d1ff465b1f870a6d2c1176643501dd3a6381927
2 Author: Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
3 AuthorDate: Thu Jan 6 20:45:13 2022 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Thu Jan 6 23:34:25 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d1ff465
7
8 net-im/telegram-desktop: Bump to 3.4.3
9
10 Also fixing build for RISC-V, will need a separate ticket for
11 keywording.
12
13 PPC64 keyword dropped due to unkeyworded dependency.
14
15 Closes: https://bugs.gentoo.org/830286
16 Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com>
17 Closes: https://github.com/gentoo/gentoo/pull/23677
18 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
19
20 net-im/telegram-desktop/Manifest | 1 +
21 .../telegram-desktop/telegram-desktop-3.4.3.ebuild | 154 +++++++++++++++++++++
22 2 files changed, 155 insertions(+)
23
24 diff --git a/net-im/telegram-desktop/Manifest b/net-im/telegram-desktop/Manifest
25 index b50c8f7cd2fe..e5931abb9049 100644
26 --- a/net-im/telegram-desktop/Manifest
27 +++ b/net-im/telegram-desktop/Manifest
28 @@ -1,2 +1,3 @@
29 DIST tdesktop-3.1.8-full.tar.gz 38494235 BLAKE2B 50da0fdfe48f6492dc255c0fdfdb584750fd137ab0f847d226f9f62012ed1c34cc1a597f97735ca6aae1ba7e262562be2c88b92fe22c2868ed2cda437341a1f9 SHA512 787c92d6aaad2998d7195f2e1c98eddc6e87c3cb04a0d9ab80ea9a4a2dd1a798004109f8cc1ad82136c511ae191cea5b15cc23cc541ce86ccdb79dbc65367f09
30 DIST tdesktop-3.3.0-full.tar.gz 38662573 BLAKE2B f6cba2be02faccde77c510742dc57680a2731cd3b2bc4a2d680f6cda7fd1a634e2fa0406855a491241434daa080e782f561e5e472dcc42a8b8376c16e038b6af SHA512 ff0ac1abe264f19812c2e0b40d4861caddd6c01a3f863ccb68de9c5227282872b2bde878dcf751d7d04d36c6e0e77912619ac7863d54f25f739f3744e9bca53a
31 +DIST tdesktop-3.4.3-full.tar.gz 40647558 BLAKE2B 220a7b29dbc7a48d53e53fe9609dba804e5fe536feebc1225fd5400a8eec703e64f65decb8b503ed77e843c011c8b5fd12916534d4a1ecbc84724f277dcc301a SHA512 6b27eb14570b55fb14c77f1d557591985a4791712897c2e144196c54c2a98b10c7ece9dac7d039a6bb56f39e3062e4fbfbb60f6822e52b76f927bbf419d88a6b
32
33 diff --git a/net-im/telegram-desktop/telegram-desktop-3.4.3.ebuild b/net-im/telegram-desktop/telegram-desktop-3.4.3.ebuild
34 new file mode 100644
35 index 000000000000..b3ee846dae26
36 --- /dev/null
37 +++ b/net-im/telegram-desktop/telegram-desktop-3.4.3.ebuild
38 @@ -0,0 +1,154 @@
39 +# Copyright 2020-2021 Gentoo Authors
40 +# Distributed under the terms of the GNU General Public License v2
41 +
42 +EAPI=8
43 +
44 +PYTHON_COMPAT=( python3_{7..10} )
45 +
46 +inherit xdg cmake python-any-r1 optfeature flag-o-matic
47 +
48 +DESCRIPTION="Official desktop client for Telegram"
49 +HOMEPAGE="https://desktop.telegram.org"
50 +
51 +MY_P="tdesktop-${PV}-full"
52 +SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
53 +S="${WORKDIR}/${MY_P}"
54 +
55 +LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
56 +SLOT="0"
57 +KEYWORDS="~amd64"
58 +IUSE="+dbus enchant +hunspell screencast +spell wayland +X"
59 +REQUIRED_USE="
60 + spell? (
61 + ^^ ( enchant hunspell )
62 + )
63 +"
64 +
65 +RDEPEND="
66 + !net-im/telegram-desktop-bin
67 + app-arch/lz4:=
68 + dev-cpp/abseil-cpp:=
69 + dev-libs/jemalloc:=[-lazy-lock]
70 + dev-libs/libdispatch
71 + dev-libs/openssl:=
72 + dev-libs/xxhash
73 + >=dev-qt/qtcore-5.15:5
74 + >=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?]
75 + >=dev-qt/qtimageformats-5.15:5
76 + >=dev-qt/qtnetwork-5.15:5[ssl]
77 + >=dev-qt/qtsvg-5.15:5
78 + >=dev-qt/qtwidgets-5.15:5[png,X?]
79 + media-fonts/open-sans
80 + media-libs/fontconfig:=
81 + ~media-libs/libtgvoip-2.4.4_p20211129
82 + media-libs/openal
83 + media-libs/opus:=
84 + media-libs/rnnoise
85 + ~media-libs/tg_owt-0_pre20211207[screencast=,X=]
86 + media-video/ffmpeg:=[opus]
87 + sys-libs/zlib:=[minizip]
88 + dbus? (
89 + dev-cpp/glibmm:2
90 + dev-qt/qtdbus:5
91 + dev-libs/libdbusmenu-qt[qt5(+)]
92 + )
93 + enchant? ( app-text/enchant:= )
94 + hunspell? ( >=app-text/hunspell-1.7:= )
95 + wayland? ( kde-frameworks/kwayland:= )
96 + X? ( x11-libs/libxcb:= )
97 +"
98 +DEPEND="${RDEPEND}
99 + dev-cpp/range-v3
100 + =dev-cpp/ms-gsl-3*
101 +"
102 +BDEPEND="
103 + ${PYTHON_DEPS}
104 + >=dev-util/cmake-3.16
105 + virtual/pkgconfig
106 +"
107 +# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233
108 +
109 +PATCHES=(
110 + "${FILESDIR}/tdesktop-3.1.0-jemalloc-only-telegram.patch"
111 + "${FILESDIR}/tdesktop-3.3.0-fix-enchant.patch"
112 +)
113 +
114 +pkg_pretend() {
115 + if has ccache ${FEATURES}; then
116 + ewarn
117 + ewarn "ccache does not work with ${PN} out of the box"
118 + ewarn "due to usage of precompiled headers"
119 + ewarn "check bug https://bugs.gentoo.org/715114 for more info"
120 + ewarn
121 + fi
122 +}
123 +
124 +src_prepare() {
125 + # no explicit toggle, doesn't build with the system one #752417
126 + sed -i 's/DESKTOP_APP_USE_PACKAGED/NO_ONE_WILL_EVER_SET_THIS/' \
127 + cmake/external/rlottie/CMakeLists.txt || die
128 +
129 + # fix linking with missing libdl (introduced in 3.2.0->3.2.4 upgrade,
130 + # not sure if thanks to removing the -pie flag in the cmakelists...)
131 + sed -i 's/${JEMALLOC_LINK_LIBRARIES}/& dl/' \
132 + cmake/external/jemalloc/CMakeLists.txt || die
133 +
134 + cmake_src_prepare
135 +}
136 +
137 +src_configure() {
138 + # gtk is really needed for image copy-paste due to https://bugreports.qt.io/browse/QTBUG-56595
139 + local mycmakeargs=(
140 + -DTDESKTOP_LAUNCHER_BASENAME="${PN}"
141 + -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings.
142 + -DDESKTOP_APP_QT6=OFF
143 +
144 + -DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex X no yes)
145 + -DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex wayland no yes)
146 + -DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex dbus no yes)
147 + -DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex spell no yes) # enables hunspell (recommended)
148 + -DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell
149 + )
150 +
151 + if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
152 + einfo "Found custom API credentials"
153 + mycmakeargs+=(
154 + -DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
155 + -DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
156 + )
157 + else
158 + # https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
159 + # Building with snapcraft API credentials by default
160 + # Custom API credentials can be obtained here:
161 + # https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
162 + # After getting credentials you can export variables:
163 + # export MY_TDESKTOP_API_ID="17349""
164 + # export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
165 + # and restart the build"
166 + # you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
167 + # portage will use custom variable every build automatically
168 + mycmakeargs+=(
169 + -DTDESKTOP_API_ID="611335"
170 + -DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
171 + )
172 + fi
173 +
174 + # Fix for RISCV, as well as any other platforms that might generate libatomic calls
175 + # Upstreamed in >3.4.3
176 + append-ldflags '-pthread'
177 +
178 + cmake_src_configure
179 +}
180 +
181 +pkg_postinst() {
182 + xdg_pkg_postinst
183 + if ! use X && ! use screencast; then
184 + elog "both the 'X' and 'screencast' useflags are disabled, screen sharing won't work!"
185 + fi
186 + if has_version '<dev-qt/qtcore-5.15.2-r10'; then
187 + ewarn "Versions of dev-qt/qtcore lower than 5.15.2-r10 might cause telegram"
188 + ewarn "to crash when pasting big images from the clipboard."
189 + fi
190 + optfeature_header
191 + optfeature "shop payment support (requires USE=dbus enabled)" net-libs/webkit-gtk
192 +}