| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 9999 | 8 | 0 |
# Copyright 1999-2024 Robert Günzler
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop optfeature xdg
DESCRIPTION="Official desktop client for Telegram (binary package)"
HOMEPAGE="https://desktop.telegram.org"
if [[ ${PV} = *9999* ]]; then
MY_SRC_URI="https://api.github.com/repos/telegramdesktop/tdesktop/releases"
else
MY_PV=$(ver_cut 1-3)
MY_PV_SUFFIX=$(ver_cut 4-)
SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${MY_PV}/tsetup.${MY_PV}.${MY_PV_SUFFIX}.tar.xz -> ${P}-tsetup.tar.xz
https://github.com/telegramdesktop/tdesktop/releases/download/v${MY_PV}/tdesktop-${MY_PV}-full.tar.gz -> ${P}-tdesktop.tar.gz"
fi
RESTRICT="network-sandbox"
LICENSE="GPL-3-with-openssl-exception"
SLOT="0"
QA_PREBUILT="usr/lib/${PN}/Telegram"
RDEPEND="
dev-libs/glib:2
dev-libs/gobject-introspection
>=media-libs/fontconfig-2.13
media-libs/freetype:2
media-libs/libglvnd[X]
>=sys-apps/dbus-1.4.2[X]
sys-libs/zlib
x11-libs/libSM
x11-libs/libdrm
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
>=x11-libs/libxcb-1.10[xkb]
"
S="${WORKDIR}/Telegram"
BDEPEND="
app-misc/jq
"
src_unpack() {
if [[ ${PV} = *9999* ]]; then
tsetup_uri=$(wget -O- -q --header='Accept: application/json' "${MY_SRC_URI}" | jq -r '[.[]|select(.prerelease==false)]|[.[].assets[]|select(.label|test("Linux"))]|first|.browser_download_url')
tdesktop_uri=$(echo "${tsetup_uri}" | sed -e 's|tsetup\.|tdesktop-|' -e 's|\.tar\.xz|-full\.tar\.gz|')
wget -O "./${P}-tsetup.tar.xz" "${tsetup_uri}" || die
wget -O "./${P}-tdesktop.tar.gz" "${tdesktop_uri}" || die
unpack "./${P}-tsetup.tar.xz"
unpack "./${P}-tdesktop.tar.gz"
else
default
fi
}
src_install() {
exeinto /usr/lib/${PN}
newexe "Telegram" "telegram-desktop"
newbin "${FILESDIR}"/${PN} "telegram-desktop"
local unpacked_dir=$(ls -1 "${WORKDIR}" | grep tdesktop.*full)
local icon_size
for icon_size in 16 32 48 64 128 256 512; do
newicon -s "${icon_size}" \
"${WORKDIR}/${unpacked_dir}/Telegram/Resources/art/icon${icon_size}.png" \
telegram.png
done
sed -i -e "s|@CMAKE_INSTALL_FULL_BINDIR@|/usr/lib/${PN}|" "${WORKDIR}/${unpacked_dir}"/lib/xdg/org.telegram.desktop.desktop
domenu "${WORKDIR}/${unpacked_dir}"/lib/xdg/org.telegram.desktop.desktop
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "spell checker support" app-text/enchant
tgversion=$(wget -O- -q --header='Accept: application/json' "${MY_SRC_URI}" | jq -r '[.[]|select(.prerelease==false)]|[.[]|select(.assets[].label|test("Linux"))]|first|.tag_name')
ewarn ""
ewarn "Installed Telegram $tgversion"
ewarn ""
}
dev-libs/glib:2 dev-libs/gobject-introspection >=media-libs/fontconfig-2.13 media-libs/freetype:2 media-libs/libglvnd[X] >=sys-apps/dbus-1.4.2[X] sys-libs/zlib x11-libs/libSM x11-libs/libdrm x11-libs/libICE x11-libs/libSM x11-libs/libX11 >=x11-libs/libxcb-1.10[xkb]
app-misc/jq