mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
Kotatogram: bump version
This commit is contained in:
@@ -1,334 +0,0 @@
|
||||
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="2"
|
||||
SOURCE_URI="https://github.com/kotatogram/kotatogram-desktop/archive/refs/tags/k$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="ba65b7a056caca2c91b590463cf54fffe8dbab7b76d145bbfd64a8bb03978aac"
|
||||
SOURCE_FILENAME="kotatogram-$portVersion.tar.gz"
|
||||
SOURCE_DIR="kotatogram-desktop-k$portVersion"
|
||||
#libtgvoip
|
||||
srcGitRev_2="a090c6a8f7bfb365b301d85bb8c9664d71321c5c"
|
||||
SOURCE_URI_2="https://github.com/telegramdesktop/libtgvoip/archive/$srcGitRev_2.tar.gz"
|
||||
CHECKSUM_SHA256_2="34f1b49cfdc71dd05477986998c0e3888bac411853d8b2ee9ddd48dfc416e88e"
|
||||
SOURCE_FILENAME_2="libtgvoip-$srcGitRev_2.tar.gz"
|
||||
SOURCE_DIR_2="libtgvoip-$srcGitRev_2"
|
||||
#rlottie
|
||||
srcGitRev_3="8c69fc20cf2e150db304311f1233a4b55a8892d7"
|
||||
SOURCE_URI_3="https://github.com/desktop-app/rlottie/archive/$srcGitRev_3.tar.gz"
|
||||
CHECKSUM_SHA256_3="cbc1f4bf8c28ffeb89852eda7056ff6aa80d49cb45736a583c931d5ceeccdcdd"
|
||||
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="94a42b775ab4e46e5edeb88d8ed6c06f9e869c61"
|
||||
SOURCE_URI_5="https://github.com/desktop-app/lib_rpl/archive/$srcGitRev_5.tar.gz"
|
||||
CHECKSUM_SHA256_5="355477e3b53ffff6260bab92f8acd859db4e6cfc7a69286ec49da85ad67decd3"
|
||||
SOURCE_FILENAME_5="lib_rpl-$srcGitRev_5.tar.gz"
|
||||
SOURCE_DIR_5="lib_rpl-$srcGitRev_5"
|
||||
#lib_base
|
||||
srcGitRev_6="087bf4e6159678fada93eea39e923ce634f51caf"
|
||||
SOURCE_URI_6="https://github.com/desktop-app/lib_base/archive/$srcGitRev_6.tar.gz"
|
||||
CHECKSUM_SHA256_6="95e29518b33f775c03d9fdd22d459d5bb4576178d1a10ad845b847d50a1724b8"
|
||||
SOURCE_FILENAME_6="lib_base-$srcGitRev_6.tar.gz"
|
||||
SOURCE_DIR_6="lib_base-$srcGitRev_6"
|
||||
#codegen
|
||||
srcGitRev_7="a60edf917419407cfe5c6095a56ccf363417ebd8"
|
||||
SOURCE_URI_7="https://github.com/desktop-app/codegen/archive/$srcGitRev_7.tar.gz"
|
||||
CHECKSUM_SHA256_7="06ee75ceb3be9cbd1471f14c1edce07b30189b012edb71a3c8ea1fdf8e30ad52"
|
||||
SOURCE_FILENAME_7="codegen-$srcGitRev_7.tar.gz"
|
||||
SOURCE_DIR_7="codegen-$srcGitRev_7"
|
||||
#lib_ui
|
||||
srcGitRev_8="f8f407004b139a1cd882c538f00e8a87b5e65b9a"
|
||||
SOURCE_URI_8="https://github.com/kotatogram/lib_ui/archive/$srcGitRev_8.tar.gz"
|
||||
CHECKSUM_SHA256_8="1e54c8b6b6da81c52a23d338947220ce30594ad565ddfa5424e909f9cae02531"
|
||||
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="ad7fce76f3b403471a296c928bae67cd36b8b2cf"
|
||||
SOURCE_URI_10="https://github.com/desktop-app/lib_lottie/archive/$srcGitRev_10.tar.gz"
|
||||
CHECKSUM_SHA256_10="b206fa1af74bf81bc54abcf14dc573e22d4e647de38b3c977d9e3fe18c99ec95"
|
||||
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="b1b295fee18e44534d9a96ec9858baa4c932f7d2"
|
||||
SOURCE_URI_12="https://github.com/desktop-app/lib_spellcheck/archive/$srcGitRev_12.tar.gz"
|
||||
CHECKSUM_SHA256_12="2a3958a2d7b5db14b73508dd525b847e5fac20b2168a58fad83d4e33ac007ed1"
|
||||
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="7d2037630abad09ee7b8857710aa7a0efd0c5672"
|
||||
SOURCE_URI_14="https://github.com/kotatogram/cmake_helpers/archive/$srcGitRev_14.tar.gz"
|
||||
CHECKSUM_SHA256_14="035954107782d63781f2328ce11c051e74a379d5cf63f4d38d6c77502f979a97"
|
||||
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="04cc1ff4a6fdade551e26441488ac0d0a208e96c"
|
||||
SOURCE_URI_17="https://github.com/desktop-app/lib_webrtc/archive/$srcGitRev_17.tar.gz"
|
||||
CHECKSUM_SHA256_17="e2fd20f6b059ad6654abe640a48dea183cfc880c7c33424c168c5e86fad316c4"
|
||||
SOURCE_FILENAME_17="lib_webrtc-$srcGitRev_17.tar.gz"
|
||||
SOURCE_DIR_17="lib_webrtc-$srcGitRev_17"
|
||||
#tgcalls
|
||||
srcGitRev_18="955e51f15ba1b2e35a910064388e5c0737032bb7"
|
||||
SOURCE_URI_18="https://github.com/TelegramMessenger/tgcalls/archive/$srcGitRev_18.tar.gz"
|
||||
CHECKSUM_SHA256_18="694f6a5ce50e0b3ae0204c6d3692a9ca71b6347f35d41a45b52e5a04f7f7aeee"
|
||||
SOURCE_FILENAME_18="tgcalls-$srcGitRev_18.tar.gz"
|
||||
SOURCE_DIR_18="tgcalls-$srcGitRev_18"
|
||||
#lib_webview
|
||||
srcGitRev_19="8be9c0ff274569cbb1bc9dd4ea9ed9089c37ca93"
|
||||
SOURCE_URI_19="https://github.com/desktop-app/lib_webview/archive/$srcGitRev_19.tar.gz"
|
||||
CHECKSUM_SHA256_19="1dce150a586ca8ab8716c7880723ae5a8c390eeb689ed727bcd4f64311d3e88d"
|
||||
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:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Core5Compat$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6Network$secondaryArchSuffix
|
||||
lib:libQt6Svg$secondaryArchSuffix
|
||||
lib:libQt6Widgets$secondaryArchSuffix
|
||||
lib:librnnoise$secondaryArchSuffix
|
||||
lib:libsigc_2.0$secondaryArchSuffix
|
||||
lib:libstdc++$secondaryArchSuffix
|
||||
lib:libswresample$secondaryArchSuffix
|
||||
lib:libswscale$secondaryArchSuffix
|
||||
lib:libvpx$secondaryArchSuffix
|
||||
lib:libxxhash$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
qt6_tools${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:libQt6Core$secondaryArchSuffix
|
||||
devel:libQt6Core5Compat$secondaryArchSuffix
|
||||
devel:libQt6Gui$secondaryArchSuffix
|
||||
devel:libQt6Network$secondaryArchSuffix
|
||||
devel:libQt6Svg$secondaryArchSuffix
|
||||
devel:libQt6Widgets$secondaryArchSuffix
|
||||
devel:librapidjson$secondaryArchSuffix
|
||||
devel:librnnoise$secondaryArchSuffix
|
||||
devel:libswresample$secondaryArchSuffix
|
||||
devel:libswscale$secondaryArchSuffix
|
||||
devel:libtg_owt$secondaryArchSuffix
|
||||
devel:libvpx$secondaryArchSuffix
|
||||
devel:libxxhash$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:range_v3$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:gawk
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
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 \
|
||||
-DDESKTOP_APP_QT6=ON \
|
||||
-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 -j1
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
177
net-im/kotatogram-desktop/kotatogram_desktop-1.4.9.recipe
Normal file
177
net-im/kotatogram-desktop/kotatogram_desktop-1.4.9.recipe
Normal file
@@ -0,0 +1,177 @@
|
||||
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-2022 Telegram
|
||||
2022 Kotatogram Team"
|
||||
LICENSE="GNU GPL v3"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/kotatogram/kotatogram-desktop/releases/download/k${portVersion}/kotatogram-desktop-${portVersion}-full.tar.gz"
|
||||
CHECKSUM_SHA256="27d99f642939a9501bafe633c00b39983284f3fc7d84f0944f95adcbe9182d03"
|
||||
SOURCE_DIR="kotatogram-desktop-$portVersion-full"
|
||||
srcGitRev_2="2b383fe05f8ae78ac99470b9a2b9ea22b3ee5a92"
|
||||
SOURCE_URI_2="https://salsa.debian.org/debian/telegram-desktop/-/raw/$srcGitRev_2/debian/rules#noarchive"
|
||||
CHECKSUM_SHA256_2="613e7e357518739e1f7d035337f37c344b248283fd4d916ddc95df73c2ff84ad"
|
||||
|
||||
PATCHES="
|
||||
libtgvoip-$portVersion.patchset
|
||||
kotatogram_desktop-$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:libQt6Core$secondaryArchSuffix
|
||||
lib:libQt6Core5Compat$secondaryArchSuffix
|
||||
lib:libQt6Gui$secondaryArchSuffix
|
||||
lib:libQt6Network$secondaryArchSuffix
|
||||
lib:libQt6Svg$secondaryArchSuffix
|
||||
lib:libQt6Widgets$secondaryArchSuffix
|
||||
lib:librnnoise$secondaryArchSuffix
|
||||
lib:libsigc_2.0$secondaryArchSuffix
|
||||
lib:libstdc++$secondaryArchSuffix
|
||||
lib:libswresample$secondaryArchSuffix
|
||||
lib:libswscale$secondaryArchSuffix
|
||||
lib:libvpx$secondaryArchSuffix
|
||||
lib:libxxhash$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
qt6_tools${secondaryArchSuffix}_devel
|
||||
devel:libabsl_strings$secondaryArchSuffix
|
||||
devel:libabsl_throw_delegate$secondaryArchSuffix
|
||||
devel:libavcodec$secondaryArchSuffix >= 58
|
||||
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:libQt6Core$secondaryArchSuffix
|
||||
devel:libQt6Core5Compat$secondaryArchSuffix
|
||||
devel:libQt6Gui$secondaryArchSuffix
|
||||
devel:libQt6Network$secondaryArchSuffix
|
||||
devel:libQt6Svg$secondaryArchSuffix
|
||||
devel:libQt6Widgets$secondaryArchSuffix
|
||||
devel:librapidjson$secondaryArchSuffix
|
||||
devel:librnnoise$secondaryArchSuffix
|
||||
devel:libtg_owt$secondaryArchSuffix
|
||||
devel:libvpx$secondaryArchSuffix
|
||||
devel:libxxhash$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
devel:range_v3$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:gawk
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
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" $sourceDir2/rules | cut -d'=' -f2 | cut -d' ' -f1`
|
||||
local TELEGRAM_API_HASH=`sed -n "/TDESKTOP_API_HASH/p" $sourceDir2/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
|
||||
|
||||
# build telegram
|
||||
mkdir -p build
|
||||
cd build
|
||||
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DDESKTOP_APP_QT6=ON \
|
||||
-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
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
From 3d7f45b060924521b13a80acd670fc32fbeabc28 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Wed, 10 Nov 2021 18:21:03 +1000
|
||||
Subject: Fixes for Haiku
|
||||
|
||||
|
||||
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
|
||||
index 58ba80a..fe98397 100644
|
||||
--- a/external/CMakeLists.txt
|
||||
+++ b/external/CMakeLists.txt
|
||||
@@ -37,7 +37,7 @@ if (add_hunspell_library)
|
||||
add_checked_subdirectory(hunspell)
|
||||
endif()
|
||||
add_checked_subdirectory(iconv)
|
||||
-if (LINUX)
|
||||
+if (LINUX AND NOT HAIKU)
|
||||
add_checked_subdirectory(jemalloc)
|
||||
endif()
|
||||
add_checked_subdirectory(jpeg)
|
||||
diff --git a/options_linux.cmake b/options_linux.cmake
|
||||
index 2797c7b..26368f2 100644
|
||||
--- a/options_linux.cmake
|
||||
+++ b/options_linux.cmake
|
||||
@@ -45,10 +45,12 @@ if (DESKTOP_APP_SPECIAL_TARGET)
|
||||
target_link_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto -fuse-linker-plugin>)
|
||||
endif()
|
||||
|
||||
+if (NOT HAIKU)
|
||||
target_link_libraries(common_options
|
||||
INTERFACE
|
||||
desktop-app::external_jemalloc
|
||||
)
|
||||
+endif()
|
||||
|
||||
if (DESKTOP_APP_USE_ALLOCATION_TRACER)
|
||||
target_link_options(common_options
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
From d2b97d1868c9a97d454ed559a82481d9f29825a5 Mon Sep 17 00:00:00 2001
|
||||
From e9df8a423c024845d8510404b9da6b29ac77b9a9 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sat, 1 Jan 2022 23:26:50 +1000
|
||||
Date: Mon, 21 Mar 2022 12:42:33 +1000
|
||||
Subject: Add Haiku support
|
||||
|
||||
|
||||
diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt
|
||||
index bc35728..a0b0531 100644
|
||||
index 3eb4de3..7495342 100644
|
||||
--- a/Telegram/CMakeLists.txt
|
||||
+++ b/Telegram/CMakeLists.txt
|
||||
@@ -95,6 +95,15 @@ PRIVATE
|
||||
@@ -24,7 +24,7 @@ index bc35728..a0b0531 100644
|
||||
target_precompile_headers(Telegram PRIVATE ${src_loc}/stdafx.h)
|
||||
nice_target_sources(Telegram ${src_loc}
|
||||
PRIVATE
|
||||
@@ -1240,6 +1249,16 @@ else()
|
||||
@@ -1252,6 +1261,16 @@ else()
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -41,7 +41,7 @@ index bc35728..a0b0531 100644
|
||||
if (DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION)
|
||||
remove_target_sources(Telegram ${src_loc}
|
||||
platform/linux/linux_wayland_integration.cpp
|
||||
@@ -1379,7 +1398,7 @@ else()
|
||||
@@ -1389,7 +1408,7 @@ else()
|
||||
endif()
|
||||
|
||||
set(bundle_identifier "io.github.kotatogram")
|
||||
@@ -51,7 +51,7 @@ index bc35728..a0b0531 100644
|
||||
else()
|
||||
set(output_name "Kotatogram")
|
||||
diff --git a/Telegram/SourceFiles/calls/group/calls_group_menu.cpp b/Telegram/SourceFiles/calls/group/calls_group_menu.cpp
|
||||
index 0fdaf4c..ea0f606 100644
|
||||
index 2f0c52d..63c550a 100644
|
||||
--- a/Telegram/SourceFiles/calls/group/calls_group_menu.cpp
|
||||
+++ b/Telegram/SourceFiles/calls/group/calls_group_menu.cpp
|
||||
@@ -583,6 +583,7 @@ void FillMenu(
|
||||
@@ -71,10 +71,10 @@ index 0fdaf4c..ea0f606 100644
|
||||
if (const auto strong = weak.get()) {
|
||||
showBox(Box(SettingsBox, strong));
|
||||
diff --git a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp
|
||||
index f0248ed..d325571 100644
|
||||
index 1fd532c..504c62a 100644
|
||||
--- a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp
|
||||
+++ b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp
|
||||
@@ -1936,7 +1936,9 @@ void Panel::updateButtonsGeometry() {
|
||||
@@ -1942,7 +1942,9 @@ void Panel::updateButtonsGeometry() {
|
||||
const auto muteSize = _mute->innerSize().width() + 2 * addSkip;
|
||||
const auto skip = st::groupCallButtonSkipSmall;
|
||||
const auto fullWidth = (_video->width() + skip)
|
||||
@@ -84,7 +84,7 @@ index f0248ed..d325571 100644
|
||||
+ (muteSize + skip)
|
||||
+ (_settings ->width() + skip)
|
||||
+ _hangup->width();
|
||||
@@ -1947,9 +1949,13 @@ void Panel::updateButtonsGeometry() {
|
||||
@@ -1953,9 +1955,13 @@ void Panel::updateButtonsGeometry() {
|
||||
- membersWidth
|
||||
- membersSkip
|
||||
- fullWidth) / 2;
|
||||
@@ -99,10 +99,10 @@ index f0248ed..d325571 100644
|
||||
_video->moveToLeft(left, buttonsTop);
|
||||
left += _video->width() + skip;
|
||||
diff --git a/Telegram/SourceFiles/core/core_settings.h b/Telegram/SourceFiles/core/core_settings.h
|
||||
index 4e0b6d6..c7121c5 100644
|
||||
index 26c6f3d..d429c6f 100644
|
||||
--- a/Telegram/SourceFiles/core/core_settings.h
|
||||
+++ b/Telegram/SourceFiles/core/core_settings.h
|
||||
@@ -784,7 +784,7 @@ private:
|
||||
@@ -797,7 +797,7 @@ private:
|
||||
rpl::variable<float64> _dialogsWidthRatio; // per-window
|
||||
rpl::variable<int> _thirdColumnWidth = kDefaultThirdColumnWidth; // p-w
|
||||
bool _notifyFromAll = true;
|
||||
@@ -156,10 +156,21 @@ index 453ccfd..c8374f9 100644
|
||||
if (internal::ShowXDPOpenWithDialog(filepath)) {
|
||||
return true;
|
||||
diff --git a/Telegram/SourceFiles/platform/linux/main_window_linux.cpp b/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
|
||||
index 500b5b6..d784700 100644
|
||||
index 759f697..813002a 100644
|
||||
--- a/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
|
||||
+++ b/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
|
||||
@@ -934,11 +934,17 @@ bool MainWindow::hasTrayIcon() const {
|
||||
@@ -42,6 +42,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include "base/platform/linux/base_linux_xcb_utilities.h"
|
||||
#endif // !DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include <QtCore/QSize>
|
||||
#include <QtCore/QMimeData>
|
||||
#include <QtGui/QWindow>
|
||||
@@ -532,11 +536,17 @@ bool MainWindow::hasTrayIcon() const {
|
||||
|
||||
bool MainWindow::isActiveForTrayMenu() {
|
||||
updateIsActive();
|
||||
@@ -172,14 +183,14 @@ index 500b5b6..d784700 100644
|
||||
|
||||
void MainWindow::psShowTrayMenu() {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
_trayIconMenuXEmbed->popup(QCursor::pos());
|
||||
_private->trayIconMenuXEmbed->popup(QCursor::pos());
|
||||
+#endif
|
||||
}
|
||||
|
||||
void MainWindow::psTrayMenuUpdated() {
|
||||
@@ -977,6 +983,10 @@ void MainWindow::psSetupTrayIcon() {
|
||||
}
|
||||
trayIcon->setIcon(TrayIconGen(counter, muted));
|
||||
@@ -550,6 +560,10 @@ void MainWindow::psSetupTrayIcon() {
|
||||
Core::App().unreadBadge(),
|
||||
Core::App().unreadBadgeMuted()));
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ trayIcon->setContextMenu(trayIconMenu);
|
||||
@@ -188,13 +199,13 @@ index 500b5b6..d784700 100644
|
||||
attachToTrayIcon(trayIcon);
|
||||
}
|
||||
updateIconCounters();
|
||||
@@ -1067,8 +1077,10 @@ void MainWindow::updateIconCounters() {
|
||||
@@ -628,8 +642,10 @@ void MainWindow::updateIconCounters() {
|
||||
}
|
||||
|
||||
void MainWindow::initTrayMenuHook() {
|
||||
+#ifndef Q_OS_HAIKU
|
||||
_trayIconMenuXEmbed.emplace(nullptr, trayIconMenu);
|
||||
_trayIconMenuXEmbed->deleteOnHide(false);
|
||||
_private->trayIconMenuXEmbed.emplace(nullptr, trayIconMenu);
|
||||
_private->trayIconMenuXEmbed->deleteOnHide(false);
|
||||
+#endif
|
||||
}
|
||||
|
||||
@@ -474,10 +485,10 @@ index 0000000..8605b28
|
||||
+} // namespace Notifications
|
||||
+} // namespace Platform
|
||||
diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
|
||||
index 26168ba..1706cbb 100644
|
||||
index daf85b7..2ffb439 100644
|
||||
--- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp
|
||||
+++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp
|
||||
@@ -34,6 +34,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
@@ -35,6 +35,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include "base/platform/linux/base_linux_xsettings.h"
|
||||
#endif // !DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
|
||||
@@ -488,16 +499,7 @@ index 26168ba..1706cbb 100644
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QStyle>
|
||||
#include <QtCore/QStandardPaths>
|
||||
@@ -44,7 +48,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
|
||||
#ifdef Q_OS_FREEBSD
|
||||
#include <malloc_np.h>
|
||||
-#else // Q_OS_FREEBSD
|
||||
+#elif !defined (Q_OS_HAIKU) // Q_OS_FREEBSD
|
||||
#include <jemalloc/jemalloc.h>
|
||||
#endif // Q_OS_FREEBSD
|
||||
|
||||
@@ -78,6 +82,33 @@ constexpr auto kXDGDesktopPortalObjectPath = "/org/freedesktop/portal/desktop"_c
|
||||
@@ -74,6 +78,33 @@ constexpr auto kXDGDesktopPortalObjectPath = "/org/freedesktop/portal/desktop"_c
|
||||
constexpr auto kIBusPortalService = "org.freedesktop.portal.IBus"_cs;
|
||||
constexpr auto kWebviewService = "io.github.kotatogram.GtkIntegration.WebviewHelper-%1-%2"_cs;
|
||||
|
||||
@@ -531,7 +533,7 @@ index 26168ba..1706cbb 100644
|
||||
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
void PortalAutostart(bool start, bool silent) {
|
||||
if (cExeName().isEmpty()) {
|
||||
@@ -618,37 +649,6 @@ void psActivateProcess(uint64 pid) {
|
||||
@@ -612,37 +643,6 @@ void psActivateProcess(uint64 pid) {
|
||||
// objc_activateProgram();
|
||||
}
|
||||
|
||||
@@ -569,7 +571,7 @@ index 26168ba..1706cbb 100644
|
||||
QString psAppDataPath() {
|
||||
// We should not use ~/.TelegramDesktop, since it's a fork.
|
||||
/*
|
||||
@@ -664,7 +664,11 @@ QString psAppDataPath() {
|
||||
@@ -658,7 +658,11 @@ QString psAppDataPath() {
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -582,71 +584,349 @@ index 26168ba..1706cbb 100644
|
||||
}
|
||||
|
||||
void psDoCleanup() {
|
||||
@@ -692,8 +696,9 @@ namespace Platform {
|
||||
|
||||
void start() {
|
||||
auto backgroundThread = true;
|
||||
+#ifndef Q_OS_HAIKU
|
||||
mallctl("background_thread", nullptr, nullptr, &backgroundThread, sizeof(bool));
|
||||
-
|
||||
+#endif
|
||||
// Prevent any later calls into setlocale() by Qt
|
||||
QCoreApplicationPrivate::initLocale();
|
||||
|
||||
@@ -829,7 +834,7 @@ bool OpenSystemSettings(SystemSettingsType type) {
|
||||
} else if (DesktopEnvironment::IsMATE()) {
|
||||
add("mate-volume-control");
|
||||
@@ -823,7 +827,7 @@ bool OpenSystemSettings(SystemSettingsType type) {
|
||||
add("mate-volume-control");
|
||||
}
|
||||
}
|
||||
-#ifdef __HAIKU__
|
||||
+#ifdef Q_OS_HAIKU
|
||||
add("Media");
|
||||
#endif // __ HAIKU__
|
||||
add("pavucontrol-qt");
|
||||
diff --git a/Telegram/cmake/lib_tgvoip.cmake b/Telegram/cmake/lib_tgvoip.cmake
|
||||
index 68a64ba..319e5b4 100644
|
||||
--- a/Telegram/cmake/lib_tgvoip.cmake
|
||||
+++ b/Telegram/cmake/lib_tgvoip.cmake
|
||||
@@ -116,6 +116,14 @@ if (NOT TGVOIP_FOUND)
|
||||
os/linux/AudioPulse.cpp
|
||||
os/linux/AudioPulse.h
|
||||
diff --git a/Telegram/ThirdParty/tgcalls/tgcalls/MediaManager.cpp b/Telegram/ThirdParty/tgcalls/tgcalls/MediaManager.cpp
|
||||
index 057a9b5..68abe1e 100644
|
||||
--- a/Telegram/ThirdParty/tgcalls/tgcalls/MediaManager.cpp
|
||||
+++ b/Telegram/ThirdParty/tgcalls/tgcalls/MediaManager.cpp
|
||||
@@ -967,7 +967,7 @@ void MediaManager::fillCallStats(CallStats &callStats) {
|
||||
}
|
||||
|
||||
+ # Haiku
|
||||
+ os/haiku/AudioInputHaiku.cpp
|
||||
+ os/haiku/AudioInputHaiku.h
|
||||
+ os/haiku/AudioOutputHaiku.cpp
|
||||
+ os/haiku/AudioOutputHaiku.h
|
||||
+ os/haiku/RingBuffer.cpp
|
||||
+ os/haiku/RingBuffer.h
|
||||
void MediaManager::setAudioInputDevice(std::string id) {
|
||||
-#if defined(WEBRTC_IOS)
|
||||
+#if defined(WEBRTC_IOS) || defined(__HAIKU__)
|
||||
#else
|
||||
SetAudioInputDeviceById(_audioDeviceModule.get(), id);
|
||||
#endif
|
||||
diff --git a/Telegram/ThirdParty/tgcalls/tgcalls/group/GroupInstanceCustomImpl.cpp b/Telegram/ThirdParty/tgcalls/tgcalls/group/GroupInstanceCustomImpl.cpp
|
||||
index 574260c..a78bf44 100644
|
||||
--- a/Telegram/ThirdParty/tgcalls/tgcalls/group/GroupInstanceCustomImpl.cpp
|
||||
+++ b/Telegram/ThirdParty/tgcalls/tgcalls/group/GroupInstanceCustomImpl.cpp
|
||||
@@ -2782,7 +2782,7 @@ public:
|
||||
}
|
||||
|
||||
void setAudioOutputDevice(const std::string &id) {
|
||||
-#ifndef WEBRTC_IOS
|
||||
+#if !defined(WEBRTC_IOS) && !defined(__HAIKU__)
|
||||
_threads->getWorkerThread()->Invoke<void>(RTC_FROM_HERE, [&] {
|
||||
SetAudioOutputDeviceById(_audioDeviceModule.get(), id);
|
||||
});
|
||||
@@ -2790,7 +2790,7 @@ public:
|
||||
}
|
||||
|
||||
void setAudioInputDevice(const std::string &id) {
|
||||
-#ifndef WEBRTC_IOS
|
||||
+#if !defined(WEBRTC_IOS) && !defined(__HAIKU__)
|
||||
_threads->getWorkerThread()->Invoke<void>(RTC_FROM_HERE, [&] {
|
||||
SetAudioInputDeviceById(_audioDeviceModule.get(), id);
|
||||
});
|
||||
diff --git a/Telegram/lib_base/base/haiku_types.h b/Telegram/lib_base/base/haiku_types.h
|
||||
new file mode 100644
|
||||
index 0000000..3a57ce2
|
||||
--- /dev/null
|
||||
+++ b/Telegram/lib_base/base/haiku_types.h
|
||||
@@ -0,0 +1,24 @@
|
||||
+#pragma once
|
||||
+
|
||||
# POSIX
|
||||
os/posix/NetworkSocketPosix.cpp
|
||||
os/posix/NetworkSocketPosix.h
|
||||
@@ -153,6 +161,25 @@ if (NOT TGVOIP_FOUND)
|
||||
TGVOIP_NO_OSX_PRIVATE_API
|
||||
)
|
||||
endif()
|
||||
+ elseif (HAIKU)
|
||||
+ target_compile_definitions(lib_tgvoip_bundled
|
||||
+ PUBLIC
|
||||
+ WEBRTC_POSIX
|
||||
+ WEBRTC_HAIKU
|
||||
+ )
|
||||
+ target_compile_options(lib_tgvoip_bundled
|
||||
+ PRIVATE
|
||||
+ -Wno-unknown-pragmas
|
||||
+ -Wno-error=sequence-point
|
||||
+ -Wno-error=unused-result
|
||||
+ -mmmx
|
||||
+ -msse2
|
||||
+ )
|
||||
+ target_link_libraries(lib_tgvoip_bundled
|
||||
+ PRIVATE
|
||||
+ network
|
||||
+ media
|
||||
+ )
|
||||
else()
|
||||
add_library(lib_tgvoip_bundled_options INTERFACE)
|
||||
target_compile_options(lib_tgvoip_bundled_options
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+
|
||||
+#define _SUPPORT_DEFS_H
|
||||
+
|
||||
+#ifdef __x86_64__
|
||||
+#define int64 __haiku_int64
|
||||
+#ifdef USE_HAIKU_UINT64
|
||||
+#define uint64 __haiku_uint64
|
||||
+#endif
|
||||
+#else
|
||||
+#define int32 __haiku_int32
|
||||
+#define uint32 __haiku_uint32
|
||||
+#endif
|
||||
+
|
||||
+typedef int32 status_t;
|
||||
+typedef uint32 type_code;
|
||||
+typedef uint32 perform_code;
|
||||
+
|
||||
+typedef int64 bigtime_t;
|
||||
+typedef int64 nanotime_t;
|
||||
+
|
||||
+#endif
|
||||
diff --git a/Telegram/lib_base/base/platform/linux/base_file_utilities_linux.cpp b/Telegram/lib_base/base/platform/linux/base_file_utilities_linux.cpp
|
||||
index aa65e5e..60b761f 100644
|
||||
--- a/Telegram/lib_base/base/platform/linux/base_file_utilities_linux.cpp
|
||||
+++ b/Telegram/lib_base/base/platform/linux/base_file_utilities_linux.cpp
|
||||
@@ -27,8 +27,58 @@
|
||||
#include <stdio.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#include <AppKit.h>
|
||||
+#include <StorageKit.h>
|
||||
+#endif
|
||||
+
|
||||
namespace base::Platform {
|
||||
namespace {
|
||||
+
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+bool HaikuShowInFolder(const QString &filepath) {
|
||||
+ try {
|
||||
+ BMessenger trackerMessenger("application/x-vnd.Be-TRAK");
|
||||
+ if (!trackerMessenger.IsValid())
|
||||
+ return false;
|
||||
+
|
||||
+ BEntry fileEntry(filepath.toUtf8().data());
|
||||
+ entry_ref fileRef;
|
||||
+ if (fileEntry.GetRef(&fileRef) != B_OK)
|
||||
+ return false;
|
||||
+
|
||||
+ if (!fileEntry.Exists())
|
||||
+ return false;
|
||||
+
|
||||
+ BEntry folderEntry;
|
||||
+ if (fileEntry.GetParent(&folderEntry) != B_OK)
|
||||
+ return false;
|
||||
+
|
||||
+ entry_ref folderRef;
|
||||
+ if (folderEntry.GetRef(&folderRef) != B_OK)
|
||||
+ return false;
|
||||
+
|
||||
+ BMessage openCommand(B_REFS_RECEIVED);
|
||||
+ openCommand.AddRef("refs", &folderRef);
|
||||
+ node_ref fileNodeRef;
|
||||
+ if (fileEntry.GetNodeRef(&fileNodeRef) == B_OK) {
|
||||
+ openCommand.AddData("nodeRefToSelect", B_RAW_TYPE,
|
||||
+ static_cast<void*>(&fileNodeRef), sizeof(node_ref));
|
||||
+ }
|
||||
+ if (trackerMessenger.SendMessage(&openCommand) == B_OK) {
|
||||
+ snooze(300000);
|
||||
+ BMessage selectCommand('Tsel');
|
||||
+ selectCommand.AddRef("refs", &fileRef);
|
||||
+ trackerMessenger.SendMessage(&selectCommand);
|
||||
+ return true;
|
||||
+ }
|
||||
+ } catch (...) {
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
bool PortalShowInFolder(const QString &filepath) {
|
||||
@@ -152,6 +202,12 @@ bool ShowInFolder(const QString &filepath) {
|
||||
return true;
|
||||
}
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ if (HaikuShowInFolder(filepath)) {
|
||||
+ return true;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (ProcessShowInFolder(filepath)) {
|
||||
return true;
|
||||
}
|
||||
diff --git a/Telegram/lib_base/base/platform/linux/base_last_input_linux.cpp b/Telegram/lib_base/base/platform/linux/base_last_input_linux.cpp
|
||||
index 033dcbd..bf7d541 100644
|
||||
--- a/Telegram/lib_base/base/platform/linux/base_last_input_linux.cpp
|
||||
+++ b/Telegram/lib_base/base/platform/linux/base_last_input_linux.cpp
|
||||
@@ -24,6 +24,11 @@
|
||||
#include <xcb/screensaver.h>
|
||||
#endif // !DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#include <InterfaceDefs.h>
|
||||
+#endif
|
||||
+
|
||||
namespace base::Platform {
|
||||
namespace {
|
||||
|
||||
@@ -184,9 +189,23 @@ std::optional<crl::time> MutterDBusLastUserInputTime() {
|
||||
}
|
||||
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+std::optional<crl::time> HaikuLastUserInputTime() {
|
||||
+ const auto idle = idle_time() / 1000;
|
||||
+ return (crl::now() - static_cast<crl::time>(idle));
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
} // namespace
|
||||
|
||||
std::optional<crl::time> LastUserInputTime() {
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ const auto haikuResult = HaikuLastUserInputTime();
|
||||
+ if (haikuResult.has_value()) {
|
||||
+ return haikuResult;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
#ifndef DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
if (::Platform::IsX11()) {
|
||||
const auto xcbResult = XCBLastUserInputTime();
|
||||
diff --git a/Telegram/lib_base/base/platform/linux/base_power_save_blocker_linux.cpp b/Telegram/lib_base/base/platform/linux/base_power_save_blocker_linux.cpp
|
||||
index cf86098..9933d26 100644
|
||||
--- a/Telegram/lib_base/base/platform/linux/base_power_save_blocker_linux.cpp
|
||||
+++ b/Telegram/lib_base/base/platform/linux/base_power_save_blocker_linux.cpp
|
||||
@@ -21,6 +21,10 @@
|
||||
#include <giomm.h>
|
||||
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include <QtGui/QWindow>
|
||||
#include <private/qguiapplication_p.h>
|
||||
|
||||
diff --git a/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp b/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
|
||||
index 20aed5e..61d46fc 100644
|
||||
--- a/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
|
||||
+++ b/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
|
||||
@@ -13,6 +13,10 @@
|
||||
#include "base/platform/linux/base_linux_glibmm_helper.h"
|
||||
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include <QtCore/QFile>
|
||||
#include <QtCore/QProcess>
|
||||
#include <QtGui/QWindow>
|
||||
diff --git a/Telegram/lib_ui/ui/platform/linux/ui_utility_linux.cpp b/Telegram/lib_ui/ui/platform/linux/ui_utility_linux.cpp
|
||||
index f55ed32..6ec825d 100644
|
||||
--- a/Telegram/lib_ui/ui/platform/linux/ui_utility_linux.cpp
|
||||
+++ b/Telegram/lib_ui/ui/platform/linux/ui_utility_linux.cpp
|
||||
@@ -618,7 +618,7 @@ TitleControls::Layout TitleControlsLayout() {
|
||||
}
|
||||
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
|
||||
-#ifdef __HAIKU__
|
||||
+#ifdef Q_OS_HAIKU
|
||||
return TitleControls::Layout{
|
||||
.left = {
|
||||
TitleControls::Control::Close,
|
||||
@@ -628,7 +628,7 @@ TitleControls::Layout TitleControlsLayout() {
|
||||
TitleControls::Control::Maximize,
|
||||
}
|
||||
};
|
||||
-#else // __HAIKU__
|
||||
+#else // Q_OS_HAIKU
|
||||
return TitleControls::Layout{
|
||||
.right = {
|
||||
TitleControls::Control::Minimize,
|
||||
@@ -636,7 +636,7 @@ TitleControls::Layout TitleControlsLayout() {
|
||||
TitleControls::Control::Close,
|
||||
}
|
||||
};
|
||||
-#endif // !__HAIKU__
|
||||
+#endif // !Q_OS_HAIKU
|
||||
}
|
||||
|
||||
} // namespace Platform
|
||||
diff --git a/Telegram/lib_ui/ui/ui_utility.cpp b/Telegram/lib_ui/ui/ui_utility.cpp
|
||||
index e66055d..e31d635 100644
|
||||
--- a/Telegram/lib_ui/ui/ui_utility.cpp
|
||||
+++ b/Telegram/lib_ui/ui/ui_utility.cpp
|
||||
@@ -9,6 +9,10 @@
|
||||
#include "ui/platform/ui_platform_utility.h"
|
||||
#include "ui/style/style_core.h"
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtGui/QWindow>
|
||||
#include <QtGui/QtEvents>
|
||||
diff --git a/Telegram/lib_webrtc/webrtc/details/webrtc_openal_adm.cpp b/Telegram/lib_webrtc/webrtc/details/webrtc_openal_adm.cpp
|
||||
index 9955bd3..ca023c1 100644
|
||||
--- a/Telegram/lib_webrtc/webrtc/details/webrtc_openal_adm.cpp
|
||||
+++ b/Telegram/lib_webrtc/webrtc/details/webrtc_openal_adm.cpp
|
||||
@@ -4,6 +4,11 @@
|
||||
// For license and copyright information please follow this link:
|
||||
// https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
//
|
||||
+
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include "webrtc/details/webrtc_openal_adm.h"
|
||||
|
||||
#include "base/timer.h"
|
||||
diff --git a/Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.cpp b/Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.cpp
|
||||
index 092b667..204e259 100644
|
||||
--- a/Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.cpp
|
||||
+++ b/Telegram/lib_webrtc/webrtc/webrtc_audio_input_tester.cpp
|
||||
@@ -4,6 +4,11 @@
|
||||
// For license and copyright information please follow this link:
|
||||
// https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
//
|
||||
+
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include "webrtc/webrtc_audio_input_tester.h"
|
||||
|
||||
#include "webrtc/webrtc_create_adm.h"
|
||||
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
|
||||
index 465f5f7..f2f13fc 100644
|
||||
--- a/cmake/CMakeLists.txt
|
||||
+++ b/cmake/CMakeLists.txt
|
||||
@@ -5,7 +5,7 @@
|
||||
# https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
|
||||
add_subdirectory(external)
|
||||
-if (LINUX)
|
||||
+if (LINUX AND NOT HAIKU)
|
||||
add_subdirectory(linux_jemalloc_helper)
|
||||
endif()
|
||||
if (LINUX AND NOT DESKTOP_APP_USE_PACKAGED)
|
||||
diff --git a/cmake/external/CMakeLists.txt b/cmake/external/CMakeLists.txt
|
||||
index 0922a66..3d08188 100644
|
||||
--- a/cmake/external/CMakeLists.txt
|
||||
+++ b/cmake/external/CMakeLists.txt
|
||||
@@ -37,7 +37,7 @@ if (add_hunspell_library)
|
||||
add_checked_subdirectory(hunspell)
|
||||
endif()
|
||||
add_checked_subdirectory(iconv)
|
||||
-if (LINUX)
|
||||
+if (LINUX AND NOT HAIKU)
|
||||
add_checked_subdirectory(jemalloc)
|
||||
endif()
|
||||
add_checked_subdirectory(jpeg)
|
||||
diff --git a/cmake/options_linux.cmake b/cmake/options_linux.cmake
|
||||
index 9312468..53e8236 100644
|
||||
--- a/cmake/options_linux.cmake
|
||||
+++ b/cmake/options_linux.cmake
|
||||
@@ -62,12 +62,14 @@ if (DESKTOP_APP_SPECIAL_TARGET)
|
||||
target_link_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto -fuse-linker-plugin>)
|
||||
endif()
|
||||
|
||||
+if (NOT HAIKU)
|
||||
target_link_libraries(common_options
|
||||
INTERFACE
|
||||
$<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
$<LINK_ONLY:desktop-app::external_jemalloc>
|
||||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
+endif()
|
||||
|
||||
if (DESKTOP_APP_USE_ALLOCATION_TRACER)
|
||||
target_link_options(common_options
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
From 00c1e5974b4d6d6cbafe5ae42ab70766370b8580 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Wed, 10 Nov 2021 18:14:13 +1000
|
||||
Subject: Fixes for Haiku
|
||||
|
||||
|
||||
diff --git a/base/haiku_types.h b/base/haiku_types.h
|
||||
new file mode 100644
|
||||
index 0000000..3a57ce2
|
||||
--- /dev/null
|
||||
+++ b/base/haiku_types.h
|
||||
@@ -0,0 +1,24 @@
|
||||
+#pragma once
|
||||
+
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+
|
||||
+#define _SUPPORT_DEFS_H
|
||||
+
|
||||
+#ifdef __x86_64__
|
||||
+#define int64 __haiku_int64
|
||||
+#ifdef USE_HAIKU_UINT64
|
||||
+#define uint64 __haiku_uint64
|
||||
+#endif
|
||||
+#else
|
||||
+#define int32 __haiku_int32
|
||||
+#define uint32 __haiku_uint32
|
||||
+#endif
|
||||
+
|
||||
+typedef int32 status_t;
|
||||
+typedef uint32 type_code;
|
||||
+typedef uint32 perform_code;
|
||||
+
|
||||
+typedef int64 bigtime_t;
|
||||
+typedef int64 nanotime_t;
|
||||
+
|
||||
+#endif
|
||||
diff --git a/base/platform/linux/base_file_utilities_linux.cpp b/base/platform/linux/base_file_utilities_linux.cpp
|
||||
index b3ba5f3..a481e3b 100644
|
||||
--- a/base/platform/linux/base_file_utilities_linux.cpp
|
||||
+++ b/base/platform/linux/base_file_utilities_linux.cpp
|
||||
@@ -27,8 +27,58 @@
|
||||
#include <stdio.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#include <AppKit.h>
|
||||
+#include <StorageKit.h>
|
||||
+#endif
|
||||
+
|
||||
namespace base::Platform {
|
||||
namespace {
|
||||
+
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+bool HaikuShowInFolder(const QString &filepath) {
|
||||
+ try {
|
||||
+ BMessenger trackerMessenger("application/x-vnd.Be-TRAK");
|
||||
+ if (!trackerMessenger.IsValid())
|
||||
+ return false;
|
||||
+
|
||||
+ BEntry fileEntry(filepath.toUtf8().data());
|
||||
+ entry_ref fileRef;
|
||||
+ if (fileEntry.GetRef(&fileRef) != B_OK)
|
||||
+ return false;
|
||||
+
|
||||
+ if (!fileEntry.Exists())
|
||||
+ return false;
|
||||
+
|
||||
+ BEntry folderEntry;
|
||||
+ if (fileEntry.GetParent(&folderEntry) != B_OK)
|
||||
+ return false;
|
||||
+
|
||||
+ entry_ref folderRef;
|
||||
+ if (folderEntry.GetRef(&folderRef) != B_OK)
|
||||
+ return false;
|
||||
+
|
||||
+ BMessage openCommand(B_REFS_RECEIVED);
|
||||
+ openCommand.AddRef("refs", &folderRef);
|
||||
+ node_ref fileNodeRef;
|
||||
+ if (fileEntry.GetNodeRef(&fileNodeRef) == B_OK) {
|
||||
+ openCommand.AddData("nodeRefToSelect", B_RAW_TYPE,
|
||||
+ static_cast<void*>(&fileNodeRef), sizeof(node_ref));
|
||||
+ }
|
||||
+ if (trackerMessenger.SendMessage(&openCommand) == B_OK) {
|
||||
+ snooze(300000);
|
||||
+ BMessage selectCommand('Tsel');
|
||||
+ selectCommand.AddRef("refs", &fileRef);
|
||||
+ trackerMessenger.SendMessage(&selectCommand);
|
||||
+ return true;
|
||||
+ }
|
||||
+ } catch (...) {
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+#endif
|
||||
|
||||
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
bool PortalShowInFolder(const QString &filepath) {
|
||||
@@ -152,6 +202,12 @@ bool ShowInFolder(const QString &filepath) {
|
||||
return true;
|
||||
}
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ if (HaikuShowInFolder(filepath)) {
|
||||
+ return true;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (ProcessShowInFolder(filepath)) {
|
||||
return true;
|
||||
}
|
||||
diff --git a/base/platform/linux/base_last_input_linux.cpp b/base/platform/linux/base_last_input_linux.cpp
|
||||
index 1021c85..fd6e541 100644
|
||||
--- a/base/platform/linux/base_last_input_linux.cpp
|
||||
+++ b/base/platform/linux/base_last_input_linux.cpp
|
||||
@@ -24,6 +24,11 @@
|
||||
#include <xcb/screensaver.h>
|
||||
#endif // !DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#include <InterfaceDefs.h>
|
||||
+#endif
|
||||
+
|
||||
namespace base::Platform {
|
||||
namespace {
|
||||
|
||||
@@ -184,9 +189,23 @@ std::optional<crl::time> MutterDBusLastUserInputTime() {
|
||||
}
|
||||
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+std::optional<crl::time> HaikuLastUserInputTime() {
|
||||
+ const auto idle = idle_time() / 1000;
|
||||
+ return (crl::now() - static_cast<crl::time>(idle));
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
} // namespace
|
||||
|
||||
std::optional<crl::time> LastUserInputTime() {
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+ const auto haikuResult = HaikuLastUserInputTime();
|
||||
+ if (haikuResult.has_value()) {
|
||||
+ return haikuResult;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
#ifndef DESKTOP_APP_DISABLE_X11_INTEGRATION
|
||||
if (::Platform::IsX11()) {
|
||||
const auto xcbResult = XCBLastUserInputTime();
|
||||
diff --git a/base/platform/linux/base_url_scheme_linux.cpp b/base/platform/linux/base_url_scheme_linux.cpp
|
||||
index 20aed5e..61d46fc 100644
|
||||
--- a/base/platform/linux/base_url_scheme_linux.cpp
|
||||
+++ b/base/platform/linux/base_url_scheme_linux.cpp
|
||||
@@ -13,6 +13,10 @@
|
||||
#include "base/platform/linux/base_linux_glibmm_helper.h"
|
||||
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include <QtCore/QFile>
|
||||
#include <QtCore/QProcess>
|
||||
#include <QtGui/QWindow>
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
From 44831be8f21e06291cb1d8cbfd911eb621bde849 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Wed, 10 Nov 2021 18:18:12 +1000
|
||||
Subject: Fixes for Haiku
|
||||
|
||||
|
||||
diff --git a/ui/platform/linux/ui_utility_linux.cpp b/ui/platform/linux/ui_utility_linux.cpp
|
||||
index 2a7fb2d..8eaae4c 100644
|
||||
--- a/ui/platform/linux/ui_utility_linux.cpp
|
||||
+++ b/ui/platform/linux/ui_utility_linux.cpp
|
||||
@@ -609,7 +609,7 @@ TitleControls::Layout TitleControlsLayout() {
|
||||
}
|
||||
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
|
||||
-#ifdef __HAIKU__
|
||||
+#ifdef Q_OS_HAIKU
|
||||
return TitleControls::Layout{
|
||||
.left = {
|
||||
TitleControls::Control::Close,
|
||||
@@ -619,7 +619,7 @@ TitleControls::Layout TitleControlsLayout() {
|
||||
TitleControls::Control::Maximize,
|
||||
}
|
||||
};
|
||||
-#else // __HAIKU__
|
||||
+#else // Q_OS_HAIKU
|
||||
return TitleControls::Layout{
|
||||
.right = {
|
||||
TitleControls::Control::Minimize,
|
||||
@@ -627,7 +627,7 @@ TitleControls::Layout TitleControlsLayout() {
|
||||
TitleControls::Control::Close,
|
||||
}
|
||||
};
|
||||
-#endif // !__HAIKU__
|
||||
+#endif // !Q_OS_HAIKU
|
||||
}
|
||||
|
||||
} // namespace Platform
|
||||
diff --git a/ui/ui_utility.cpp b/ui/ui_utility.cpp
|
||||
index e66055d..e31d635 100644
|
||||
--- a/ui/ui_utility.cpp
|
||||
+++ b/ui/ui_utility.cpp
|
||||
@@ -9,6 +9,10 @@
|
||||
#include "ui/platform/ui_platform_utility.h"
|
||||
#include "ui/style/style_core.h"
|
||||
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtGui/QWindow>
|
||||
#include <QtGui/QtEvents>
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From d65252fda59ee58fc8e913be59358b42b34e3a32 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Wed, 10 Nov 2021 18:19:20 +1000
|
||||
Subject: Fixes for Haiku
|
||||
|
||||
|
||||
diff --git a/webrtc/details/webrtc_openal_adm.cpp b/webrtc/details/webrtc_openal_adm.cpp
|
||||
index 8aa87d7..19deeff 100644
|
||||
--- a/webrtc/details/webrtc_openal_adm.cpp
|
||||
+++ b/webrtc/details/webrtc_openal_adm.cpp
|
||||
@@ -4,6 +4,11 @@
|
||||
// For license and copyright information please follow this link:
|
||||
// https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
//
|
||||
+
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include "webrtc/details/webrtc_openal_adm.h"
|
||||
|
||||
#include "base/timer.h"
|
||||
diff --git a/webrtc/webrtc_audio_input_tester.cpp b/webrtc/webrtc_audio_input_tester.cpp
|
||||
index 092b667..204e259 100644
|
||||
--- a/webrtc/webrtc_audio_input_tester.cpp
|
||||
+++ b/webrtc/webrtc_audio_input_tester.cpp
|
||||
@@ -4,6 +4,11 @@
|
||||
// For license and copyright information please follow this link:
|
||||
// https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
//
|
||||
+
|
||||
+#ifdef Q_OS_HAIKU
|
||||
+#include <base/haiku_types.h>
|
||||
+#endif
|
||||
+
|
||||
#include "webrtc/webrtc_audio_input_tester.h"
|
||||
|
||||
#include "webrtc/webrtc_create_adm.h"
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
From 4f1be262da4a9901dc7129c5340290c9f6770dec Mon Sep 17 00:00:00 2001
|
||||
From 37f8ff4b3fb6faee3463d094d02b928e08cf7578 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Wed, 10 Nov 2021 18:14:40 +1000
|
||||
Date: Mon, 21 Mar 2022 12:42:08 +1000
|
||||
Subject: Add Haiku support
|
||||
|
||||
|
||||
diff --git a/VoIPController.cpp b/VoIPController.cpp
|
||||
index 22978e3..264cbee 100644
|
||||
--- a/VoIPController.cpp
|
||||
+++ b/VoIPController.cpp
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/VoIPController.cpp b/Telegram/ThirdParty/libtgvoip/VoIPController.cpp
|
||||
index 0ae7625..7900169 100644
|
||||
--- a/Telegram/ThirdParty/libtgvoip/VoIPController.cpp
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/VoIPController.cpp
|
||||
@@ -8,6 +8,9 @@
|
||||
#include <unistd.h>
|
||||
#include <sys/time.h>
|
||||
@@ -18,7 +18,7 @@ index 22978e3..264cbee 100644
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
@@ -3009,6 +3012,10 @@ double VoIPController::GetCurrentTime(){
|
||||
@@ -3013,6 +3016,10 @@ double VoIPController::GetCurrentTime(){
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||
return ts.tv_sec+(double)ts.tv_nsec/1000000000.0;
|
||||
@@ -29,10 +29,10 @@ index 22978e3..264cbee 100644
|
||||
#elif defined(__APPLE__)
|
||||
static pthread_once_t token = PTHREAD_ONCE_INIT;
|
||||
pthread_once(&token, &initMachTimestart);
|
||||
diff --git a/audio/AudioIO.cpp b/audio/AudioIO.cpp
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/audio/AudioIO.cpp b/Telegram/ThirdParty/libtgvoip/audio/AudioIO.cpp
|
||||
index 29d5ad9..994d938 100644
|
||||
--- a/audio/AudioIO.cpp
|
||||
+++ b/audio/AudioIO.cpp
|
||||
--- a/Telegram/ThirdParty/libtgvoip/audio/AudioIO.cpp
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/audio/AudioIO.cpp
|
||||
@@ -39,6 +39,9 @@
|
||||
#ifndef WITHOUT_PULSE
|
||||
#include "../os/linux/AudioPulse.h"
|
||||
@@ -52,10 +52,10 @@ index 29d5ad9..994d938 100644
|
||||
#elif defined(__linux__) || defined(__FreeBSD__)
|
||||
#ifndef WITHOUT_ALSA
|
||||
#ifndef WITHOUT_PULSE
|
||||
diff --git a/audio/AudioInput.cpp b/audio/AudioInput.cpp
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/audio/AudioInput.cpp b/Telegram/ThirdParty/libtgvoip/audio/AudioInput.cpp
|
||||
index efdc535..12fbc5a 100644
|
||||
--- a/audio/AudioInput.cpp
|
||||
+++ b/audio/AudioInput.cpp
|
||||
--- a/Telegram/ThirdParty/libtgvoip/audio/AudioInput.cpp
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/audio/AudioInput.cpp
|
||||
@@ -33,6 +33,8 @@
|
||||
#ifndef WITHOUT_PULSE
|
||||
#include "../os/linux/AudioPulse.h"
|
||||
@@ -65,10 +65,10 @@ index efdc535..12fbc5a 100644
|
||||
#else
|
||||
#error "Unsupported operating system"
|
||||
#endif
|
||||
diff --git a/audio/AudioOutput.cpp b/audio/AudioOutput.cpp
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/audio/AudioOutput.cpp b/Telegram/ThirdParty/libtgvoip/audio/AudioOutput.cpp
|
||||
index 3f88799..97820b6 100644
|
||||
--- a/audio/AudioOutput.cpp
|
||||
+++ b/audio/AudioOutput.cpp
|
||||
--- a/Telegram/ThirdParty/libtgvoip/audio/AudioOutput.cpp
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/audio/AudioOutput.cpp
|
||||
@@ -37,6 +37,8 @@
|
||||
#include "../os/linux/AudioOutputPulse.h"
|
||||
#include "../os/linux/AudioPulse.h"
|
||||
@@ -78,11 +78,11 @@ index 3f88799..97820b6 100644
|
||||
#else
|
||||
#error "Unsupported operating system"
|
||||
#endif
|
||||
diff --git a/os/haiku/AudioInputHaiku.cpp b/os/haiku/AudioInputHaiku.cpp
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/os/haiku/AudioInputHaiku.cpp b/Telegram/ThirdParty/libtgvoip/os/haiku/AudioInputHaiku.cpp
|
||||
new file mode 100644
|
||||
index 0000000..7cce3e3
|
||||
--- /dev/null
|
||||
+++ b/os/haiku/AudioInputHaiku.cpp
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/os/haiku/AudioInputHaiku.cpp
|
||||
@@ -0,0 +1,276 @@
|
||||
+//
|
||||
+// libtgvoip is free and unencumbered public domain software.
|
||||
@@ -360,11 +360,11 @@ index 0000000..7cce3e3
|
||||
+ snooze(100);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/os/haiku/AudioInputHaiku.h b/os/haiku/AudioInputHaiku.h
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/os/haiku/AudioInputHaiku.h b/Telegram/ThirdParty/libtgvoip/os/haiku/AudioInputHaiku.h
|
||||
new file mode 100644
|
||||
index 0000000..1c63afe
|
||||
--- /dev/null
|
||||
+++ b/os/haiku/AudioInputHaiku.h
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/os/haiku/AudioInputHaiku.h
|
||||
@@ -0,0 +1,66 @@
|
||||
+//
|
||||
+// libtgvoip is free and unencumbered public domain software.
|
||||
@@ -432,11 +432,11 @@ index 0000000..1c63afe
|
||||
+}
|
||||
+
|
||||
+#endif //LIBTGVOIP_AUDIOINPUTHAIKU_H
|
||||
diff --git a/os/haiku/AudioOutputHaiku.cpp b/os/haiku/AudioOutputHaiku.cpp
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/os/haiku/AudioOutputHaiku.cpp b/Telegram/ThirdParty/libtgvoip/os/haiku/AudioOutputHaiku.cpp
|
||||
new file mode 100644
|
||||
index 0000000..2fca8a1
|
||||
--- /dev/null
|
||||
+++ b/os/haiku/AudioOutputHaiku.cpp
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/os/haiku/AudioOutputHaiku.cpp
|
||||
@@ -0,0 +1,99 @@
|
||||
+//
|
||||
+// libtgvoip is free and unencumbered public domain software.
|
||||
@@ -537,11 +537,11 @@ index 0000000..2fca8a1
|
||||
+bool AudioOutputHaiku::IsPlaying(){
|
||||
+ return isPlaying;
|
||||
+}
|
||||
diff --git a/os/haiku/AudioOutputHaiku.h b/os/haiku/AudioOutputHaiku.h
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/os/haiku/AudioOutputHaiku.h b/Telegram/ThirdParty/libtgvoip/os/haiku/AudioOutputHaiku.h
|
||||
new file mode 100644
|
||||
index 0000000..91f2521
|
||||
--- /dev/null
|
||||
+++ b/os/haiku/AudioOutputHaiku.h
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/os/haiku/AudioOutputHaiku.h
|
||||
@@ -0,0 +1,35 @@
|
||||
+//
|
||||
+// libtgvoip is free and unencumbered public domain software.
|
||||
@@ -578,11 +578,11 @@ index 0000000..91f2521
|
||||
+}
|
||||
+
|
||||
+#endif //LIBTGVOIP_AUDIOOUTPUTHAIKU_H
|
||||
diff --git a/os/haiku/RingBuffer.cpp b/os/haiku/RingBuffer.cpp
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/os/haiku/RingBuffer.cpp b/Telegram/ThirdParty/libtgvoip/os/haiku/RingBuffer.cpp
|
||||
new file mode 100644
|
||||
index 0000000..6c94933
|
||||
--- /dev/null
|
||||
+++ b/os/haiku/RingBuffer.cpp
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/os/haiku/RingBuffer.cpp
|
||||
@@ -0,0 +1,136 @@
|
||||
+//
|
||||
+// libtgvoip is free and unencumbered public domain software.
|
||||
@@ -720,11 +720,11 @@ index 0000000..6c94933
|
||||
+{
|
||||
+ return initialized?B_OK:B_ERROR;
|
||||
+}
|
||||
diff --git a/os/haiku/RingBuffer.h b/os/haiku/RingBuffer.h
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/os/haiku/RingBuffer.h b/Telegram/ThirdParty/libtgvoip/os/haiku/RingBuffer.h
|
||||
new file mode 100644
|
||||
index 0000000..01f6096
|
||||
--- /dev/null
|
||||
+++ b/os/haiku/RingBuffer.h
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/os/haiku/RingBuffer.h
|
||||
@@ -0,0 +1,37 @@
|
||||
+//
|
||||
+// libtgvoip is free and unencumbered public domain software.
|
||||
@@ -763,10 +763,10 @@ index 0000000..01f6096
|
||||
+};
|
||||
+
|
||||
+#endif
|
||||
diff --git a/os/posix/NetworkSocketPosix.cpp b/os/posix/NetworkSocketPosix.cpp
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/os/posix/NetworkSocketPosix.cpp b/Telegram/ThirdParty/libtgvoip/os/posix/NetworkSocketPosix.cpp
|
||||
index 78e0583..81bf9fc 100644
|
||||
--- a/os/posix/NetworkSocketPosix.cpp
|
||||
+++ b/os/posix/NetworkSocketPosix.cpp
|
||||
--- a/Telegram/ThirdParty/libtgvoip/os/posix/NetworkSocketPosix.cpp
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/os/posix/NetworkSocketPosix.cpp
|
||||
@@ -248,12 +248,13 @@ void NetworkSocketPosix::Open(){
|
||||
}
|
||||
int flag=0;
|
||||
@@ -791,12 +791,12 @@ index 78e0583..81bf9fc 100644
|
||||
#else
|
||||
struct ifaddrs* interfaces;
|
||||
if(!getifaddrs(&interfaces)){
|
||||
diff --git a/threading.h b/threading.h
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/threading.h b/Telegram/ThirdParty/libtgvoip/threading.h
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index 37de500..2017b83
|
||||
--- a/threading.h
|
||||
+++ b/threading.h
|
||||
--- a/Telegram/ThirdParty/libtgvoip/threading.h
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/threading.h
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
#include <functional>
|
||||
@@ -822,12 +822,12 @@ index 37de500..2017b83
|
||||
}
|
||||
self->entry();
|
||||
return NULL;
|
||||
diff --git a/webrtc_dsp/rtc_base/logging_webrtc.cc b/webrtc_dsp/rtc_base/logging_webrtc.cc
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/logging_webrtc.cc b/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/logging_webrtc.cc
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index a8d1522..991241b
|
||||
--- a/webrtc_dsp/rtc_base/logging_webrtc.cc
|
||||
+++ b/webrtc_dsp/rtc_base/logging_webrtc.cc
|
||||
--- a/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/logging_webrtc.cc
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/logging_webrtc.cc
|
||||
@@ -28,6 +28,10 @@
|
||||
static const int kMaxLogLineSize = 1024 - 60;
|
||||
#endif // WEBRTC_MAC && !defined(WEBRTC_IOS) || WEBRTC_ANDROID
|
||||
@@ -852,13 +852,13 @@ index a8d1522..991241b
|
||||
}
|
||||
|
||||
if (file != nullptr) {
|
||||
diff --git a/webrtc_dsp/rtc_base/platform_file.h b/webrtc_dsp/rtc_base/platform_file.h
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_file.h b/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_file.h
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
diff --git a/webrtc_dsp/rtc_base/platform_thread_types.cc b/webrtc_dsp/rtc_base/platform_thread_types.cc
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_thread_types.cc b/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_thread_types.cc
|
||||
index cf7d478..f27b9a1 100644
|
||||
--- a/webrtc_dsp/rtc_base/platform_thread_types.cc
|
||||
+++ b/webrtc_dsp/rtc_base/platform_thread_types.cc
|
||||
--- a/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_thread_types.cc
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_thread_types.cc
|
||||
@@ -20,6 +20,8 @@ namespace rtc {
|
||||
PlatformThreadId CurrentThreadId() {
|
||||
#if defined(WEBRTC_WIN)
|
||||
@@ -868,10 +868,10 @@ index cf7d478..f27b9a1 100644
|
||||
#elif defined(WEBRTC_POSIX)
|
||||
#if defined(WEBRTC_MAC) || defined(WEBRTC_IOS)
|
||||
return pthread_mach_thread_np(pthread_self());
|
||||
diff --git a/webrtc_dsp/rtc_base/platform_thread_types.h b/webrtc_dsp/rtc_base/platform_thread_types.h
|
||||
diff --git a/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_thread_types.h b/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_thread_types.h
|
||||
index 0bc42eb..c87cde9 100644
|
||||
--- a/webrtc_dsp/rtc_base/platform_thread_types.h
|
||||
+++ b/webrtc_dsp/rtc_base/platform_thread_types.h
|
||||
--- a/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_thread_types.h
|
||||
+++ b/Telegram/ThirdParty/libtgvoip/webrtc_dsp/rtc_base/platform_thread_types.h
|
||||
@@ -35,6 +35,9 @@ typedef DWORD PlatformThreadRef;
|
||||
#elif defined(WEBRTC_FUCHSIA)
|
||||
typedef zx_handle_t PlatformThreadId;
|
||||
@@ -882,6 +882,51 @@ index 0bc42eb..c87cde9 100644
|
||||
#elif defined(WEBRTC_POSIX)
|
||||
typedef pid_t PlatformThreadId;
|
||||
typedef pthread_t PlatformThreadRef;
|
||||
diff --git a/Telegram/cmake/lib_tgvoip.cmake b/Telegram/cmake/lib_tgvoip.cmake
|
||||
index 9b8ec54..7ffb710 100644
|
||||
--- a/Telegram/cmake/lib_tgvoip.cmake
|
||||
+++ b/Telegram/cmake/lib_tgvoip.cmake
|
||||
@@ -116,6 +116,14 @@ PRIVATE
|
||||
os/linux/AudioPulse.cpp
|
||||
os/linux/AudioPulse.h
|
||||
|
||||
+ # Haiku
|
||||
+ os/haiku/AudioInputHaiku.cpp
|
||||
+ os/haiku/AudioInputHaiku.h
|
||||
+ os/haiku/AudioOutputHaiku.cpp
|
||||
+ os/haiku/AudioOutputHaiku.h
|
||||
+ os/haiku/RingBuffer.cpp
|
||||
+ os/haiku/RingBuffer.h
|
||||
+
|
||||
# POSIX
|
||||
os/posix/NetworkSocketPosix.cpp
|
||||
os/posix/NetworkSocketPosix.h
|
||||
@@ -153,6 +161,25 @@ elseif (APPLE)
|
||||
TGVOIP_NO_OSX_PRIVATE_API
|
||||
)
|
||||
endif()
|
||||
+elseif (HAIKU)
|
||||
+ target_compile_definitions(lib_tgvoip_bundled
|
||||
+ PUBLIC
|
||||
+ WEBRTC_POSIX
|
||||
+ WEBRTC_HAIKU
|
||||
+ )
|
||||
+ target_compile_options(lib_tgvoip_bundled
|
||||
+ PRIVATE
|
||||
+ -Wno-unknown-pragmas
|
||||
+ -Wno-error=sequence-point
|
||||
+ -Wno-error=unused-result
|
||||
+ -mmmx
|
||||
+ -msse2
|
||||
+ )
|
||||
+ target_link_libraries(lib_tgvoip_bundled
|
||||
+ PRIVATE
|
||||
+ network
|
||||
+ media
|
||||
+ )
|
||||
else()
|
||||
add_library(lib_tgvoip_bundled_options INTERFACE)
|
||||
target_compile_options(lib_tgvoip_bundled_options
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
From d709b1c94721cae577710164b7640d1d42b7cda4 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Wed, 10 Nov 2021 18:11:20 +1000
|
||||
Subject: Fixes for Haiku
|
||||
|
||||
|
||||
diff --git a/tgcalls/MediaManager.cpp b/tgcalls/MediaManager.cpp
|
||||
index fd81ab1..73cdc47 100644
|
||||
--- a/tgcalls/MediaManager.cpp
|
||||
+++ b/tgcalls/MediaManager.cpp
|
||||
@@ -964,7 +964,7 @@ void MediaManager::fillCallStats(CallStats &callStats) {
|
||||
}
|
||||
|
||||
void MediaManager::setAudioInputDevice(std::string id) {
|
||||
-#if defined(WEBRTC_IOS)
|
||||
+#if defined(WEBRTC_IOS) || defined(__HAIKU__)
|
||||
#else
|
||||
SetAudioInputDeviceById(_audioDeviceModule.get(), id);
|
||||
#endif
|
||||
diff --git a/tgcalls/group/GroupInstanceCustomImpl.cpp b/tgcalls/group/GroupInstanceCustomImpl.cpp
|
||||
index b3fcaea..6a7ac01 100644
|
||||
--- a/tgcalls/group/GroupInstanceCustomImpl.cpp
|
||||
+++ b/tgcalls/group/GroupInstanceCustomImpl.cpp
|
||||
@@ -2791,7 +2791,7 @@ public:
|
||||
}
|
||||
|
||||
void setAudioOutputDevice(const std::string &id) {
|
||||
-#ifndef WEBRTC_IOS
|
||||
+#if !defined(WEBRTC_IOS) && !defined(__HAIKU__)
|
||||
_threads->getWorkerThread()->Invoke<void>(RTC_FROM_HERE, [&] {
|
||||
SetAudioOutputDeviceById(_audioDeviceModule.get(), id);
|
||||
});
|
||||
@@ -2799,7 +2799,7 @@ public:
|
||||
}
|
||||
|
||||
void setAudioInputDevice(const std::string &id) {
|
||||
-#ifndef WEBRTC_IOS
|
||||
+#if !defined(WEBRTC_IOS) && !defined(__HAIKU__)
|
||||
_threads->getWorkerThread()->Invoke<void>(RTC_FROM_HERE, [&] {
|
||||
SetAudioInputDeviceById(_audioDeviceModule.get(), id);
|
||||
});
|
||||
--
|
||||
2.30.2
|
||||
|
||||
Reference in New Issue
Block a user