diff --git a/x11-packages/telegram-desktop/0006-allow-use-external-libtd.patch b/x11-packages/telegram-desktop/0006-allow-use-external-libtd.patch deleted file mode 100644 index 9f801e2619..0000000000 --- a/x11-packages/telegram-desktop/0006-allow-use-external-libtd.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- a/cmake/external/td/CMakeLists.txt -+++ b/cmake/external/td/CMakeLists.txt -@@ -4,6 +4,19 @@ - # For license and copyright information please follow this link: - # https://github.com/desktop-app/legal/blob/master/LEGAL - -+if (DESKTOP_APP_USE_PACKAGED) -+ add_library(external_td INTERFACE IMPORTED GLOBAL) -+ add_library(desktop-app::external_td ALIAS external_td) -+ -+ find_package(PkgConfig REQUIRED) -+ pkg_check_modules(TDE2E REQUIRED IMPORTED_TARGET tde2e) -+ pkg_check_modules(TDUTILS REQUIRED IMPORTED_TARGET tdutils) -+ -+ target_link_libraries(external_td INTERFACE PkgConfig::TDE2E) -+ target_link_libraries(external_td INTERFACE PkgConfig::TDUTILS) -+ return() -+endif() -+ - add_library(external_td INTERFACE IMPORTED GLOBAL) - add_library(desktop-app::external_td ALIAS external_td) - ---- a/Telegram/SourceFiles/tde2e/tde2e_api.cpp -+++ b/Telegram/SourceFiles/tde2e/tde2e_api.cpp -@@ -10,7 +10,11 @@ - #include "base/assertion.h" - #include "base/debug_log.h" - -+#if defined(__has_include) && !__has_include() -+#include -+#else - #include -+#endif - - #define LOG_ERROR(error) \ - LOG(("TdE2E Error %1: %2").arg(int(error.code)).arg(error.message.c_str())) diff --git a/x11-packages/telegram-desktop/0008-libtd-no-android.patch b/x11-packages/telegram-desktop/0006-libtd-no-android.patch similarity index 100% rename from x11-packages/telegram-desktop/0008-libtd-no-android.patch rename to x11-packages/telegram-desktop/0006-libtd-no-android.patch diff --git a/x11-packages/telegram-desktop/0008-do-not-use-cmake-lz4.patch b/x11-packages/telegram-desktop/0008-do-not-use-cmake-lz4.patch new file mode 100644 index 0000000000..15a7f1a9bf --- /dev/null +++ b/x11-packages/telegram-desktop/0008-do-not-use-cmake-lz4.patch @@ -0,0 +1,15 @@ +--- a/cmake/external/lz4/CMakeLists.txt ++++ b/cmake/external/lz4/CMakeLists.txt +@@ -8,12 +8,6 @@ + add_library(desktop-app::external_lz4 ALIAS external_lz4) + + if (DESKTOP_APP_USE_PACKAGED) +- find_package(lz4 QUIET) +- if (lz4_FOUND) +- target_link_libraries(external_lz4 INTERFACE lz4::lz4) +- return() +- endif() +- + find_package(PkgConfig) + if (PkgConfig_FOUND) + pkg_check_modules(LZ4 IMPORTED_TARGET liblz4) diff --git a/x11-packages/telegram-desktop/0009-generator-svg.patch.beforehostbuild b/x11-packages/telegram-desktop/0009-generator-svg.patch.beforehostbuild new file mode 100644 index 0000000000..1badaaad19 --- /dev/null +++ b/x11-packages/telegram-desktop/0009-generator-svg.patch.beforehostbuild @@ -0,0 +1,11 @@ +--- a/Telegram/codegen/codegen/style/generator.cpp ++++ b/Telegram/codegen/codegen/style/generator.cpp +@@ -1193,7 +1193,7 @@ + return false; + } + maskData = iconMaskValueSize(dimensions.at(0).toInt(), dimensions.at(1).toInt()); +- } else if (QFileInfo(QStringView(filePath).split('-')[0].toString() + ".svg").exists()) { ++ } else if (QFileInfo(QFileInfo(filePath).dir().filePath(QStringView(QFileInfo(filePath).baseName()).split('-')[0].toString() + ".svg")).exists()) { + maskData = iconMaskValueSvg(filePath); + } else { + maskData = iconMaskValuePng(filePath); diff --git a/x11-packages/telegram-desktop/build.sh b/x11-packages/telegram-desktop/build.sh index d50b087c7a..a13255a7b2 100644 --- a/x11-packages/telegram-desktop/build.sh +++ b/x11-packages/telegram-desktop/build.sh @@ -4,9 +4,9 @@ TERMUX_PKG_DESCRIPTION="Telegram Desktop Client" TERMUX_PKG_LICENSE="custom" TERMUX_PKG_LICENSE_FILE="LICENSE, LEGAL" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION=5.14.1 +TERMUX_PKG_VERSION=5.14.2 TERMUX_PKG_SRCURL=https://github.com/telegramdesktop/tdesktop/releases/download/v$TERMUX_PKG_VERSION/tdesktop-$TERMUX_PKG_VERSION-full.tar.gz -TERMUX_PKG_SHA256=42d3130292b21928f04e39539f4e7358206bde913ea6e5171b0ffdeb38b9872e +TERMUX_PKG_SHA256=8a3b2570475584317651c76407176ad884f073b1eacaf07333c9037806279f02 TERMUX_PKG_DEPENDS="abseil-cpp, boost, ffmpeg, glib, hicolor-icon-theme, hunspell, kf6-kcoreaddons, libandroid-shmem, libc++, libdispatch, libdrm, liblz4, libminizip, protobuf, librnnoise, libsigc++-3.0, libx11, libxcomposite, libxdamage, libxrandr, libxtst, openal-soft, opengl, openh264, openssl, pipewire, pulseaudio, qt6-qtbase, qt6-qtimageformats, qt6-qtsvg, xxhash, zlib" TERMUX_PKG_BUILD_DEPENDS="ada, boost-headers, glib-cross, qt6-qtbase-cross-tools" TERMUX_PKG_VERSIONED_GIR=false @@ -105,14 +105,22 @@ __cppgir_build() { __libtd_host_build() { termux_setup_cmake + mkdir -p $TERMUX_PKG_TMPDIR/host-pkg-config + ln -sf /usr/bin/pkg-config $TERMUX_PKG_TMPDIR/host-pkg-config/ + pushd $TERMUX_PKG_HOSTBUILD_DIR + rm -rf libtd-host-build mkdir -p libtd-host-build pushd libtd-host-build + ( + export PATH="$TERMUX_PKG_TMPDIR/host-pkg-config:$PATH" + unset PREFIX prefix CPPFLAGS CC CFLAGS CXX CXXFLAGS LD LDFLAGS PKGCONFIG PKG_CONFIG PKG_CONFIG_DIR PKG_CONFIG_LIBDIR cmake \ -DCMAKE_BUILD_TYPE=Release \ $TERMUX_PKG_SRCDIR/libtd make -j $TERMUX_PKG_MAKE_PROCESSES prepare_cross_compiling - popd # cppgir-host-build + ) + popd # libtd-host-build popd # $TERMUX_PKG_HOSTBUILD_DIR } @@ -122,6 +130,7 @@ __setup_udocker() { source udockervenv/bin/activate pip install udocker udocker install + export UDOCKER_DIR=$TERMUX_PKG_CACHEDIR/udocker popd # $TERMUX_PKG_CACHEDIR } @@ -134,18 +143,13 @@ __tg_codegen_build() { cp -Rf $TERMUX_PKG_SRCDIR/* ./ udocker pull --platform=linux/amd64 ghcr.io/telegramdesktop/tdesktop/centos_env:latest udocker create --name=tg-container --force ghcr.io/telegramdesktop/tdesktop/centos_env:latest - udocker run \ - --bindhome \ - --workdir=/usr/src/tdesktop/Telegram \ - --volume=$PWD:/usr/src/tdesktop \ - tg-container \ - bash $TERMUX_PKG_BUILDER_DIR/maybe-compile-libtd-for-host.sh udocker run \ --bindhome \ --workdir=/usr/src/tdesktop/Telegram \ --volume=$PWD:/usr/src/tdesktop \ tg-container \ bash /usr/src/tdesktop/Telegram/configure.sh \ + -DCMAKE_CONFIGURATION_TYPES=Release \ -DTDESKTOP_API_TEST=ON \ -DDESKTOP_APP_DISABLE_JEMALLOC=ON udocker run \ @@ -167,9 +171,6 @@ termux_step_host_build() { # Compile cppgir __cppgir_build - # Prepare cross-compiling for libtd - __libtd_host_build - if [ "$TERMUX_ON_DEVICE_BUILD" = true ]; then return fi @@ -179,6 +180,9 @@ termux_step_host_build() { } __tg_owt_build() { + termux_setup_cmake + termux_setup_ninja + local _TG_OWT_BUILD_DIR="$TERMUX_PKG_BUILDDIR"/tg_owt-build if [ -f "$_TG_OWT_BUILD_DIR"/.tg_owt-built ]; then cd "$_TG_OWT_BUILD_DIR" @@ -187,9 +191,6 @@ __tg_owt_build() { return fi - termux_setup_cmake - termux_setup_ninja - # Backup vars local __old_srcdir="$TERMUX_PKG_SRCDIR" local __old_builddir="$TERMUX_PKG_BUILDDIR" @@ -224,6 +225,9 @@ __tg_owt_build() { } __libtd_build() { + termux_setup_cmake + termux_setup_ninja + local _LIBTD_BUILD_DIR="$TERMUX_PKG_BUILDDIR"/libtd-build if [ -f "$_LIBTD_BUILD_DIR"/.libtd-built ]; then cd "$_LIBTD_BUILD_DIR" @@ -232,8 +236,8 @@ __libtd_build() { return fi - termux_setup_cmake - termux_setup_ninja + # Prepare cross-compiling for libtd + __libtd_host_build # Backup vars local __old_srcdir="$TERMUX_PKG_SRCDIR" @@ -290,7 +294,13 @@ termux_step_configure() { "$TERMUX_PKG_HOSTBUILD_DIR/codegen-host-build/out/Telegram/codegen/codegen/$_type/Release/codegen_$_type" \ "$TERMUX_PKG_TMPDIR/bin/codegen_$_type" done + cat <<-EOF > $TERMUX_PKG_TMPDIR/bin/clang-scan-deps + #!$(command -v sh) + exec $TERMUX_STANDALONE_TOOLCHAIN/bin/clang-scan-deps "\$@" --sysroot=$TERMUX_STANDALONE_TOOLCHAIN/sysroot + EOF + chmod +x $TERMUX_PKG_TMPDIR/bin/clang-scan-deps export PATH="$TERMUX_PKG_TMPDIR/bin:$PATH" + TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCMAKE_CXX_COMPILER_CLANG_SCAN_DEPS=$TERMUX_PKG_TMPDIR/bin/clang-scan-deps" else TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCMAKE_CROSSCOMPILING=FALSE" TERMUX_PKG_EXTRA_CONFIGURE_ARGS+=" -DCMAKE_AUTOMOC_EXECUTABLE=$TERMUX_PREFIX/lib/qt6/moc" diff --git a/x11-packages/telegram-desktop/maybe-compile-libtd-for-host.sh b/x11-packages/telegram-desktop/maybe-compile-libtd-for-host.sh deleted file mode 100644 index 759cf276b3..0000000000 --- a/x11-packages/telegram-desktop/maybe-compile-libtd-for-host.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -set -e -u -o pipefail - -if [ -e "/usr/src/Libraries/td" ]; then - exit 0 -fi - -mkdir -p /usr/src/Libraries/td-tmp -cp -Rf /usr/src/tdesktop/libtd/* /usr/src/Libraries/td-tmp/ -cd /usr/src/Libraries/td-tmp/ -env -u CFLAGS -u CXXFLAGS cmake -B out/Release . \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ - -DCMAKE_C_FLAGS_DEBUG="$CFLAGS -O0 -fno-lto -U_FORTIFY_SOURCE" \ - -DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ - -DCMAKE_CXX_FLAGS_DEBUG="$CXXFLAGS -O0 -fno-lto -U_FORTIFY_SOURCE" -cmake --build out/Release --config Release --target tdutils -j$(nproc) -cmake --build out/Release --config Release --target tde2e -j$(nproc) -env -u CFLAGS -u CXXFLAGS cmake -B out/Debug . \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \ - -DCMAKE_C_FLAGS_DEBUG="$CFLAGS -O0 -fno-lto -U_FORTIFY_SOURCE" \ - -DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \ - -DCMAKE_CXX_FLAGS_DEBUG="$CXXFLAGS -O0 -fno-lto -U_FORTIFY_SOURCE" -cmake --build out/Debug --config Debug --target tdutils -j$(nproc) -cmake --build out/Debug --config Debug --target tde2e -j$(nproc) -mv /usr/src/Libraries/td-tmp /usr/src/Libraries/td