aboutsummaryrefslogtreecommitdiffstats
path: root/testing/telegram-desktop/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'testing/telegram-desktop/APKBUILD')
-rw-r--r--testing/telegram-desktop/APKBUILD150
1 files changed, 150 insertions, 0 deletions
diff --git a/testing/telegram-desktop/APKBUILD b/testing/telegram-desktop/APKBUILD
new file mode 100644
index 0000000000..3ee605edd3
--- /dev/null
+++ b/testing/telegram-desktop/APKBUILD
@@ -0,0 +1,150 @@
+# Maintainer: Alex Raschi <raschi.alex@gmail.com>
+pkgname=telegram-desktop
+pkgver=1.5.4
+_pkgurl="https://github.com/telegramdesktop/tdesktop.git"
+# https://github.com/telegramdesktop/tdesktop/blob/v$pkgver/docs/building-cmake.md
+_gypver=702ac58e477214c635d9b541932e75a95d349352
+_gypurl="https://chromium.googlesource.com/external/gyp"
+_rangever=0.4.0
+_rangeurl="https://github.com/ericniebler/range-v3.git"
+pkgrel=0
+pkgdesc="Telegram Desktop messaging app"
+url="https://desktop.telegram.org/"
+arch="all"
+license="GPL-3.0-or-later WITH OpenSSL"
+depends="qt5-qtimageformats"
+makedepends="cmake
+ 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
+ python2
+ grep"
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.gz
+ libtgvoip.patch
+ musl.patch
+ no-gtk2.patch
+ no-pulse.patch
+ tdesktop.patch
+ xdg.patch
+ system-wide-fonts.patch"
+builddir="$srcdir/$pkgname-$pkgver"
+_reldir="$builddir/out/Release"
+
+snapshot() {
+ local libs="$builddir"/Libraries
+
+ mkdir -p "$srcdir"
+ cd "$srcdir"
+ git clone --recurse-submodules "$_pkgurl" -b "v$pkgver" "$builddir"
+
+ # clone also gyp and range-v3
+ mkdir "$libs"
+ cd "$libs"
+ git clone --recurse-submodules "$_gypurl" -b "master" gyp
+ git clone --recurse-submodules "$_rangeurl" -b "$_rangever" range-v3
+ cd gyp
+ # chromium.googlesource.com doesn't support cloning commits
+ git reset --hard "$_gypver"
+
+ cd "$srcdir"
+ find "$builddir" -name .git -exec rm -rf {} +
+ # git archive doesn't support submodules
+ tar czf "$builddir".tar.gz "${builddir##*/}"
+ scp "$builddir".tar.gz dev.alpinelinux.org:/archive/$pkgname/
+}
+
+prepare() {
+ cd "$builddir/Telegram/ThirdParty"
+ rm -rf minizip # we have this system-wide
+
+ cd "$builddir/Libraries"
+ patch -p1 -i "$builddir"/Telegram/Patches/gyp.diff -d "gyp"
+
+ default_prepare
+}
+
+build() {
+ cd "$builddir/Telegram/gyp"
+ export CPPFLAGS="$CPPFLAGS -Winvalid-pch"
+ export CXXFLAGS="$CXXFLAGS -Winvalid-pch"
+
+ # https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/telegram-desktop#n80
+ ../../Libraries/gyp/gyp \
+ -Dapi_id=17349 \
+ -Dapi_hash=344583e45741c457fe1862106095a5eb \
+ -Dbuild_defines="TDESKTOP_DISABLE_CRASH_REPORTS,TDESKTOP_DISABLE_AUTOUPDATE,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME,TDESKTOP_DISABLE_GTK_INTEGRATION,TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION" \
+ -Gconfig=Release \
+ --depth=. \
+ --generator-output=../.. \
+ -Goutput_dir=out \
+ Telegram.gyp \
+ --format=cmake
+
+ cd "$_reldir"
+ printf '%s\n' 'set_target_properties(Telegram PROPERTIES SKIP_BUILD_RPATH TRUE)' >> CMakeLists.txt
+
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DCMAKE_ASM_COMPILER=as \
+ ${CMAKE_CROSSOPTS}
+ make
+}
+
+check() {
+ local test
+
+ cd "$_reldir"
+ for test in tests_*; do
+ ./"$test"
+ done
+}
+
+package() {
+ local size
+
+ cd "$_reldir"
+ mkdir -p "$pkgdir"/usr/bin
+ mv Telegram "$pkgdir"/usr/bin/telegram-desktop
+
+ cd "$builddir"
+ mkdir -p "$pkgdir"/usr/share/applications
+ mv lib/xdg/telegramdesktop.desktop "$pkgdir"/usr/share/applications/telegram-desktop.desktop
+
+ mkdir -p "$pkgdir"/usr/share/kservices5
+ mv lib/xdg/tg.protocol "$pkgdir"/usr/share/kservices5
+
+ cd Telegram/Resources/art
+ mkdir -p "$pkgdir"/usr/share/icons/hicolor
+ for size in 16 32 48 64 128 256 512; do
+ mkdir -p "$pkgdir"/usr/share/icons/hicolor/"$size"x"$size"/apps
+ mv icon"$size".png "$pkgdir"/usr/share/icons/hicolor/"$size"x"$size"/apps/telegram.png
+ done
+}
+
+sha512sums="97fffa6435b391b126a2df79c7a76097e0edf4256729fccf49d8c95e231ef3975bbef79ddf326b91cb6fbdae0b5b5fe9c966c717a77c3c0463f83856c7441e3c telegram-desktop-1.5.4.tar.gz
+9ee0dbc4b04454a2f440daa381df765616962e8e8c4330e96851dbc5f2a283da687282d666d2667aac67c3467d2079a94e4fef358dbb18eb24a064d55adc7a40 libtgvoip.patch
+fc672d8168f6b2807e596570bc57f3b89296891b5d62b8e12b38193ed4919e4eb17efd72691c4086fb0ff4383de54695a9faf9874a0727a0980ef35e5ca4bee7 musl.patch
+cb01655dd097b68e89b15e6e4b1f6da10c52e8bec681eeef9807ca376283b10cb3da34acc976c790f3c8dea05acbef1ba1967612920a2e4acb3b9da79e251a0d no-gtk2.patch
+9df70f5057fd9938cab87529693ad9617da0fdbb9084ff57395cd540343a0dcc1ecfba4f868b0043b252fe1aca33d0d214fb07931860296e66fbf11825f95fb9 no-pulse.patch
+3cbfe1cb1bf9eb18e79c49ac67560e3290b70a7ceb1e397f4623bbfc39227468b3ab489a5813d371de31438b45751505bf3af7424f92e0e8905e23ab0d2b565d tdesktop.patch
+8de8c0508177da5fcac4f2dcee4d8baef4b99f74f1dca296567bc3689a6bd17a47c1c945df504abc8811b82a687010d0709503c7c32e47d2ebb1cf0e374c80c5 xdg.patch
+ce6be003220267bac5483caf8302b492e1581892bc36d35a61236ebf9f9d766b8bd2159557a1c36256aa85f461797a38bfaae57b12da7a72101b21c0b17ed653 system-wide-fonts.patch"