aboutsummaryrefslogtreecommitdiffstats
path: root/community
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2020-02-14 00:48:27 -0300
committerLeo <thinkabit.ukim@gmail.com>2020-02-14 09:18:01 -0300
commit184355fdc44bc2e12976d65518fe029d8a6e459d (patch)
tree3d6d67b9d315d9434eea4296f25446fa892ec372 /community
parent7f54020eb59f8766522607544a4b66e89dd920e8 (diff)
downloadaports-184355fdc44bc2e12976d65518fe029d8a6e459d.tar.bz2
aports-184355fdc44bc2e12976d65518fe029d8a6e459d.tar.xz
community/telegram-desktop: move from testing
The telegram developers made great progress in making packaging Telegram Desktop a pleasant experience for Alpine Linux. - There is now a full tarball available that includes all gitmodules that before were all checked out via tarballs in the source= variable. - There is now support deciding whether to use system packages and linking it to the Telegram binary instead of statically linked checked out versions in the source tree. - The build system is now cmake, which is much better than the previous GYP meta build-system mess. Overall the change from the old to the new system reduced Alpine Linux's load by 834 lines.
Diffstat (limited to 'community')
-rw-r--r--community/telegram-desktop/APKBUILD96
-rw-r--r--community/telegram-desktop/qt-plugin-path.patch24
-rw-r--r--community/telegram-desktop/small-sizes.patch48
3 files changed, 168 insertions, 0 deletions
diff --git a/community/telegram-desktop/APKBUILD b/community/telegram-desktop/APKBUILD
new file mode 100644
index 0000000000..60e0331b7a
--- /dev/null
+++ b/community/telegram-desktop/APKBUILD
@@ -0,0 +1,96 @@
+# Maintainer: Leo <thinkabit.ukim@gmail.com>
+# Contributor: Leo <thinkabit.ukim@gmail.com>
+pkgname=telegram-desktop
+pkgver=1.9.13
+pkgrel=1
+pkgdesc="Telegram Desktop messaging app"
+options="!check" # Requires Catch2 to be packaged.
+url="https://desktop.telegram.org/"
+arch="all !s390x" # Need support on lib_base
+license="GPL-3.0-or-later WITH OpenSSL"
+depends="qt5-qtimageformats libappindicator"
+makedepends="
+ cmake
+ samurai
+ zlib-dev
+ opus-dev
+ libva-dev
+ libvdpau-dev
+ ffmpeg-dev
+ portaudio-dev
+ openal-soft-dev
+ openssl-dev
+ libxkbcommon-dev
+ qt5-qtbase-dev
+ libexif-dev
+ xz-dev
+ minizip-dev
+ alsa-lib-dev
+ libexecinfo-dev
+ lz4-dev
+ qtchooser
+ pulseaudio-dev
+ libdbusmenu-glib-dev
+ libappindicator-dev
+ xxhash-dev
+ enchant2-dev
+ range-v3-dev
+ python3
+ libdbusmenu-qt-dev
+ tl-expected
+ "
+source="
+ https://github.com/telegramdesktop/tdesktop/releases/download/v$pkgver/tdesktop-$pkgver-full.tar.gz
+ qt-plugin-path.patch
+ small-sizes.patch
+ "
+builddir="$srcdir/tdesktop-$pkgver-full"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \
+ -DDESKTOP_APP_DISABLE_SPELLCHECK=OFF \
+ -DDESKTOP_APP_LOTTIE_USE_CACHE=ON \
+ -DDESKTOP_APP_USE_GLIBC_WRAPS=OFF \
+ -DDESKTOP_APP_USE_PACKAGED=ON \
+ -DTDESKTOP_API_ID=17349 \
+ -DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb \
+ -DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF \
+ -DTDESKTOP_USE_PACKAGED_TGVOIP=OFF \
+ -DTDESKTOP_LAUNCHER_BASENAME=telegram-desktop \
+ -DTDESKTOP_FORCE_GTK_FILE_DIALOG=ON \
+ -DDESKTOP_APP_USE_PACKAGED_GSL=OFF \
+ -DDESKTOP_APP_USE_PACKAGED_VARIANT=OFF \
+ ${CMAKE_CROSSOPTS} .
+ ninja -C build
+}
+
+package() {
+ install -d "$pkgdir"/usr/bin \
+ "$pkgdir"/usr/share/applications \
+ "$pkgdir"/usr/share/appdata \
+ "$pkgdir"/usr/share/kservices5 \
+
+ strip -s build/bin/telegram-desktop
+ install -m755 build/bin/telegram-desktop -t "$pkgdir"/usr/bin
+ install -m644 lib/xdg/telegramdesktop.desktop -t "$pkgdir"/usr/share/applications
+ install -m644 lib/xdg/telegramdesktop.appdata.xml -t "$pkgdir"/usr/share/appdata
+
+ for icon_size in 16 32 48 64 128 256 512; do
+ icon_dir="$pkgdir/usr/share/icons/hicolor/${icon_size}x$icon_size/apps"
+
+ install -d "$icon_dir"
+ install -m644 "$builddir/Telegram/Resources/art/icon$icon_size.png" \
+ "$icon_dir/telegram.png"
+ done
+}
+
+sha512sums="995face8a2ffb54f9f31aaa8d5a26421f4915e73360945553b6fa4e4b02431ca83ec1e72d6d2ce77f5b9daa39892859c88f7ea53c3ddbeec2cb37f27451878d2 tdesktop-1.9.13-full.tar.gz
+183767e9a291dd605797cdc46382d8cb6a73a342348a40df7d52864ea27b3aa8709808cd51c46f5e611c247229ed336cb569bed1185c4c97b03171b56bbe5653 qt-plugin-path.patch
+3d1b8e6f870fc780f9ae8bc6a67eb676a5c5f686dc79e84cd6d64cb3cfafb1be626d0cc3960ffc67cecca21568764a0137c7303a89045fa59f91ba4eb5d8caed small-sizes.patch"
diff --git a/community/telegram-desktop/qt-plugin-path.patch b/community/telegram-desktop/qt-plugin-path.patch
new file mode 100644
index 0000000000..bb877f901d
--- /dev/null
+++ b/community/telegram-desktop/qt-plugin-path.patch
@@ -0,0 +1,24 @@
+diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp
+index 2547342..8a14dcb 100644
+--- a/Telegram/SourceFiles/core/launcher.cpp
++++ b/Telegram/SourceFiles/core/launcher.cpp
+@@ -278,6 +278,19 @@ int Launcher::exec() {
+ Platform::start();
+ Ui::DisableCustomScaling();
+
++ // I don't know why path is not in QT_PLUGIN_PATH by default
++ QCoreApplication::addLibraryPath("/usr/lib/qt5/plugins");
++ // without this Telegram doesn't start on Ubuntu 17.04 due GTK errors
++ setenv("QT_STYLE_OVERRIDE", "qwerty", false);
++ // Telegram doesn't start when extraordinary theme is set, see launchpad.net/bugs/1680943
++ unsetenv("QT_QPA_PLATFORMTHEME");
++
++ // unset QT screen scale related envvars
++ unsetenv("QT_SCREEN_SCALE_FACTORS");
++ unsetenv("QT_AUTO_SCREEN_SCALE_FACTOR");
++ unsetenv("QT_SCALE_FACTOR");
++ unsetenv("QT_DEVICE_PIXEL_RATIO");
++
+ auto result = executeApplication();
+
+ DEBUG_LOG(("Telegram finished, result: %1").arg(result));
diff --git a/community/telegram-desktop/small-sizes.patch b/community/telegram-desktop/small-sizes.patch
new file mode 100644
index 0000000000..48473996c1
--- /dev/null
+++ b/community/telegram-desktop/small-sizes.patch
@@ -0,0 +1,48 @@
+From 675b5d645221bae9d9ad2cc7dd62d30a3b0f95c3 Mon Sep 17 00:00:00 2001
+From: Julian Sparber <julian@sparber.net>
+Date: Thu, 14 Nov 2019 17:36:33 +0100
+Subject: [PATCH] Make it work on small sizes
+
+---
+ Telegram/SourceFiles/settings/settings_main.cpp | 2 +-
+ Telegram/SourceFiles/window/window.style | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Telegram/SourceFiles/settings/settings_main.cpp b/Telegram/SourceFiles/settings/settings_main.cpp
+index 18552902b..c2d8e7a4d 100644
+--- a/Telegram/SourceFiles/settings/settings_main.cpp
++++ b/Telegram/SourceFiles/settings/settings_main.cpp
+@@ -100,7 +100,7 @@ void SetupSections(
+ }
+
+ bool HasInterfaceScale() {
+- return true;
++ return false;
+ }
+
+ void SetupInterfaceScale(
+diff --git a/Telegram/SourceFiles/window/window.style b/Telegram/SourceFiles/window/window.style
+index b3cd3ae83..29bf8bc3c 100644
+--- a/Telegram/SourceFiles/window/window.style
++++ b/Telegram/SourceFiles/window/window.style
+@@ -10,7 +10,7 @@ using "basic.style";
+ using "ui/widgets/widgets.style";
+ using "history/history.style";
+
+-windowMinWidth: 380px;
++windowMinWidth: 360px;
+ windowMinHeight: 480px;
+ windowDefaultWidth: 800px;
+ windowDefaultHeight: 600px;
+@@ -19,7 +19,7 @@ windowShadowShift: 1px;
+
+ columnMinimalWidthLeft: 260px;
+ columnMaximalWidthLeft: 540px;
+-columnMinimalWidthMain: 380px;
++columnMinimalWidthMain: 360px;
+ columnDesiredWidthMain: 512px;
+ columnMinimalWidthThird: 292px;
+ columnMaximalWidthThird: 392px;
+--
+2.24.1
+