diff options
author | Leo <thinkabit.ukim@gmail.com> | 2020-02-14 00:48:27 -0300 |
---|---|---|
committer | Leo <thinkabit.ukim@gmail.com> | 2020-02-14 09:18:01 -0300 |
commit | 184355fdc44bc2e12976d65518fe029d8a6e459d (patch) | |
tree | 3d6d67b9d315d9434eea4296f25446fa892ec372 /community | |
parent | 7f54020eb59f8766522607544a4b66e89dd920e8 (diff) | |
download | aports-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/APKBUILD | 96 | ||||
-rw-r--r-- | community/telegram-desktop/qt-plugin-path.patch | 24 | ||||
-rw-r--r-- | community/telegram-desktop/small-sizes.patch | 48 |
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 + |