aboutsummaryrefslogtreecommitdiffstats
path: root/testing/telegram-desktop/APKBUILD
blob: 3a0cb782a5b4258905e1b982c28027af80e02fd3 (plain) (blame)
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
# Maintainer: Leo <thinkabit.ukim@gmail.com>
# Contributor: Leo <thinkabit.ukim@gmail.com>
# TODO(Leo): remove pulseaudio dep
pkgname=telegram-desktop
pkgver=1.9.3
pkgrel=1
_breakpad_commit=dbd454dbe47e584571388fc3533193416bdce67f
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
arch="$arch !armhf !armv7 !x86" # Not enough memory to link
license="GPL-3.0-or-later WITH OpenSSL"
depends="qt5-qtimageformats libappindicator"
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
	rapidjson-dev
	lz4-dev
	qtchooser
	pulseaudio-dev
	libdbusmenu-glib-dev
	libappindicator-dev
	xxhash-dev
	enchant2-dev
	range-v3-dev
	python
	"
source="
	https://github.com/telegramdesktop/tdesktop/releases/download/v$pkgver/tdesktop-$pkgver-full.tar.gz
	breakpad-$_breakpad_commit.tar.gz::https://github.com/google/breakpad/archive/$_breakpad_commit.tar.gz
	xdg.patch
	lz4.cmake
	zlib.cmake
	opus.cmake
	openal.cmake
	openssl.cmake
	ffmpeg.cmake
	qt.cmake
	range-v3.cmake
	breakpad.cmake
	musl-basename.patch
	updater.patch
	default-shared.patch
	exotic-arch-compat.patch
	werror-o2.patch
	qt_functions.patch
	ppc.patch
	qt-plugin-path.patch
	qt_functions.cpp
	"
builddir="$srcdir/tdesktop-$pkgver-full"

prepare() {
	# we have these system-wide
	rm -rf Telegram/ThirdParty/minizip Telegram/ThirdParty/lz4

	mv "$srcdir"/breakpad-$_breakpad_commit "$builddir"/Telegram/ThirdParty/breakpad

	# Copy our file over
	cp -L "$srcdir"/qt_functions.cpp "$builddir"/Telegram/SourceFiles

	# Install our cmake files
	mv "$srcdir"/lz4.cmake "$builddir"/cmake/external/lz4/CMakeLists.txt
	mv "$srcdir"/zlib.cmake "$builddir"/cmake/external/zlib/CMakeLists.txt
	mv "$srcdir"/opus.cmake "$builddir"/cmake/external/opus/CMakeLists.txt
	mv "$srcdir"/openal.cmake "$builddir"/cmake/external/openal/CMakeLists.txt
	mv "$srcdir"/openssl.cmake "$builddir"/cmake/external/openssl/CMakeLists.txt
	mv "$srcdir"/ffmpeg.cmake "$builddir"/cmake/external/ffmpeg/CMakeLists.txt
	mv "$srcdir"/qt.cmake "$builddir"/cmake/external/qt/CMakeLists.txt
	mv "$srcdir"/range-v3.cmake "$builddir"/cmake/external/ranges/CMakeLists.txt
	mv "$srcdir"/breakpad.cmake "$builddir"/cmake/external/crash_reports/breakpad/CMakeLists.txt

	default_prepare

	mkdir "$builddir"/build
}

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi
	cd build

	cmake \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DBUILD_SHARED_LIBS=True \
		-DCMAKE_BUILD_TYPE=RelWithDebInfo \
		-DDESKTOP_APP_DISABLE_CRASH_REPORTS=True \
		-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 \
		-DTDESKTOP_DISABLE_GTK_INTEGRATION=ON \
		${CMAKE_CROSSOPTS} ..
	make
}

package() {
	install -d "$pkgdir"/usr/bin \
				"$pkgdir"/usr/share/applications \
				"$pkgdir"/usr/share/appdata \
				"$pkgdir"/usr/share/kservices5 \

	strip -s build/bin/Telegram
	install -m755 build/bin/Telegram "$pkgdir"/usr/bin/telegram-desktop
	install -m644 lib/xdg/telegramdesktop.desktop -t "$pkgdir"/usr/share/applications
	install -m644 lib/xdg/telegramdesktop.appdata.xml -t "$pkgdir"/usr/share/appdata
	install -m644 lib/xdg/tg.protocol -t "$pkgdir"/usr/share/kservices5

	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="af8e5d2c74d0b990958edd75a01f40b70bc21c0f69074acfb943f44fdb1f1e84465b461765a1a584513e54ab30045817b42b6839ad16cb4c1043fda89ea600f7  tdesktop-1.9.3-full.tar.gz
af8c9e8cf151b6aaa94a11b1f3f4d73c117fa25d7ba3b603c25170278bb0a99a9da10facc3b140fa0e3c2c0747a1f5bdcfb1120dfd48913a0d84f78701abb9fc  breakpad-dbd454dbe47e584571388fc3533193416bdce67f.tar.gz
8de8c0508177da5fcac4f2dcee4d8baef4b99f74f1dca296567bc3689a6bd17a47c1c945df504abc8811b82a687010d0709503c7c32e47d2ebb1cf0e374c80c5  xdg.patch
15e7328bdfb1ddae0357d30ded5448fb785f3ef0e148f47df8e66d5716999afb73bbc1caed21c5babd283db40017d1939066ae4d7d5989053cd41088ee7d5c91  lz4.cmake
f53c7194e62e22e0e197599ceffb37f1d742da83402257503c8f529e00187ed59d241d7880aa410ddbeac0540dc1ec6809700cf2c94c0c41db73809c712b1624  zlib.cmake
0149ed6db6d92ed933f83ca385d2a06d4d6a960a2768134b3967a5e0a9bd58af83ac93fe45b3033e3da6767f90fea26037f6db17ba219dbe09f8942ba4903a84  opus.cmake
48a6f5de0a03357d5f13a065c06b279021e8ebb872ea96d59f5ccb2bc8efd5e1f2d2850dddc22cdc0da0ac53cf0eb407ca0f53eebba8f68cf51224bb624c1b23  openal.cmake
f3c13e996b8456a79a418380c9e78c8d871f53c9da6dbe030ebb25817f232c7b511255a6c618aabc6afe6aba3b636b1058986d8fede9d06ad354bf6c1e46bb9f  openssl.cmake
c0afecd5d75d385e4e3d3d3e1273b12afebaaec38375a72edb17cb4c17666b3c45301cb0f06806a264798909ffd15517b7ed4d698cb00aa5c2d10bd6bd6ad12a  ffmpeg.cmake
c15a8da42d5248ee48fd3663913c010476cedd0fde86c6b133770c41ee6cdab33637732ac24bcc34d9b3a9e2a202147eed08fbfa7bffcf0ca4a2681f519a52bb  qt.cmake
f99017a119efb1b534cece9580d2b6cf4d88c0c3285eac8ac826008eec25a4fe43c846a9e1523f5af2aec57c13cf6abc549cdd8242ce266e43c3e61928e61d2a  range-v3.cmake
bcb1ed7ecc7ca5c0282337fad9c341d7468537d0f1ae2dc296d63c34508c9768cd7120a135fea27a752a9e8c9e6eaa223fa661f488c7f8a565d9cc2b2eab7be4  breakpad.cmake
6062602d02e20917c06f17d12bb21bd4a94b23c2a6744a8a05c2c93d41747ba413e110edd344ecd130c28ebaf997ae46b347d239e69f5856ead42318bd5b01cd  musl-basename.patch
3182d2da588fd50c771047550e0d4805cce404836ecc6a4f9ccc95b21c6915391ab3f4d75cd745737836d6c483eac84974659b97e9514384efd032ef33044125  updater.patch
4fb0f0a8c0a57436a10a79d7d1a45c1045d3ac30b9437e65025a4867400b52e52b38c61d447b1392bdf2bd6b241ed25a2c73851c67e08b9198a922c22a316345  default-shared.patch
b40c9948bab21253d54cbf6c609f82f97c80b064ddc2a5b8347b6322e26836c55a9c3eaab429a46f058bac1c7a7f57fd63979a318af13063ce9039fe29bcfd14  exotic-arch-compat.patch
d321da9c960641cd7d8159a0f076670b366afb847607a9f05525d17e3751ddcae2f3fa8b0d5f0f4780f7831033f48ce32373104ab35f8d2762e31e1097b20188  werror-o2.patch
835f5735d6fc52ad0a3b99f21a0a06cb310f21981a6036f4c9b76312eb947af7fa065ef7f530bcd63ee9271d293778cc8ddf098764c2878a8500aa04ee05c2b1  qt_functions.patch
9a3e491e2b2a9ea3f15da3766a2d743bafead7ae1e6a6ca3e6e9c7352dc268221311acd73664e5452622e2bc91cc88a2a7d3b4ebe6634b4da74c54b3bde0bb7f  ppc.patch
183767e9a291dd605797cdc46382d8cb6a73a342348a40df7d52864ea27b3aa8709808cd51c46f5e611c247229ed336cb569bed1185c4c97b03171b56bbe5653  qt-plugin-path.patch
edb5e7b1492c4913d2669610c7666a90fd94a615b7e3fc0c84e82bfd56fc61515b0e8ce14b35232a2f60f69db02769b8a05a4d11ccffec771d767cb600c92340  qt_functions.cpp"