summaryrefslogtreecommitdiff
path: root/user/telegram
diff options
context:
space:
mode:
Diffstat (limited to 'user/telegram')
-rw-r--r--user/telegram/APKBUILD63
-rw-r--r--user/telegram/endian.patch25
-rw-r--r--user/telegram/headers.patch12
-rw-r--r--user/telegram/ppc.patch28
-rw-r--r--user/telegram/rlottie.patch16
5 files changed, 144 insertions, 0 deletions
diff --git a/user/telegram/APKBUILD b/user/telegram/APKBUILD
new file mode 100644
index 000000000..1f36cb942
--- /dev/null
+++ b/user/telegram/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=telegram
+pkgver=1.9.6
+pkgrel=0
+pkgdesc="Telegram messaging app"
+url="https://telegram.org/"
+arch="all"
+options="!check" # No test suite.
+license="GPL-3.0-only WITH OpenSSL-exception"
+depends=""
+makedepends="cmake enchant-dev ffmpeg-dev lz4-dev minizip-dev openal-soft-dev openssl-dev opus-dev pulseaudio-dev python3 qt5-qtbase-dev range-v3 xxhash-dev xz-dev zlib-dev"
+subpackages=""
+source="https://github.com/telegramdesktop/tdesktop/releases/download/v1.9.6/tdesktop-$pkgver-full.tar.gz
+ endian.patch
+ headers.patch
+ ppc.patch
+ "
+builddir="$srcdir/tdesktop-$pkgver-full"
+
+build() {
+ [ -f "$HOME/telegram_credentials.sh" ] || die "You need to have a Telegram API ID."
+
+ . $HOME/telegram_credentials.sh
+
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ # Can't use packaged rlottie, API mismatch.
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \
+ -DDESKTOP_APP_USE_GLIBC_WRAPS=OFF \
+ -DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF \
+ -DTDESKTOP_API_ID="${TELEGRAM_API_ID}" \
+ -DTDESKTOP_API_HASH="${TELEGRAM_API_HASH}" \
+ -DTDESKTOP_DISABLE_GTK_INTEGRATION=ON \
+ -DTDESKTOP_LAUNCHER_BASENAME=telegramdesktop \
+ -DTDESKTOP_USE_PACKAGED_TGVOIP=OFF \
+ -Ddisable_autoupdate=1 \
+ ${CMAKE_CROSSOPTS} \
+ .
+ make
+}
+
+package() {
+ install -D -m755 "$builddir"/bin/Telegram "$pkgdir"/usr/bin/telegram-desktop
+ install -D -m644 "$builddir"/lib/xdg/telegramdesktop.desktop "$pkgdir"/usr/share/applications/telegramdesktop.desktop
+ install -D -m644 "$builddir"/lib/xdg/tg.protocol "$pkgdir"/usr/share/kservices5/tg.protocol
+ for _icon in 16 32 48 64 128 256 512; do
+ install -D -m644 "$builddir"/Telegram/Resources/art/icon$_icon.png \
+ "$pkgdir"/usr/share/icons/hicolor/${_icon}x${_icon}/apps/telegram.png
+ done
+}
+
+sha512sums="12446b8c467226b7ebfb96d3e8cdc77fbaeb9de6065e43e2de727564735f3047f2810d20bb12649eaffb41c09d2295a7918d041058ab1f96ba3dcdcf019d857e tdesktop-1.9.6-full.tar.gz
+f39b541c915830adf359d864e197f773822f9925817664a596b595ef31b0c2d0d7f073284c45fb1236b61565e2d7959e030783b7a8350399513ff13f9c27aa2a endian.patch
+9b9a9b623edcce37339e52e3e306a7106b6289749fca1b2dc7450c299da1a6f8d3f3f12b4973ecfbf3797f75ba88cf7f644adee896b053a683df4e4754d5d057 headers.patch
+685142055710f5a499d1f7c72a57c9c979dedce91c078204a6880080473db989e690d1bd1cce916e0a2cebb285741570665b4940ca7a5a36eecdd54eb39e8003 ppc.patch"
diff --git a/user/telegram/endian.patch b/user/telegram/endian.patch
new file mode 100644
index 000000000..81cfd8859
--- /dev/null
+++ b/user/telegram/endian.patch
@@ -0,0 +1,25 @@
+From d4c11502175e2a7821dbd92e029a90d54498e3e8 Mon Sep 17 00:00:00 2001
+From: John Zimmermann <johnz@posteo.net>
+Date: Thu, 2 Jan 2020 12:57:33 +0100
+Subject: [PATCH] Build on big endian
+
+---
+ Telegram/SourceFiles/config.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git Telegram/SourceFiles/config.h Telegram/SourceFiles/config.h
+index fb7b54e4d..6a873fbd7 100644
+--- a/Telegram/SourceFiles/config.h
++++ b/Telegram/SourceFiles/config.h
+@@ -177,7 +177,7 @@ constexpr auto ApiHash = "344583e45741c457fe1862106095a5eb";
+ #endif // TDESKTOP_API_ID && TDESKTOP_API_HASH
+
+ #if Q_BYTE_ORDER == Q_BIG_ENDIAN
+-#error "Only little endian is supported!"
++#warning "Only little endian is supported!"
+ #endif // Q_BYTE_ORDER == Q_BIG_ENDIAN
+
+ #if (TDESKTOP_ALPHA_VERSION != 0)
+--
+2.24.1
+
diff --git a/user/telegram/headers.patch b/user/telegram/headers.patch
new file mode 100644
index 000000000..dece8ec21
--- /dev/null
+++ b/user/telegram/headers.patch
@@ -0,0 +1,12 @@
+Should send this one upstream; it would work with glibc as well.
+
+--- tdesktop-1.9.6-full/Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp.old 2020-01-21 12:16:27.000000000 +0000
++++ tdesktop-1.9.6-full/Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp 2020-01-22 17:44:42.185530350 +0000
+@@ -6,6 +6,7 @@
+
+ #include "AudioPulse.h"
+ #include <dlfcn.h>
++#include <libgen.h>
+ #include "../../logging.h"
+
+ #define DECLARE_DL_FUNCTION(name) typeof(name)* AudioPulse::_import_##name=NULL
diff --git a/user/telegram/ppc.patch b/user/telegram/ppc.patch
new file mode 100644
index 000000000..0a09150eb
--- /dev/null
+++ b/user/telegram/ppc.patch
@@ -0,0 +1,28 @@
+From af5f8d19f0fdded987beee4568f02cc8dcbd20f4 Mon Sep 17 00:00:00 2001
+From: John Zimmermann <johnz@posteo.net>
+Date: Thu, 2 Jan 2020 12:58:45 +0100
+Subject: [PATCH] PowerPC support
+
+---
+ base/build_config.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git Telegram/lib_base/base/build_config.h Telegram/lib_base/base/build_config.h
+index a02c9b0..b3f4860 100644
+--- a/Telegram/lib_base/base/build_config.h
++++ b/Telegram/lib_base/base/build_config.h
+@@ -46,9 +46,9 @@
+ #define ARCH_CPU_X86_FAMILY 1
+ #define ARCH_CPU_X86 1
+ #define ARCH_CPU_32_BITS 1
+-#elif defined(__aarch64__)
++#elif defined(__aarch64__) || defined(__powerpc64__)
+ #define ARCH_CPU_64_BITS 1
+-#elif defined(_M_ARM) || defined(__arm__)
++#elif defined(_M_ARM) || defined(__arm__) || defined(__powerpc__)
+ #define ARCH_CPU_32_BITS 1
+ #else
+ #error Please add support for your architecture in base/build_config.h
+--
+2.24.1
+
diff --git a/user/telegram/rlottie.patch b/user/telegram/rlottie.patch
new file mode 100644
index 000000000..6bd2ff6c3
--- /dev/null
+++ b/user/telegram/rlottie.patch
@@ -0,0 +1,16 @@
+No CMake config exists for rlottie; use pkgconf instead.
+
+--- a/cmake/external/rlottie/CMakeLists.txt 2020-01-17 18:21:17.000000000 +0100
++++ b/cmake/external/rlottie/CMakeLists.txt 2020-01-18 00:37:40.280438388 +0100
+@@ -8,8 +8,9 @@
+ add_library(external_rlottie INTERFACE IMPORTED GLOBAL)
+ add_library(desktop-app::external_rlottie ALIAS external_rlottie)
+
+- find_package(rlottie REQUIRED)
+- target_link_libraries(external_rlottie INTERFACE rlottie::rlottie)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(RLOTTIE REQUIRED rlottie)
++ target_link_libraries(external_rlottie INTERFACE ${RLOTTIE_LIBRARIES})
+ else()
+ add_library(external_rlottie OBJECT)
+ add_library(desktop-app::external_rlottie ALIAS external_rlottie)