void-packages/srcpkgs/telegram-desktop/template

127 lines
5.1 KiB
Bash

# Template file for 'telegram-desktop'
pkgname=telegram-desktop
version=1.7.7
revision=2
_libtgvoip_commit=a19a0aff644127d8089f6a4ac18119ec5247dbd0
_GSL_commit=d846fe50a3f0bb7767c7e087a05f4be95f4da0ec
_variant_commit=550ac2f159ca883d360c196149b466955c77a573
_crl_commit=d259aebc11df52cb6ff8c738580dc4d8f245d681
_Catch_commit=5ca44b68721833ae3731802ed99af67c6f38a53a
_qtlottie_commit=a3fac9db920b167a5f91d678ee7968f100f6fe51
wrksrc="tdesktop-${version}"
build_wrksrc="Telegram"
build_style=cmake
cmake_builddir=build-telegram
configure_args="-DENABLE_CRASH_REPORTS=OFF -DENABLE_GTK_INTEGRATION=ON
-DENABLE_PULSEAUDIO=$(vopt_if pulseaudio 'ON' 'OFF')"
hostmakedepends="pkg-config qt5-qmake qt5-host-tools python"
makedepends="alsa-lib-devel ffmpeg-devel gtk+3-devel libappindicator-devel
libdbusmenu-glib-devel libopenal-devel minizip-devel opus-devel xxHash-devel
$(vopt_if pulseaudio 'pulseaudio-devel') qt5-devel range-v3 libva-devel
rapidjson"
depends="qt5-imageformats qt5>=5.11.3<5.11.4"
short_desc="Telegram Desktop messaging app"
maintainer="John <johnz@posteo.net>"
license="GPL-3.0-or-later WITH OpenSSL"
homepage="https://desktop.telegram.org/"
changelog="https://github.com/telegramdesktop/tdesktop/blob/v${version}/changelog.txt"
distfiles="https://github.com/telegramdesktop/tdesktop/archive/v${version}.tar.gz
https://github.com/telegramdesktop/libtgvoip/archive/${_libtgvoip_commit}.tar.gz
https://github.com/Microsoft/GSL/archive/${_GSL_commit}.tar.gz
https://github.com/mapbox/variant/archive/${_variant_commit}.tar.gz
https://github.com/telegramdesktop/crl/archive/${_crl_commit}.tar.gz
https://github.com/catchorg/Catch2/archive/${_Catch_commit}.tar.gz
https://github.com/telegramdesktop/qtlottie/archive/${_qtlottie_commit}.tar.gz"
checksum="b3ca072eb4c6e30fd17d34daa129d6211de427fa3953f4020b27a02e65400ef1
d839ab5a3358e171116b322e0053f441e023c9ced9aec3f0388969c2fce7ac43
be81db4ab1b57102a0fa1cd0c4a6469294eb9daf24294347592245b754f65ff6
aa794dfefe0a90501587e36d977b958d0df888503117a8d9aa43dc14f8526d9d
f5ea3aeeda0290a44ac49b6300b033d171e67a5b27039fea2f8ae0cb3fc71253
d24e6d9df2b8aa5739d3b9077c6b0ff0ef4d5ef8acc52c3a57e32893854d8d18
16d4cda12e340b89007c610070c67130e87f60a85fd1206339ac92b2c71ce848"
build_options="clang pulseaudio"
build_options_default="pulseaudio"
CXXFLAGS="-DTDESKTOP_API_ID=209235 -DTDESKTOP_API_HASH=169ee702e1df4b6e66d80311db36cc43"
if [ "$build_option_clang" ]; then
CFLAGS="-fPIE -fPIC -fstack-protector-strong"
CXXFLAGS+="-fPIE -fPIC -fstack-protector-strong"
LDFLAGS="-pie"
hostmakedepends+=" clang"
configure_args+=" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
nocross=yes
fi
case $XBPS_TARGET_MACHINE in
i686*) nodebug=yes;; # ENOMEM
mips*) broken="unsupported";;
esac
case $XBPS_TARGET_MACHINE in
*-musl) makedepends+=" libexecinfo-devel" ;;
esac
case "$XBPS_TARGET_MACHINE" in
arm*|mips*)
makedepends+=" libatomic-devel"
configure_args+=" -DUSE_LIBATOMIC=ON" ;;
esac
if [ "$CROSS_BUILD" ]; then
hostmakedepends+=" qt5-devel"
fi
post_extract() {
_qt5_dep_ver="${depends#*>=}"
_qt5_dep_ver="${_qt5_dep_ver%<*}"
_qt5_version="$(xbps-uhelper version qt5)"
if [[ "${_qt5_version%_*}" != "${_qt5_dep_ver}" ]]; then
echo
msg_red "Qt5 version doesn't match version listed in \$depends\\n"
msg_red "${_qt5_version%_*} does not match ${_qt5_dep_ver}\\n"
exit 1
fi
rmdir ${wrksrc}/${build_wrksrc}/ThirdParty/libtgvoip
mv ../libtgvoip-${_libtgvoip_commit} ${wrksrc}/${build_wrksrc}/ThirdParty/libtgvoip
rmdir ${wrksrc}/${build_wrksrc}/ThirdParty/GSL
mv ../GSL-${_GSL_commit} ${wrksrc}/${build_wrksrc}/ThirdParty/GSL
rmdir ${wrksrc}/${build_wrksrc}/ThirdParty/variant
mv ../variant-${_variant_commit} ${wrksrc}/${build_wrksrc}/ThirdParty/variant
rmdir ${wrksrc}/${build_wrksrc}/ThirdParty/crl
mv ../crl-${_crl_commit} ${wrksrc}/${build_wrksrc}/ThirdParty/crl
rmdir ${wrksrc}/${build_wrksrc}/ThirdParty/Catch
mv ../Catch2-${_Catch_commit} ${wrksrc}/${build_wrksrc}/ThirdParty/Catch
rmdir ${wrksrc}/${build_wrksrc}/ThirdParty/qtlottie
mv ../qtlottie-${_qtlottie_commit} ${wrksrc}/${build_wrksrc}/ThirdParty/qtlottie
cp ${FILESDIR}/Telegram.cmake ${build_wrksrc}/CMakeLists.txt
cp ${FILESDIR}/ThirdParty-crl.cmake ${build_wrksrc}/ThirdParty/crl/CMakeLists.txt
cp ${FILESDIR}/ThirdParty-libtgvoip.cmake ${build_wrksrc}/ThirdParty/libtgvoip/CMakeLists.txt
cp ${FILESDIR}/ThirdParty-libtgvoip-webrtc.cmake \
${build_wrksrc}/ThirdParty/libtgvoip/webrtc_dsp/CMakeLists.txt
cp ${FILESDIR}/ThirdParty-qtlottie.cmake ${build_wrksrc}/ThirdParty/qtlottie/CMakeLists.txt
mkdir -p ${build_wrksrc}/cmake
cp ${FILESDIR}/FindBreakpad.cmake ${build_wrksrc}/cmake
cp ${FILESDIR}/TelegramCodegen.cmake ${build_wrksrc}/cmake
cp ${FILESDIR}/TelegramTests.cmake ${build_wrksrc}/cmake
mkdir -p ${build_wrksrc}/native
cp ${FILESDIR}/TelegramCodegenTools.cmake ${build_wrksrc}/native/CMakeLists.txt
}
pre_configure() {
cd native
CC= CXX= CPP= LD= AR= AS= RANLIB= CFLAGS= CXXFLAGS= LDFLAGS= cmake .
make ${makejobs}
}
post_install() {
for i in 16 32 48 64 128 256 512; do
vinstall Resources/art/icon$i.png 644 usr/share/icons/hicolor/${i}x${i}/apps telegram.png
done
}