# Maintainer: Alex Raschi pkgname=telegram-desktop pkgver=1.6.7 _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.5.0 _rangeurl="https://github.com/ericniebler/range-v3.git" pkgrel=0 pkgdesc="Telegram Desktop messaging app" url="https://desktop.telegram.org/" arch="all !s390x" 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 ppc64le-enable-arch.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="7a6775c42869617789862594a0665b2b9e6a1b3a05162f3c684a0fcc9960f608404a0f21f1edea261ab01e0bc0fa843a37e0cf1b0c189f3d5593cbe1abd8bcf8 telegram-desktop-1.6.7.tar.gz 9ee0dbc4b04454a2f440daa381df765616962e8e8c4330e96851dbc5f2a283da687282d666d2667aac67c3467d2079a94e4fef358dbb18eb24a064d55adc7a40 libtgvoip.patch fc672d8168f6b2807e596570bc57f3b89296891b5d62b8e12b38193ed4919e4eb17efd72691c4086fb0ff4383de54695a9faf9874a0727a0980ef35e5ca4bee7 musl.patch cb01655dd097b68e89b15e6e4b1f6da10c52e8bec681eeef9807ca376283b10cb3da34acc976c790f3c8dea05acbef1ba1967612920a2e4acb3b9da79e251a0d no-gtk2.patch 9df70f5057fd9938cab87529693ad9617da0fdbb9084ff57395cd540343a0dcc1ecfba4f868b0043b252fe1aca33d0d214fb07931860296e66fbf11825f95fb9 no-pulse.patch cdcc343e8507aed807ffb683f2b728db78c3b981a765746bbda59a97c00b373bfeb13c4251e36e8bc78c84728e91f964eb9d31616b4082393e074d7c12b44454 tdesktop.patch 8de8c0508177da5fcac4f2dcee4d8baef4b99f74f1dca296567bc3689a6bd17a47c1c945df504abc8811b82a687010d0709503c7c32e47d2ebb1cf0e374c80c5 xdg.patch 3647ad5fff6326ba9c75fa98189a08c0909af8d1c2b704c8c62fd9da6603f5162af3176c37daa67eb5896bebe3814bf1fd66b9e93c78cbd9b439e472d0db4b44 ppc64le-enable-arch.patch ce6be003220267bac5483caf8302b492e1581892bc36d35a61236ebf9f9d766b8bd2159557a1c36256aa85f461797a38bfaae57b12da7a72101b21c0b17ed653 system-wide-fonts.patch"