diff --git a/scripts/core/generate_td_tools.sh b/scripts/core/generate_td_tools.sh index da49ddc..c364eda 100755 --- a/scripts/core/generate_td_tools.sh +++ b/scripts/core/generate_td_tools.sh @@ -45,8 +45,8 @@ echo "Deleting old data..." echo "Copying implementation files..." cp -r implementations/${IMPLEMENTATION_NAME} ./generated/implementation -# Patch implementation files -echo "Patching implementation files..." +# Patch implementation files (sed replacements) +echo "Patching implementation files using sed replacements..." #Fix bug: https://github.com/tdlib/td/issues/1238 if [[ "$IMPLEMENTATION_NAME" = "tdlib" ]]; then if [[ "$OPERATING_SYSTEM_NAME" = "osx" ]]; then @@ -56,6 +56,19 @@ if [[ "$IMPLEMENTATION_NAME" = "tdlib" ]]; then fi fi +# Patch implementation files (git patches) +echo "Patching implementation files using git patches..." +if [[ "$IMPLEMENTATION_NAME" = "tdlib" ]]; then + if [[ -d "src/main/patches/tdlib" && "$(ls -A src/main/patches/tdlib)" ]]; then + git apply "src/main/patches/tdlib/*.patch" + fi +fi +if [[ "$IMPLEMENTATION_NAME" = "tdlight" ]]; then + if [[ -d "src/main/patches/tdlight" && "$(ls -A src/main/patches/tdlight)" ]]; then + git apply "src/main/patches/tdlight/*.patch" + fi +fi + # Configure cmake echo "Configuring CMake..." mkdir ./generated/td_tools/ diff --git a/src/main/patches/tdlib/001-fix-compilation-issue.patch b/src/main/patches/tdlib/001-fix-compilation-issue.patch new file mode 100644 index 0000000..4ba2da8 --- /dev/null +++ b/src/main/patches/tdlib/001-fix-compilation-issue.patch @@ -0,0 +1,13 @@ +diff --git a/td/telegram/PasswordManager.cpp b/td/telegram/PasswordManager.cpp +index 43cf194a..387eabb7 100644 +--- a/td/telegram/PasswordManager.cpp ++++ b/td/telegram/PasswordManager.cpp +@@ -689,7 +689,7 @@ Result PasswordManager::get_password_inp + settings->flags_ |= telegram_api::account_passwordInputSettings::EMAIL_MASK; + settings->email_ = std::move(update_settings.recovery_email_address); + } +- return settings; ++ return std::move(settings); + } + + void PasswordManager::do_update_password_settings_impl(UpdateSettings update_settings, PasswordState state,