blob: 96492edaae1e6f32e29d178b5e83603efdfa822f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# Maintainer: Leo <thinkabit.ukim@gmail.com>
# Contributor: Leo <thinkabit.ukim@gmail.com>
# TODO(Leo): remove pulseaudio dep, use system xxhash
pkgname=telegram-desktop
pkgver=1.7.14
# https://github.com/telegramdesktop/tdesktop/blob/v$pkgver/docs/building-cmake.md
_libtgvoip_commit=0e92a22746d15157bea46faddd61b79e9964275a
_GSL_commit=d846fe50a3f0bb7767c7e087a05f4be95f4da0ec
_variant_commit=550ac2f159ca883d360c196149b466955c77a573
_crl_commit=9ea870038a2a667add7f621be6252db909068386
_rlottie_commit=40ccf084445c60a32d72d4811edf0efd0580dcaa
_Catch2_commit=5ca44b68721833ae3731802ed99af67c6f38a53a
_xxhash_commit=7cc9639699f64b750c0b82333dced9ea77e8436e
pkgrel=0
pkgdesc="Telegram Desktop messaging app"
options="!check" # Requires Catch2 to be packaged.
url="https://desktop.telegram.org/"
arch="all !s390x" # ARM are failing due to range-v3
license="GPL-3.0-or-later WITH OpenSSL"
depends="qt5-qtimageformats"
makedepends="
gyp
grep
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
range-v3-dev
rapidjson-dev
lz4-dev
pulseaudio-dev
qtchooser
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/telegramdesktop/tdesktop/archive/v${pkgver}.tar.gz
libtgvoip-$_libtgvoip_commit.tar.gz::https://github.com/telegramdesktop/libtgvoip/archive/${_libtgvoip_commit}.tar.gz
GSL-$_GSL_commit.tar.gz::https://github.com/Microsoft/GSL/archive/${_GSL_commit}.tar.gz
variant-$_variant_commit.tar.gz::https://github.com/mapbox/variant/archive/${_variant_commit}.tar.gz
crl-$_crl_commit.tar.gz::https://github.com/telegramdesktop/crl/archive/${_crl_commit}.tar.gz
rlottie-$_rlottie_commit.tar.gz::https://github.com/john-preston/rlottie/archive/${_rlottie_commit}.tar.gz
Catch2-$_Catch2_commit.tar.gz::https://github.com/catchorg/Catch2/archive/${_Catch2_commit}.tar.gz
xxhash-${_xxhash_commit}.tar.gz::https://github.com/Cyan4973/xxHash/archive/${_xxhash_commit}.tar.gz
CMakeLists.inj
0001-musl.patch
0002-tdesktop.patch
0003-fix-missing-use-of-pch.patch
0004-xdg.patch
0005-system-wide-fonts.patch
0006-ppc64le-enable-arch.patch
0007-no-gtk2.patch
0009-lz4.patch
0010-libtgvoip.patch
0011-no-static-qt.patch
0012-ffmpeg.patch
0013-lz4.patch
0014-clock_gettime.patch
"
builddir="$srcdir/tdesktop-$pkgver"
prepare() {
rmdir Telegram/ThirdParty/libtgvoip
rmdir Telegram/ThirdParty/GSL
rmdir Telegram/ThirdParty/variant
rmdir Telegram/ThirdParty/crl
rmdir Telegram/ThirdParty/rlottie
rmdir Telegram/ThirdParty/Catch
rmdir Telegram/ThirdParty/xxHash
# Copy fetched libraries to their appropriate locations
mv ../libtgvoip-${_libtgvoip_commit} "${builddir}"/Telegram/ThirdParty/libtgvoip
mv ../GSL-${_GSL_commit} "${builddir}"/Telegram/ThirdParty/GSL
mv ../variant-${_variant_commit} "${builddir}"/Telegram/ThirdParty/variant
mv ../crl-${_crl_commit} "${builddir}"/Telegram/ThirdParty/crl
mv ../rlottie-${_rlottie_commit} "${builddir}"/Telegram/ThirdParty/rlottie
mv ../Catch2-${_Catch2_commit} "${builddir}"/Telegram/ThirdParty/Catch
mv ../xxHash-${_xxhash_commit} "${builddir}"/Telegram/ThirdParty/xxHash
cd "$builddir/Telegram/ThirdParty"
rm -rf minizip lz4 # we have these system-wide
default_prepare
}
build() {
export LANG=en_US.UTF-8
export GYP_DEFINES="TDESKTOP_DISABLE_CRASH_REPORTS,TDESKTOP_DISABLE_AUTOUPDATE"
export GYP_DEFINES="${GYP_DEFINES},TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
export GYP_DEFINES="${GYP_DEFINES},TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION"
export GYP_DEFINES="${GYP_DEFINES},TDESKTOP_DISABLE_GTK_INTEGRATION"
export EXTRA_FLAGS="-Winvalid-pch -O2"
export CPPFLAGS="$CPPFLAGS $EXTRA_FLAGS"
export CXXFLAGS="$CXXFLAGS $EXTRA_FLAGS"
gyp \
-Dapi_id=17349 \
-Dapi_hash=344583e45741c457fe1862106095a5eb \
-Dbuild_defines=${GYP_DEFINES} \
-Gconfig=Release \
--depth=Telegram/gyp --generator-output=../.. -Goutput_dir=out \
Telegram/gyp/Telegram.gyp --format=cmake
NUM=$(( $(wc -l < out/Release/CMakeLists.txt) - 2))
sed -i "$NUM r ../CMakeLists.inj" out/Release/CMakeLists.txt
cd out/Release
cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
make
}
package() {
install -dm755 "$pkgdir"/usr/bin
install -m755 "$builddir/out/Release/Telegram" "$pkgdir/usr/bin/telegram-desktop"
install -d "$pkgdir/usr/share/applications"
install -m644 "$builddir/lib/xdg/telegramdesktop.desktop" \
"$pkgdir/usr/share/applications/telegramdesktop.desktop"
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="b2b19aad5c276a389461964b82773f2d0380f0774557d1d81316dc0b10a915ee88b0439211ebbf8aafd8d3edc17dc0dc9d4b7ac894669fba45307a10f5fa946f telegram-desktop-1.7.14.tar.gz
bf0f1d808b0458d081b5cddcdbf9b24d8a63a31d89c207cd20983abf4f328acea749107d1b0c021579923cfb7371da2a9a6f61d9ce008d6c5c55b3fd7052508e libtgvoip-0e92a22746d15157bea46faddd61b79e9964275a.tar.gz
83560cb0c39b6a4781e916c6081ad2728296e1b19760ca1b6426a8431fb6d7093760a882c539dd77152f5892fe081b1795af6366ea91385bb10aba6adf27170f GSL-d846fe50a3f0bb7767c7e087a05f4be95f4da0ec.tar.gz
537ce0a1731274da63a5be063311f7113c1391081e43970663a994b82a7b2e860302406c2931184789661d86343b2c60064c7014b73dc42799573f5b93bc12ff variant-550ac2f159ca883d360c196149b466955c77a573.tar.gz
7bb68c0b0c94bb266a765e01878a0e840fcc28922af8878ff5217da693092ef19c3e543e4ecb86efd41b2b29bb907d98e1998c0d4f3a9e3dbd65c23df4c29ece crl-9ea870038a2a667add7f621be6252db909068386.tar.gz
54ab3c79b9e23b1d055e9bbf802d16e036d606923acfb61d13db2b620e869ce08aa8c0e2fa7728bfe45ee2221238302936698f75a26cf22c31a95604c15dc270 rlottie-40ccf084445c60a32d72d4811edf0efd0580dcaa.tar.gz
5b151e0a8c4594b19258a8aade7132521ffbdc97233c9d4a0e5cb2ea31eb9cb3ee51769884a8a08ab821571215ff32854bd76d2929e3b4c14a39e56657109dd6 Catch2-5ca44b68721833ae3731802ed99af67c6f38a53a.tar.gz
cada36066c14ed735f8f45a2d1e0c2d1bdb564dc18154aaabc12552d41065426d88cdeb8a67b8e697678b01f2e415c0a6caf428baa591d013739d7ac95048d4d xxhash-7cc9639699f64b750c0b82333dced9ea77e8436e.tar.gz
069a3061649567483e4250abdd80aee69937f744aa5ef06bc465ce5bd3abb7b6d934604bd7a35312dd0593895b7709c51288b9063c2919d260909aefab73b3e9 CMakeLists.inj
74e8adfe9cb6c224b12fb653798be1abb55cff40f326a9542e5ae23fb82b57a117b5f74dc8a2af80efcd8e261bbbc46c8e5c10fdb6a55ae3196429fd67afd183 0001-musl.patch
06da4b11ecbaba1f7c46e0afed97abc4b9817349492d947834d40e9e81a4dde43a5223721a6350f5fb34df0997d6ee0ae50558e0899c2ccccfabce5bbb7ddf90 0002-tdesktop.patch
6289d5a3eb224ebb05ab64e23ca3d081e617d905cec07edbba423265dc617548005eeb643ce5dfb2fcef9ac774e9f7b64150729bd894ca0e94af0e2aea9c823b 0003-fix-missing-use-of-pch.patch
8de8c0508177da5fcac4f2dcee4d8baef4b99f74f1dca296567bc3689a6bd17a47c1c945df504abc8811b82a687010d0709503c7c32e47d2ebb1cf0e374c80c5 0004-xdg.patch
ce6be003220267bac5483caf8302b492e1581892bc36d35a61236ebf9f9d766b8bd2159557a1c36256aa85f461797a38bfaae57b12da7a72101b21c0b17ed653 0005-system-wide-fonts.patch
3647ad5fff6326ba9c75fa98189a08c0909af8d1c2b704c8c62fd9da6603f5162af3176c37daa67eb5896bebe3814bf1fd66b9e93c78cbd9b439e472d0db4b44 0006-ppc64le-enable-arch.patch
cb01655dd097b68e89b15e6e4b1f6da10c52e8bec681eeef9807ca376283b10cb3da34acc976c790f3c8dea05acbef1ba1967612920a2e4acb3b9da79e251a0d 0007-no-gtk2.patch
d4ef17600e095b753bcbc4df0078cc025dd235056a8f4946183fc5416e0452bceac020badda60221b98b410261c5aaef72d18e8abc82781257e8075a133908f6 0009-lz4.patch
7d5642672f42f435e206acd047a20b7e38346ed95548f16c0059913546e4e4f54a58927fccb8c1da8e43b6a691bbce2a9608d0db032774d7874d4800e7202d53 0010-libtgvoip.patch
216f8fd0deae38d18d92815b84b4a945a2b83231117d5addd0aa9338acf5cb471c29b2fdfb86ca22c237230f61fbeac14f0445379db4daaddd512cf5e546166e 0011-no-static-qt.patch
30df0fbe5849bbcadb2d28483944f1a5397c056feb0bb4785d481e3e02cad10bb89566b4fb83e0692ca8080963b3d6b817c6ad275bbfebfe74d752a5f5c55c61 0012-ffmpeg.patch
aaff642634f42ba017ac94a2c2cd7df595d0a304a62f5f46dbec82e2c88c00a8cfd6346b2809013228f47f301aedf94e10e77197eebefa26b6df81267e8b1a64 0013-lz4.patch
ab6ef737712cbc934a908aabb57332a4d207c223f50f0108668b8c3c9fd07cd840845ef99c0dc18dca2139f476fcb0309f99058af710ffaf1272023d1d2f1ab4 0014-clock_gettime.patch"
|