327 lines
14 KiB
Bash
327 lines
14 KiB
Bash
SUMMARY="Experimental Telegram Desktop fork"
|
|
DESCRIPTION="Kotatogram Desktop, being based on Telegram Desktop, has all \
|
|
its features, but it also has some more useful and cosmetic features."
|
|
HOMEPAGE="https://kotatogram.github.io/"
|
|
COPYRIGHT="2013-2021 Telegram
|
|
2021 Kotatogram Team"
|
|
LICENSE="GNU GPL v3"
|
|
REVISION="1"
|
|
SOURCE_URI="https://github.com/kotatogram/kotatogram-desktop/archive/refs/tags/k$portVersion.tar.gz"
|
|
CHECKSUM_SHA256="453b1fb7ed280fd4c05d922553343cef7f06b408bfd1cfb24e7e7d1faf5d82ba"
|
|
SOURCE_FILENAME="kotatogram-$portVersion.tar.gz"
|
|
SOURCE_DIR="kotatogram-desktop-k$portVersion"
|
|
#libtgvoip
|
|
srcGitRev_2="373e41668b265864f8976b83bb66dd6e9a583915"
|
|
SOURCE_URI_2="https://github.com/telegramdesktop/libtgvoip/archive/$srcGitRev_2.tar.gz"
|
|
CHECKSUM_SHA256_2="6bdf3af434004617018988decd47e0eeb839fbff26574f5adaf129410d5463ce"
|
|
SOURCE_FILENAME_2="libtgvoip-$srcGitRev_2.tar.gz"
|
|
SOURCE_DIR_2="libtgvoip-$srcGitRev_2"
|
|
#rlottie
|
|
srcGitRev_3="cbd43984ebdf783e94c8303c41385bf82aa36d5b"
|
|
SOURCE_URI_3="https://github.com/desktop-app/rlottie/archive/$srcGitRev_3.tar.gz"
|
|
CHECKSUM_SHA256_3="0946541630edf1b4172a59b1fb167468f52945a9c0d5076a698c916c8488e5bd"
|
|
SOURCE_FILENAME_3="rlottie-$srcGitRev_3.tar.gz"
|
|
SOURCE_DIR_3="rlottie-$srcGitRev_3"
|
|
#lib_crl
|
|
srcGitRev_4="ec103d6bccaa59b56537c8658c9e41415bb9ccaf"
|
|
SOURCE_URI_4="https://github.com/desktop-app/lib_crl/archive/$srcGitRev_4.tar.gz"
|
|
CHECKSUM_SHA256_4="64edbf9083c9ce7f6e98e741596e47dafc9dbcc818e45b3288186c9668fad153"
|
|
SOURCE_FILENAME_4="lib_crl-$srcGitRev_4.tar.gz"
|
|
SOURCE_DIR_4="lib_crl-$srcGitRev_4"
|
|
#lib_rpl
|
|
srcGitRev_5="df721be3fa14a27dfc230d2e3c42bb1a7c9d0617"
|
|
SOURCE_URI_5="https://github.com/desktop-app/lib_rpl/archive/$srcGitRev_5.tar.gz"
|
|
CHECKSUM_SHA256_5="574a680d488bb25402463c3ef5f263df76635a805cfb00da87b59ab8c39c198d"
|
|
SOURCE_FILENAME_5="lib_rpl-$srcGitRev_5.tar.gz"
|
|
SOURCE_DIR_5="lib_rpl-$srcGitRev_5"
|
|
#lib_base
|
|
srcGitRev_6="e5a3b470d6524cdeb3e2deb92f04b0d290ceec24"
|
|
SOURCE_URI_6="https://github.com/desktop-app/lib_base/archive/$srcGitRev_6.tar.gz"
|
|
CHECKSUM_SHA256_6="579b60f2ea4c0a6874b7d0c383ec46896e56e4dc2d44156a5eb7c75187924313"
|
|
SOURCE_FILENAME_6="lib_base-$srcGitRev_6.tar.gz"
|
|
SOURCE_DIR_6="lib_base-$srcGitRev_6"
|
|
#codegen
|
|
srcGitRev_7="15026c5b6c5be43edae5c7737dbc011eec486e16"
|
|
SOURCE_URI_7="https://github.com/desktop-app/codegen/archive/$srcGitRev_7.tar.gz"
|
|
CHECKSUM_SHA256_7="435f2d18ec0916028a1611b4439ad7f69f2df16c6ea0d5303ba84227d7ec0af2"
|
|
SOURCE_FILENAME_7="codegen-$srcGitRev_7.tar.gz"
|
|
SOURCE_DIR_7="codegen-$srcGitRev_7"
|
|
#lib_ui
|
|
srcGitRev_8="eb86d2dc51aedc0a53188f1f2beb932e19442f9b"
|
|
SOURCE_URI_8="https://github.com/kotatogram/lib_ui/archive/$srcGitRev_8.tar.gz"
|
|
CHECKSUM_SHA256_8="c4e9eab8d179ef5a9304e863877f5e5b35121826d1eff862a14777dec652eea9"
|
|
SOURCE_FILENAME_8="lib_ui-$srcGitRev_8.tar.gz"
|
|
SOURCE_DIR_8="lib_ui-$srcGitRev_8"
|
|
#lib_rlottie
|
|
srcGitRev_9="0671bf70547381effcf442ec9618e04502a8adbc"
|
|
SOURCE_URI_9="https://github.com/desktop-app/lib_rlottie/archive/$srcGitRev_9.tar.gz"
|
|
CHECKSUM_SHA256_9="28b68af080b03bf0dd66bab5f9dceb712e0b3203fd5ad7f8096050272234941b"
|
|
SOURCE_FILENAME_9="lib_rlottie-$srcGitRev_9.tar.gz"
|
|
SOURCE_DIR_9="lib_rlottie-$srcGitRev_9"
|
|
#lib_lottie
|
|
srcGitRev_10="6fe29a2dfe8904559d31e3c9df5d51e9ed123011"
|
|
SOURCE_URI_10="https://github.com/desktop-app/lib_lottie/archive/$srcGitRev_10.tar.gz"
|
|
CHECKSUM_SHA256_10="f14a09b03a7d2402a531790cab01b601c80e4ab3dd6ce6eafd4a03614e6114bb"
|
|
SOURCE_FILENAME_10="lib_lottie-$srcGitRev_10.tar.gz"
|
|
SOURCE_DIR_10="lib_lottie-$srcGitRev_10"
|
|
#lib_tl
|
|
srcGitRev_11="45faed44e7f4d11fec79b7a70e4a35dc91ef3fdb"
|
|
SOURCE_URI_11="https://github.com/desktop-app/lib_tl/archive/$srcGitRev_11.tar.gz"
|
|
CHECKSUM_SHA256_11="1db86a372f9c5d87b836a60ee16bf6a69dd343840498bc0121118ac9fc2b80e1"
|
|
SOURCE_FILENAME_11="lib_tl-$srcGitRev_11.tar.gz"
|
|
SOURCE_DIR_11="lib_tl-$srcGitRev_11"
|
|
#lib_spellcheck
|
|
srcGitRev_12="212d660cbbb49592103de7a98fcb1c0f16efc36b"
|
|
SOURCE_URI_12="https://github.com/desktop-app/lib_spellcheck/archive/$srcGitRev_12.tar.gz"
|
|
CHECKSUM_SHA256_12="29b76026b4da7f146b238f25909b5f6acbbc6e233ecd861b1d98f3974e065ab8"
|
|
SOURCE_FILENAME_12="lib_spellcheck-$srcGitRev_12.tar.gz"
|
|
SOURCE_DIR_12="lib_spellcheck-$srcGitRev_12"
|
|
#lib_storage
|
|
srcGitRev_13="73d57840ac603107381e0e6b22d5b3bdcae492c6"
|
|
SOURCE_URI_13="https://github.com/desktop-app/lib_storage/archive/$srcGitRev_13.tar.gz"
|
|
CHECKSUM_SHA256_13="ce440ae1cbfc35a4e1f04adfe14497991a9347045970620b199abfd3f162b65b"
|
|
SOURCE_FILENAME_13="lib_storage-$srcGitRev_13.tar.gz"
|
|
SOURCE_DIR_13="lib_storage-$srcGitRev_13"
|
|
#cmake_helpers
|
|
srcGitRev_14="dfd1ab4b4959b943bb0236046d8f89bdacaaa266"
|
|
SOURCE_URI_14="https://github.com/kotatogram/cmake_helpers/archive/$srcGitRev_14.tar.gz"
|
|
CHECKSUM_SHA256_14="4ef8882f6575a2dbcc9c56cc45de63dc48cb186946419e71df372f36ae0bd342"
|
|
SOURCE_FILENAME_14="cmake_helpers-$srcGitRev_14.tar.gz"
|
|
SOURCE_DIR_14="cmake_helpers-$srcGitRev_14"
|
|
#QR-Code-generator
|
|
srcGitRev_15="67c62461d380352500fc39557fd9f046b7fe1d18"
|
|
SOURCE_URI_15="https://github.com/nayuki/QR-Code-generator/archive/$srcGitRev_15.tar.gz"
|
|
CHECKSUM_SHA256_15="1f1218c0a0abfc420cbc651675434d971b5e672b54428860339c51ecdf1958fc"
|
|
SOURCE_FILENAME_15="QR-Code-generator-$srcGitRev_15.tar.gz"
|
|
SOURCE_DIR_15="QR-Code-generator-$srcGitRev_15"
|
|
#lib_qr
|
|
srcGitRev_16="2b08c71c6edcfc3e31f7d7f518cc963493b6e189"
|
|
SOURCE_URI_16="https://github.com/desktop-app/lib_qr/archive/$srcGitRev_16.tar.gz"
|
|
CHECKSUM_SHA256_16="f1aee181ebbcec2e8b8f4d8321d966f8a51ee0f015153602987e88113d6816e9"
|
|
SOURCE_FILENAME_16="lib_qr-$srcGitRev_16.tar.gz"
|
|
SOURCE_DIR_16="lib_qr-$srcGitRev_16"
|
|
#lib_webrtc
|
|
srcGitRev_17="29d51317915ca43db45d436cba8eac3f40dea36b"
|
|
SOURCE_URI_17="https://github.com/desktop-app/lib_webrtc/archive/$srcGitRev_17.tar.gz"
|
|
CHECKSUM_SHA256_17="c5488b1d32d8509df2053413388f3b4e3adeb6da573552ac540d83a1edb6a63c"
|
|
SOURCE_FILENAME_17="lib_webrtc-$srcGitRev_17.tar.gz"
|
|
SOURCE_DIR_17="lib_webrtc-$srcGitRev_17"
|
|
#tgcalls
|
|
srcGitRev_18="f76a9290fa502a8df473dd872aedf9a553b089cc"
|
|
SOURCE_URI_18="https://github.com/TelegramMessenger/tgcalls/archive/$srcGitRev_18.tar.gz"
|
|
CHECKSUM_SHA256_18="6d5e4505e10c1be5ed1674ddb3a314bc8274cd216090a5f02cdc86c3c276a1b1"
|
|
SOURCE_FILENAME_18="tgcalls-$srcGitRev_18.tar.gz"
|
|
SOURCE_DIR_18="tgcalls-$srcGitRev_18"
|
|
#lib_webview
|
|
srcGitRev_19="0a3584b8d8e37f9745a0cb0fae725e8e8ea0d989"
|
|
SOURCE_URI_19="https://github.com/desktop-app/lib_webview/archive/$srcGitRev_19.tar.gz"
|
|
CHECKSUM_SHA256_19="16122bd4c13fc47ae19c10b7a2af6c9138b4cdd8a0b6e472148d7ce659d88b33"
|
|
SOURCE_FILENAME_19="lib_webview-$srcGitRev_19.tar.gz"
|
|
SOURCE_DIR_19="lib_webview-$srcGitRev_19"
|
|
#expected
|
|
srcGitRev_20="1d9c5d8c0da84b8ddc54bd3d90d632eec95c1f13"
|
|
SOURCE_URI_20="https://github.com/TartanLlama/expected/archive/$srcGitRev_20.tar.gz"
|
|
CHECKSUM_SHA256_20="95b82e57a6214ca84105016670eb7f080ad54f71290d8169fcaa969cb6dfc6c8"
|
|
SOURCE_FILENAME_20="expected-$srcGitRev_20.tar.gz"
|
|
SOURCE_DIR_20="expected-$srcGitRev_20"
|
|
#GSL
|
|
srcGitRev_21="1999b48a519196711f0d03af3b7eedd49fcc6db3"
|
|
SOURCE_URI_21="https://github.com/Microsoft/GSL/archive/$srcGitRev_21.tar.gz"
|
|
CHECKSUM_SHA256_21="486d9c18da2303e212165bee7e14fbe5565084b30b1ad7810e26a8a64059492f"
|
|
SOURCE_FILENAME_21="GSL-$srcGitRev_21.tar.gz"
|
|
SOURCE_DIR_21="GSL-$srcGitRev_21"
|
|
#APIKEY
|
|
srcGitRev_22="2b383fe05f8ae78ac99470b9a2b9ea22b3ee5a92"
|
|
SOURCE_URI_22="https://salsa.debian.org/debian/telegram-desktop/-/raw/$srcGitRev_22/debian/rules#noarchive"
|
|
CHECKSUM_SHA256_22="613e7e357518739e1f7d035337f37c344b248283fd4d916ddc95df73c2ff84ad"
|
|
|
|
PATCHES="kotatogram_desktop-$portVersion.patchset"
|
|
PATCHES_2="libtgvoip-$portVersion.patchset"
|
|
PATCHES_6="lib_base-$portVersion.patchset"
|
|
PATCHES_8="lib_ui-$portVersion.patchset"
|
|
PATCHES_14="cmake_helpers-$portVersion.patchset"
|
|
PATCHES_17="lib_webrtc-$portVersion.patchset"
|
|
PATCHES_18="tgcalls-$portVersion.patchset"
|
|
|
|
ADDITIONAL_FILES="kotatogram_desktop.rdef.in"
|
|
|
|
ARCHITECTURES="all !x86_gcc2"
|
|
SECONDARY_ARCHITECTURES="x86"
|
|
|
|
PROVIDES="
|
|
kotatogram_desktop$secondaryArchSuffix = $portVersion
|
|
app:Kotatogram
|
|
"
|
|
REQUIRES="
|
|
haiku$secondaryArchSuffix
|
|
lib:libabsl_strings$secondaryArchSuffix
|
|
lib:libabsl_throw_delegate$secondaryArchSuffix
|
|
lib:libatomic$secondaryArchSuffix
|
|
lib:libavcodec$secondaryArchSuffix
|
|
lib:libavformat$secondaryArchSuffix
|
|
lib:libavutil$secondaryArchSuffix
|
|
lib:libcrypto$secondaryArchSuffix
|
|
lib:libgiomm_2.4$secondaryArchSuffix
|
|
lib:libglib_2.0$secondaryArchSuffix
|
|
lib:libglibmm_2.4$secondaryArchSuffix
|
|
lib:libgthread_2.0$secondaryArchSuffix
|
|
lib:libhunspell_1.7$secondaryArchSuffix
|
|
lib:libintl$secondaryArchSuffix
|
|
lib:libjpeg$secondaryArchSuffix
|
|
lib:liblz4$secondaryArchSuffix
|
|
lib:liblzma$secondaryArchSuffix
|
|
lib:libminizip$secondaryArchSuffix
|
|
lib:libopenal$secondaryArchSuffix
|
|
lib:libopus$secondaryArchSuffix
|
|
lib:libQt5Core$secondaryArchSuffix
|
|
lib:libQt5Gui$secondaryArchSuffix
|
|
lib:libQt5Network$secondaryArchSuffix
|
|
lib:libQt5Widgets$secondaryArchSuffix
|
|
lib:librnnoise$secondaryArchSuffix
|
|
lib:libsigc_2.0$secondaryArchSuffix
|
|
lib:libswresample$secondaryArchSuffix
|
|
lib:libswscale$secondaryArchSuffix
|
|
lib:libxxhash$secondaryArchSuffix
|
|
lib:libz$secondaryArchSuffix
|
|
"
|
|
|
|
BUILD_REQUIRES="
|
|
haiku${secondaryArchSuffix}_devel
|
|
devel:libabsl_strings$secondaryArchSuffix
|
|
devel:libabsl_throw_delegate$secondaryArchSuffix
|
|
devel:libavcodec$secondaryArchSuffix
|
|
devel:libavformat$secondaryArchSuffix
|
|
devel:libavutil$secondaryArchSuffix
|
|
devel:libcrypto$secondaryArchSuffix
|
|
devel:libglib_2.0$secondaryArchSuffix
|
|
devel:libglibmm_2.4$secondaryArchSuffix
|
|
devel:libgthread_2.0$secondaryArchSuffix
|
|
devel:libhunspell_1.7$secondaryArchSuffix
|
|
devel:libjpeg$secondaryArchSuffix
|
|
devel:liblz4$secondaryArchSuffix
|
|
devel:liblzma$secondaryArchSuffix
|
|
devel:libminizip$secondaryArchSuffix
|
|
devel:libopenal$secondaryArchSuffix
|
|
devel:libopus$secondaryArchSuffix
|
|
devel:libqrcodegen$secondaryArchSuffix
|
|
devel:libQt5Core$secondaryArchSuffix
|
|
devel:libQt5Gui$secondaryArchSuffix
|
|
devel:libQt5Network$secondaryArchSuffix
|
|
devel:libQt5Widgets$secondaryArchSuffix
|
|
devel:librapidjson$secondaryArchSuffix
|
|
devel:librnnoise$secondaryArchSuffix
|
|
devel:libswresample$secondaryArchSuffix
|
|
devel:libswscale$secondaryArchSuffix
|
|
devel:libtg_owt$secondaryArchSuffix
|
|
devel:libxxhash$secondaryArchSuffix
|
|
devel:libz$secondaryArchSuffix
|
|
devel:range_v3$secondaryArchSuffix
|
|
"
|
|
BUILD_PREREQUIRES="
|
|
cmd:cmake
|
|
cmd:gawk
|
|
cmd:gcc$secondaryArchSuffix
|
|
cmd:lrelease$secondaryArchSuffix >= 5
|
|
cmd:make
|
|
cmd:pkg_config$secondaryArchSuffix
|
|
cmd:python
|
|
cmd:sed
|
|
cmd:yasm
|
|
"
|
|
|
|
BUILD()
|
|
{
|
|
export DISABLE_ASLR=1
|
|
|
|
# get API_ID and API_HASH from Debian
|
|
local TELEGRAM_API_ID=`sed -n "/TDESKTOP_API_ID/p" $sourceDir22/rules | cut -d'=' -f2 | cut -d' ' -f1`
|
|
local TELEGRAM_API_HASH=`sed -n "/TDESKTOP_API_HASH/p" $sourceDir22/rules | cut -d'=' -f2 | cut -d' ' -f1`
|
|
|
|
if [ -z $TELEGRAM_API_ID ] || [ -z $TELEGRAM_API_HASH ]; then
|
|
TELEGRAM_API_ID="17349"
|
|
TELEGRAM_API_HASH="344583e45741c457fe1862106095a5eb"
|
|
echo -e "\e[91m***************************************************************************\e[39m"
|
|
echo -e "\e[91m Use demo API_ID = $TELEGRAM_API_ID and API_HASH = $TELEGRAM_API_HASH \e[39m"
|
|
echo -e "\e[91m***************************************************************************\e[39m"
|
|
else
|
|
echo -e "\e[32m***************************************************************************\e[39m"
|
|
echo -e "\e[32m Use custom API_ID = $TELEGRAM_API_ID and API_HASH = $TELEGRAM_API_HASH \e[39m"
|
|
echo -e "\e[32m***************************************************************************\e[39m"
|
|
fi
|
|
|
|
# link submodules
|
|
rm -rf $sourceDir/cmake
|
|
rm -rf $sourceDir/Telegram/ThirdParty/{libtgvoip,rlottie,QR,tgcalls,expected,GSL}
|
|
rm -rf $sourceDir/Telegram/{lib_crl,lib_rpl,lib_base,codegen,lib_ui,lib_lottie,lib_rlottie}
|
|
rm -rf $sourceDir/Telegram/{lib_tl,lib_spellcheck,lib_storage,lib_qr,lib_webrtc,lib_webview}
|
|
|
|
ln -sf $sourceDir2 $sourceDir/Telegram/ThirdParty/libtgvoip
|
|
ln -sf $sourceDir3 $sourceDir/Telegram/ThirdParty/rlottie
|
|
ln -sf $sourceDir4 $sourceDir/Telegram/lib_crl
|
|
ln -sf $sourceDir5 $sourceDir/Telegram/lib_rpl
|
|
ln -sf $sourceDir6 $sourceDir/Telegram/lib_base
|
|
ln -sf $sourceDir7 $sourceDir/Telegram/codegen
|
|
ln -sf $sourceDir8 $sourceDir/Telegram/lib_ui
|
|
ln -sf $sourceDir9 $sourceDir/Telegram/lib_rlottie
|
|
ln -sf $sourceDir10 $sourceDir/Telegram/lib_lottie
|
|
ln -sf $sourceDir11 $sourceDir/Telegram/lib_tl
|
|
ln -sf $sourceDir12 $sourceDir/Telegram/lib_spellcheck
|
|
ln -sf $sourceDir13 $sourceDir/Telegram/lib_storage
|
|
ln -sf $sourceDir14 $sourceDir/cmake
|
|
ln -sf $sourceDir15 $sourceDir/Telegram/ThirdParty/QR
|
|
ln -sf $sourceDir16 $sourceDir/Telegram/lib_qr
|
|
ln -sf $sourceDir17 $sourceDir/Telegram/lib_webrtc
|
|
ln -sf $sourceDir18 $sourceDir/Telegram/ThirdParty/tgcalls
|
|
ln -sf $sourceDir19 $sourceDir/Telegram/lib_webview
|
|
ln -sf $sourceDir20 $sourceDir/Telegram/ThirdParty/expected
|
|
ln -sf $sourceDir21 $sourceDir/Telegram/ThirdParty/GSL
|
|
|
|
# build telegram
|
|
mkdir -p build
|
|
cd build
|
|
|
|
cmake .. \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DTDESKTOP_API_TEST=OFF \
|
|
-DTDESKTOP_DISABLE_GTK_INTEGRATION=ON \
|
|
-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \
|
|
-DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=ON \
|
|
-DDESKTOP_APP_DISABLE_GTK_INTEGRATION=ON \
|
|
-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=ON \
|
|
-DDESKTOP_APP_DISABLE_X11_INTEGRATION=ON \
|
|
-DDESKTOP_APP_DISABLE_AUTOUPDATE=ON \
|
|
-DDESKTOP_APP_DISABLE_WEBKITGTK=ON \
|
|
-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF \
|
|
-DDESKTOP_APP_USE_HUNSPELL_ONLY=ON \
|
|
-DTDESKTOP_USE_PACKAGED_TGVOIP=OFF \
|
|
-DLIBTGVOIP_DISABLE_ALSA=ON \
|
|
-DLIBTGVOIP_DISABLE_PULSEAUDIO=ON \
|
|
-DTDESKTOP_API_ID=$TELEGRAM_API_ID \
|
|
-DTDESKTOP_API_HASH=$TELEGRAM_API_HASH
|
|
|
|
make $jobArgs
|
|
}
|
|
|
|
INSTALL()
|
|
{
|
|
mkdir -p $appsDir
|
|
cp build/bin/Kotatogram $appsDir
|
|
strip $appsDir/Kotatogram
|
|
|
|
local APP_SIGNATURE="application/x-vnd.kotatogram"
|
|
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
|
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
|
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
|
local LONG_INFO="$SUMMARY"
|
|
sed \
|
|
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
|
-e "s|@MAJOR@|$MAJOR|" \
|
|
-e "s|@MIDDLE@|$MIDDLE|" \
|
|
-e "s|@MINOR@|$MINOR|" \
|
|
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
|
$portDir/additional-files/kotatogram_desktop.rdef.in > build/kotatogram_desktop.rdef
|
|
|
|
addResourcesToBinaries build/kotatogram_desktop.rdef $appsDir/Kotatogram
|
|
addAppDeskbarSymlink $appsDir/Kotatogram
|
|
}
|