mirror of
https://github.com/Cheviiot/Nivora.git
synced 2026-08-03 15:51:12 +00:00
feat: add Telegram Desktop package
Repackages the official static tsetup.7.0.5.tar.xz Linux build for amd64, keeping the upstream org.telegram.desktop desktop-id and TelegramDesktop WM class.
This commit is contained in:
@@ -2,6 +2,18 @@
|
||||
|
||||
В файле фиксируются значимые изменения Nivora.
|
||||
|
||||
## 2026-07-25 — Telegram Desktop
|
||||
|
||||
### Добавлено
|
||||
|
||||
- В каталог добавлен Telegram Desktop 7.0.5 для `amd64` из официального
|
||||
статически собранного Linux-архива `tsetup.<version>.tar.xz`.
|
||||
- Сохранены официальные desktop-id `org.telegram.desktop` и WM-класс
|
||||
`TelegramDesktop`; иконка взята из официального репозитория
|
||||
`telegramdesktop/tdesktop` для закреплённого тега релиза.
|
||||
- Пакет добавляет команду `telegram-desktop`; сборка распространяется под
|
||||
GPL-3.0-only с отдельным разрешением на линковку с OpenSSL.
|
||||
|
||||
## 2026-07-25 — Nivora CLI
|
||||
|
||||
### Изменено
|
||||
|
||||
@@ -11,7 +11,7 @@ Nivora предлагает открытые рецепты упаковки д
|
||||
официальный репозиторий Stapler и не официальные пакеты upstream-проектов.
|
||||
|
||||
<!-- package-count -->
|
||||
**21 пакет** · **6 категорий** · `amd64`, `arm64` и `all`
|
||||
**22 пакета** · **6 категорий** · `amd64`, `arm64` и `all`
|
||||
|
||||
[](https://github.com/Cheviiot/Nivora/actions/workflows/quality.yml)
|
||||
|
||||
@@ -49,6 +49,7 @@ stplr info nivora/codex
|
||||
| [Happ](https://happ.su/) | `3.3.6` | `amd64`, `arm64` | `stplr install nivora/happ` |
|
||||
| [NetBird](https://netbird.io/) | `0.75.0` | `amd64`, `arm64` | `stplr install nivora/netbird` |
|
||||
| [Tailscale](https://tailscale.com/) | `1.98.9` | `amd64`, `arm64` | `stplr install nivora/tailscale` |
|
||||
| [Telegram Desktop](https://desktop.telegram.org/) | `7.0.5` | `amd64` | `stplr install nivora/telegram-desktop` |
|
||||
| [Яндекс Браузер](https://browser.yandex.ru/) | `26.4.1.1110` | `amd64` | `stplr install nivora/yandex-browser-stable` |
|
||||
|
||||
### Удалённый доступ
|
||||
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
package_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
repo_root="$(cd "${package_dir}/.." && pwd)"
|
||||
exec "${repo_root}/tools/package_updates.sh" check "$(basename "$package_dir")"
|
||||
@@ -0,0 +1,24 @@
|
||||
Сведения о лицензии пакета Telegram Desktop
|
||||
|
||||
Лицензия: GPL-3.0-only (с отдельным разрешением на линковку с OpenSSL).
|
||||
Исходный проект: https://github.com/telegramdesktop/tdesktop
|
||||
Официальный сайт: https://desktop.telegram.org/
|
||||
Условия использования сервиса: https://telegram.org/tos
|
||||
|
||||
Нюансы пакета:
|
||||
- Пакет перепаковывает официальный статически собранный Linux-архив
|
||||
Telegram Desktop (`tsetup.<version>.tar.xz`), публикуемый Telegram напрямую
|
||||
и через официальные релизы `telegramdesktop/tdesktop` на GitHub.
|
||||
- Собственный код Telegram Desktop распространяется на условиях GNU GPL
|
||||
версии 3 с отдельным разрешением на линковку с OpenSSL; часть bundled-
|
||||
зависимостей (Qt, ffmpeg и другие) распространяется на собственных
|
||||
условиях соответствующих проектов.
|
||||
- Учетные записи, серверы, боты, Premium-подписка и прочие сетевые функции
|
||||
Telegram в пакет не входят и регулируются условиями Telegram.
|
||||
- Локальные данные, кэш и сессии создаются приложением в домашнем каталоге
|
||||
пользователя после запуска и не поставляются внутри пакета.
|
||||
- Пакет добавляет команду `telegram-desktop` и использует официальные
|
||||
desktop-id `org.telegram.desktop`.
|
||||
|
||||
Полный официальный текст GPL-3.0:
|
||||
https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
@@ -0,0 +1,84 @@
|
||||
name='telegram-desktop'
|
||||
version='7.0.5'
|
||||
release=1
|
||||
summary='Official Telegram messaging client'
|
||||
summary_ru='Официальный клиент мессенджера Telegram'
|
||||
group='Networking/Instant messaging'
|
||||
desc='Telegram Desktop is the official Telegram messaging client with cloud-synced chats, voice and video calls, and no limits on file size or media history.'
|
||||
desc_ru='Telegram Desktop — официальный клиент мессенджера Telegram с облачной синхронизацией чатов, голосовыми и видеозвонками и без ограничений на размер файлов и историю медиа.'
|
||||
homepage='https://desktop.telegram.org/'
|
||||
maintainer='Telegram Messenger LLP <https://github.com/telegramdesktop/tdesktop>'
|
||||
|
||||
architectures=('amd64')
|
||||
|
||||
license=('GPL-3.0-only')
|
||||
|
||||
provides=()
|
||||
replaces=('telegram-desktop')
|
||||
conflicts=()
|
||||
|
||||
auto_reqprov_method="dirty"
|
||||
auto_req=0
|
||||
auto_prov=0
|
||||
|
||||
deps=()
|
||||
deps_debian=('libc6' 'libglib2.0-0t64 | libglib2.0-0' 'libfontconfig1' 'libfreetype6' 'libharfbuzz0b' 'libpng16-16' 'libpcre2-8-0' 'libbrotli1' 'libbz2-1.0' 'libblkid1' 'libmount1' 'libselinux1' 'libffi8' 'libexpat1' 'libgraphite2-3' 'zlib1g' 'libx11-6' 'hicolor-icon-theme')
|
||||
deps_ubuntu=("${deps_debian[@]}")
|
||||
deps_fedora=('glibc' 'glib2' 'fontconfig' 'freetype' 'harfbuzz' 'libpng' 'pcre2' 'brotli' 'bzip2-libs' 'libblkid' 'libmount' 'libselinux' 'libffi' 'expat' 'graphite2' 'zlib' 'libX11' 'hicolor-icon-theme')
|
||||
deps_arch=('glibc' 'glib2' 'fontconfig' 'freetype2' 'harfbuzz' 'libpng' 'pcre2' 'brotli' 'bzip2' 'util-linux-libs' 'libselinux' 'libffi' 'expat' 'graphite' 'zlib' 'libx11' 'hicolor-icon-theme')
|
||||
deps_opensuse=('glibc' 'libglib-2_0-0' 'libfontconfig1' 'libfreetype6' 'libharfbuzz0' 'libpng16-16' 'libpcre2-8-0' 'libbrotli1' 'libbz2-1' 'libblkid1' 'libmount1' 'libselinux1' 'libffi8' 'libexpat1' 'libgraphite2-3' 'libz1' 'libX11-6' 'hicolor-icon-theme')
|
||||
deps_altlinux=('glibc' 'libglib2' 'libfontconfig' 'libfreetype' 'libharfbuzz' 'libpng16' 'libpcre2' 'libbrotli' 'libbz2' 'libblkid' 'libmount' 'libselinux' 'libffi' 'libexpat' 'libgraphite2' 'zlib' 'libX11' 'hicolor-icon-theme')
|
||||
|
||||
opt_deps=()
|
||||
opt_deps_debian=('xdg-utils' 'libayatana-appindicator3-1 | libappindicator3-1' 'ca-certificates' 'libasound2t64 | libasound2 | pulseaudio' 'libgl1' 'xdg-desktop-portal' 'xdg-desktop-portal-gtk | xdg-desktop-portal-gnome | xdg-desktop-portal-kde' 'pipewire')
|
||||
opt_deps_ubuntu=("${opt_deps_debian[@]}")
|
||||
opt_deps_fedora=('xdg-utils' 'libappindicator-gtk3' 'ca-certificates' 'alsa-lib' 'pulseaudio-libs' 'mesa-libGL' 'xdg-desktop-portal' 'xdg-desktop-portal-gtk' 'pipewire')
|
||||
opt_deps_arch=('xdg-utils' 'libappindicator-gtk3' 'ca-certificates' 'alsa-lib' 'pulseaudio' 'libglvnd' 'xdg-desktop-portal' 'xdg-desktop-portal-gtk' 'pipewire')
|
||||
opt_deps_opensuse=('xdg-utils' 'libappindicator3-1' 'ca-certificates' 'libasound2' 'libpulse0' 'Mesa-libGL1' 'xdg-desktop-portal' 'xdg-desktop-portal-gtk' 'pipewire')
|
||||
opt_deps_altlinux=('xdg-utils' 'libappindicator-gtk3' 'ca-certificates' 'libalsa' 'libGL' 'xdg-desktop-portal' 'xdg-desktop-portal-gtk' 'pipewire')
|
||||
|
||||
sources=(
|
||||
"https://td.telegram.org/tlinux/tsetup.${version}.tar.xz?~archive=false&~name=tsetup.tar.xz"
|
||||
'local:///org.telegram.desktop.desktop'
|
||||
'local:///telegram-desktop.png'
|
||||
'local:///LICENSE'
|
||||
)
|
||||
|
||||
checksums=(
|
||||
'sha256:37e23ce08333340504623042120b826f7a2a5650c831187219ab9c520740eb42'
|
||||
'sha256:8ceb3f6aea1003f84f1b5757cd857f8237b294bb18456e5e0e54d96e6fff04ba'
|
||||
'sha256:3fb1400c7dc9bbc3b5cb3ffedcbf4a9b09c53e28b57a7ff33a8a6b9048864090'
|
||||
'sha256:f3ad1b5ecdc1c9e5ab3719a0b084a3e0b4fc87ad424fbf81043df9637be3d1f5'
|
||||
)
|
||||
|
||||
scripts=(
|
||||
['postinstall']='postinstall.sh'
|
||||
['postremove']='postremove.sh'
|
||||
)
|
||||
|
||||
package() {
|
||||
cd "${srcdir}"
|
||||
|
||||
tar -xJf tsetup.tar.xz
|
||||
|
||||
install -dm755 "${pkgdir}/opt/telegram-desktop"
|
||||
install -Dm755 "Telegram/Telegram" "${pkgdir}/opt/telegram-desktop/Telegram"
|
||||
|
||||
install -dm755 "${pkgdir}/usr/bin"
|
||||
ln -sfn /opt/telegram-desktop/Telegram "${pkgdir}/usr/bin/telegram-desktop"
|
||||
|
||||
install-desktop org.telegram.desktop.desktop
|
||||
install -Dm644 telegram-desktop.png \
|
||||
"${pkgdir}/usr/share/icons/hicolor/256x256/apps/org.telegram.desktop.png"
|
||||
|
||||
install-license LICENSE "telegram-desktop/LICENSE.nivora"
|
||||
}
|
||||
|
||||
files() {
|
||||
files-find-binary
|
||||
files-find-desktop
|
||||
files-find-license
|
||||
files-find \
|
||||
"/opt/telegram-desktop/**/*" \
|
||||
"/usr/share/icons/hicolor/256x256/apps/org.telegram.desktop.png"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
[Desktop Entry]
|
||||
Name=Telegram
|
||||
Comment=New era of messaging
|
||||
TryExec=telegram-desktop
|
||||
Exec=telegram-desktop -- %U
|
||||
Icon=org.telegram.desktop
|
||||
Terminal=false
|
||||
StartupWMClass=TelegramDesktop
|
||||
Type=Application
|
||||
Categories=Chat;Network;InstantMessaging;Qt;
|
||||
MimeType=x-scheme-handler/tg;x-scheme-handler/tonsite;
|
||||
Keywords=tg;chat;im;messaging;messenger;sms;tdesktop;
|
||||
Actions=quit;
|
||||
DBusActivatable=false
|
||||
SingleMainWindow=true
|
||||
X-GNOME-UsesNotifications=true
|
||||
X-GNOME-SingleWindow=true
|
||||
|
||||
[Desktop Action quit]
|
||||
Exec=telegram-desktop -quit
|
||||
Name=Quit Telegram
|
||||
Icon=application-exit
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
optional_refresh() {
|
||||
local label=$1
|
||||
shift
|
||||
if ! "$@"; then
|
||||
echo "Предупреждение: не удалось обновить ${label}." >&2
|
||||
fi
|
||||
}
|
||||
|
||||
if command -v update-desktop-database >/dev/null 2>&1; then
|
||||
optional_refresh "desktop-базу" update-desktop-database -q /usr/share/applications
|
||||
fi
|
||||
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
|
||||
optional_refresh "кэш иконок" \
|
||||
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
|
||||
fi
|
||||
if command -v kbuildsycoca6 >/dev/null 2>&1; then
|
||||
optional_refresh "кэш KDE" kbuildsycoca6 --noincremental
|
||||
elif command -v kbuildsycoca5 >/dev/null 2>&1; then
|
||||
optional_refresh "кэш KDE" kbuildsycoca5 --noincremental
|
||||
fi
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
optional_refresh() {
|
||||
local label=$1
|
||||
shift
|
||||
if ! "$@"; then
|
||||
echo "Предупреждение: не удалось обновить ${label}." >&2
|
||||
fi
|
||||
}
|
||||
|
||||
if command -v update-desktop-database >/dev/null 2>&1; then
|
||||
optional_refresh "desktop-базу" update-desktop-database -q /usr/share/applications
|
||||
fi
|
||||
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
|
||||
optional_refresh "кэш иконок" \
|
||||
gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
|
||||
fi
|
||||
if command -v kbuildsycoca6 >/dev/null 2>&1; then
|
||||
optional_refresh "кэш KDE" kbuildsycoca6 --noincremental
|
||||
elif command -v kbuildsycoca5 >/dev/null 2>&1; then
|
||||
optional_refresh "кэш KDE" kbuildsycoca5 --noincremental
|
||||
fi
|
||||
@@ -0,0 +1 @@
|
||||
include = "../stapler-repo.toml"
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -20,6 +20,7 @@ readonly -a PACKAGES=(
|
||||
parsec
|
||||
pineconemc
|
||||
tailscale
|
||||
telegram-desktop
|
||||
ventoy
|
||||
vual
|
||||
yandex-browser-stable
|
||||
@@ -234,6 +235,7 @@ latest_version() {
|
||||
parsec) latest_parsec ;;
|
||||
pineconemc) github_latest_release ElyPrismLauncher/Launcher ;;
|
||||
tailscale) latest_tailscale ;;
|
||||
telegram-desktop) github_latest_release telegramdesktop/tdesktop ;;
|
||||
ventoy) github_latest_release ventoy/Ventoy ;;
|
||||
vual) github_latest_release Cheviiot/Vual ;;
|
||||
yandex-browser-stable) latest_yandex_browser ;;
|
||||
|
||||
@@ -30,6 +30,7 @@ EXPECTED_PACKAGES = (
|
||||
"parsec",
|
||||
"pineconemc",
|
||||
"tailscale",
|
||||
"telegram-desktop",
|
||||
"ventoy",
|
||||
"vual",
|
||||
"yandex-browser-stable",
|
||||
|
||||
Reference in New Issue
Block a user