aboutsummaryrefslogblamecommitdiffstats
path: root/testing/telegram-desktop/APKBUILD
blob: 96492edaae1e6f32e29d178b5e83603efdfa822f (plain) (tree)
1
2
3
4
5
6
7
8
9
                                            
                                             
                                                     
                        
             
                                                                                  
                                                          

                                                        



                                                        
        
                                        
                                                  
                                   
                                                   

                                       



             















                        
                    
                     


                      
         





                                                                                                                             
















                                                                                                                  
         
                                   
 
           



                                           


                                         
 




                                                                                        


                                                                                  
 
                                          
                                                      
 



                       







                                                                                       
 






                                                                                
 




                                                                      


            
           





                                                                                         
 

                                                                                         
 


                                                                                       


            

                                                                                                                                                                                           

                                                                                                                                                                                         

















                                                                                                                                                                                         
# 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"