From 2da43810a1e545a6b1392296a8b69be64c0c5d2f Mon Sep 17 00:00:00 2001 From: Syping Date: Sun, 23 Mar 2025 19:15:28 +0100 Subject: [PATCH 1/4] DPPStaticBundle: update DPP to 10.1.2 and OpenSSL to 3.0.16 --- cmake/DPPStaticBundle.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/DPPStaticBundle.cmake b/cmake/DPPStaticBundle.cmake index 73998b2..cde244f 100644 --- a/cmake/DPPStaticBundle.cmake +++ b/cmake/DPPStaticBundle.cmake @@ -55,8 +55,8 @@ set(ZLIB_INSTALL_DIR "${INSTALL_DIR}") set(OPENSSL_PLATFORM_ARG $<$:mingw64>) ExternalProject_Add(OpenSSL - URL https://github.com/openssl/openssl/releases/download/openssl-3.0.15/openssl-3.0.15.tar.gz - URL_HASH SHA256=23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533 + URL https://github.com/openssl/openssl/releases/download/openssl-3.0.16/openssl-3.0.16.tar.gz + URL_HASH SHA256=57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86 CONFIGURE_COMMAND ${CMAKE_PASSTHROUGH_ENV} "${PERL_EXECUTABLE}" @@ -78,8 +78,8 @@ ExternalProject_Get_Property(OpenSSL INSTALL_DIR) set(OpenSSL_INSTALL_DIR "${INSTALL_DIR}") ExternalProject_Add(DPP - URL https://github.com/Syping/DPP/archive/067dfb0c5728432dd24f74375173cf0fc8cbc4ca.tar.gz - URL_HASH SHA256=ea794219d32bc58eeb23536b3b18fbc119bd747773c6f7c98cf8e96e6d91693a + URL https://github.com/brainboxdotcc/DPP/releases/download/v10.1.2/DPP-10.1.2.tar.gz + URL_HASH SHA256=587ef044775e6bdd560ec17afc302c1048ebb3454455116d7241431fbb16a823 CMAKE_ARGS -DAVX_TYPE=AVX0 -DBUILD_SHARED_LIBS=OFF From 13d384b14e31f3e7a7ac3254a14673a4aac4ed74 Mon Sep 17 00:00:00 2001 From: Syping Date: Sun, 23 Mar 2025 19:39:46 +0100 Subject: [PATCH 2/4] DPPStaticBundle: OpenSSL build remove no-deprecated --- cmake/DPPStaticBundle.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/cmake/DPPStaticBundle.cmake b/cmake/DPPStaticBundle.cmake index cde244f..5ea1000 100644 --- a/cmake/DPPStaticBundle.cmake +++ b/cmake/DPPStaticBundle.cmake @@ -63,7 +63,6 @@ ExternalProject_Add(OpenSSL "/Configure" "--prefix=" $<$:-d> - no-deprecated no-dso no-dtls no-engine From b2da36e5760c8a0a08173b26a300c3a10541630b Mon Sep 17 00:00:00 2001 From: Syping Date: Wed, 6 Aug 2025 18:33:46 +0200 Subject: [PATCH 3/4] fix DPP 10.1.0 or newer build errors --- src/translator/deepl/deepl.cpp | 4 ++-- src/translator/deepl/deepl.h | 2 ++ src/translator/libretranslate/libretranslate.cpp | 4 ++-- src/translator/libretranslate/libretranslate.h | 2 ++ src/translator/lingvatranslate/lingvatranslate.cpp | 4 ++-- src/translator/lingvatranslate/lingvatranslate.h | 2 ++ src/translator/mozhi/mozhi.cpp | 4 ++-- src/translator/mozhi/mozhi.h | 2 ++ 8 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/translator/deepl/deepl.cpp b/src/translator/deepl/deepl.cpp index 94a7dff..e81481c 100644 --- a/src/translator/deepl/deepl.cpp +++ b/src/translator/deepl/deepl.cpp @@ -42,7 +42,7 @@ const std::vector deepl::get_languages() } try { - dpp::https_client http_request(m_hostname, 443, "/v2/languages?type=target", "GET", {}, { {"Authorization"s, "DeepL-Auth-Key " + m_apiKey} }, false); + dpp::https_client http_request(&m_cluster, m_hostname, 443, "/v2/languages?type=target", "GET", {}, { {"Authorization"s, "DeepL-Auth-Key " + m_apiKey} }, false); if (http_request.get_status() == 200) { const dpp::json response = dpp::json::parse(http_request.get_content()); if (response.is_array()) { @@ -93,7 +93,7 @@ const std::string deepl::translate(const std::string &text, const std::string &s }; try { - dpp::https_client http_request(m_hostname, 443, "/v2/translate", "POST", json_body.dump(), http_headers, false); + dpp::https_client http_request(&m_cluster, m_hostname, 443, "/v2/translate", "POST", json_body.dump(), http_headers, false); if (http_request.get_status() == 200) { const dpp::json response = dpp::json::parse(http_request.get_content()); if (response.is_object()) { diff --git a/src/translator/deepl/deepl.h b/src/translator/deepl/deepl.h index f1b6aa0..b4e0d0d 100644 --- a/src/translator/deepl/deepl.h +++ b/src/translator/deepl/deepl.h @@ -19,6 +19,7 @@ #ifndef TRANSLATOR_DEEPL_H #define TRANSLATOR_DEEPL_H +#include #include "../../core/translator.h" namespace bot { @@ -31,6 +32,7 @@ namespace bot { const std::string translate(const std::string &text, const std::string &source, const std::string &target) override; private: + dpp::cluster m_cluster; std::string m_apiKey; std::string m_hostname; supported_languages m_languages; diff --git a/src/translator/libretranslate/libretranslate.cpp b/src/translator/libretranslate/libretranslate.cpp index 909dbb3..3d82a89 100644 --- a/src/translator/libretranslate/libretranslate.cpp +++ b/src/translator/libretranslate/libretranslate.cpp @@ -42,7 +42,7 @@ const std::vector libretranslate::get_languages() } try { - dpp::https_client http_request(m_hostname, m_port, m_url + "languages", "GET", {}, {}, !m_tls); + dpp::https_client http_request(&m_cluster, m_hostname, m_port, m_url + "languages", "GET", {}, {}, !m_tls); if (http_request.get_status() == 200) { const dpp::json response = dpp::json::parse(http_request.get_content()); if (response.is_array()) { @@ -91,7 +91,7 @@ const std::string libretranslate::translate(const std::string &text, const std:: json_body["apiKey"] = m_apiKey; try { - dpp::https_client http_request(m_hostname, m_port, m_url + "translate", "POST", json_body.dump(), http_headers, !m_tls); + dpp::https_client http_request(&m_cluster, m_hostname, m_port, m_url + "translate", "POST", json_body.dump(), http_headers, !m_tls); if (http_request.get_status() == 200) { const dpp::json response = dpp::json::parse(http_request.get_content()); if (response.is_object()) { diff --git a/src/translator/libretranslate/libretranslate.h b/src/translator/libretranslate/libretranslate.h index 1af2f97..75306a8 100644 --- a/src/translator/libretranslate/libretranslate.h +++ b/src/translator/libretranslate/libretranslate.h @@ -20,6 +20,7 @@ #define TRANSLATOR_LIBRETRANSLATE_H #include +#include #include "../../core/translator.h" namespace bot { @@ -33,6 +34,7 @@ namespace bot { const std::string translate(const std::string &text, const std::string &source, const std::string &target) override; private: + dpp::cluster m_cluster; std::string m_apiKey; std::string m_hostname; supported_languages m_languages; diff --git a/src/translator/lingvatranslate/lingvatranslate.cpp b/src/translator/lingvatranslate/lingvatranslate.cpp index 15c08d1..b8352e5 100644 --- a/src/translator/lingvatranslate/lingvatranslate.cpp +++ b/src/translator/lingvatranslate/lingvatranslate.cpp @@ -43,7 +43,7 @@ const std::vector lingvatranslate::get_languages() } try { - dpp::https_client http_request(m_hostname, m_port, m_url + "api/v1/languages/target", "GET", {}, {}, !m_tls); + dpp::https_client http_request(&m_cluster, m_hostname, m_port, m_url + "api/v1/languages/target", "GET", {}, {}, !m_tls); if (http_request.get_status() == 200) { const dpp::json response = dpp::json::parse(http_request.get_content()); if (response.is_object()) { @@ -81,7 +81,7 @@ const std::vector lingvatranslate::get_languages() const std::string lingvatranslate::translate(const std::string &text, const std::string &source, const std::string &target) { try { - dpp::https_client http_request(m_hostname, m_port, m_url + "api/v1/" + source + "/" + target + "/" + dpp::utility::url_encode(text), "GET", {}, {}, !m_tls); + dpp::https_client http_request(&m_cluster, m_hostname, m_port, m_url + "api/v1/" + source + "/" + target + "/" + dpp::utility::url_encode(text), "GET", {}, {}, !m_tls); if (http_request.get_status() == 200) { const dpp::json response = dpp::json::parse(http_request.get_content()); if (response.is_object()) { diff --git a/src/translator/lingvatranslate/lingvatranslate.h b/src/translator/lingvatranslate/lingvatranslate.h index 37cf604..805dd9b 100644 --- a/src/translator/lingvatranslate/lingvatranslate.h +++ b/src/translator/lingvatranslate/lingvatranslate.h @@ -20,6 +20,7 @@ #define TRANSLATOR_LINGVATRANSLATE_H #include +#include #include "../../core/translator.h" namespace bot { @@ -33,6 +34,7 @@ namespace bot { const std::string translate(const std::string &text, const std::string &source, const std::string &target) override; private: + dpp::cluster m_cluster; std::string m_hostname; supported_languages m_languages; uint16_t m_port; diff --git a/src/translator/mozhi/mozhi.cpp b/src/translator/mozhi/mozhi.cpp index 398cea2..e5e8ea1 100644 --- a/src/translator/mozhi/mozhi.cpp +++ b/src/translator/mozhi/mozhi.cpp @@ -46,7 +46,7 @@ const std::vector mozhi::get_languages() const std::string parameters = dpp::utility::make_url_parameters({ {"engine"s, m_engine} }); - dpp::https_client http_request(m_hostname, m_port, m_url + "api/target_languages" + parameters, "GET", {}, {}, !m_tls); + dpp::https_client http_request(&m_cluster, m_hostname, m_port, m_url + "api/target_languages" + parameters, "GET", {}, {}, !m_tls); if (http_request.get_status() == 200) { const dpp::json response = dpp::json::parse(http_request.get_content()); if (response.is_array()) { @@ -87,7 +87,7 @@ const std::string mozhi::translate(const std::string &text, const std::string &s {"to"s, target}, {"text"s, text}, }); - dpp::https_client http_request(m_hostname, m_port, m_url + "api/translate" + parameters, "GET", {}, {}, !m_tls); + dpp::https_client http_request(&m_cluster, m_hostname, m_port, m_url + "api/translate" + parameters, "GET", {}, {}, !m_tls); if (http_request.get_status() == 200) { const dpp::json response = dpp::json::parse(http_request.get_content()); if (response.is_object()) { diff --git a/src/translator/mozhi/mozhi.h b/src/translator/mozhi/mozhi.h index ac3aba6..8a8735a 100644 --- a/src/translator/mozhi/mozhi.h +++ b/src/translator/mozhi/mozhi.h @@ -20,6 +20,7 @@ #define TRANSLATOR_MOZHI_H #include +#include #include "../../core/translator.h" namespace bot { @@ -33,6 +34,7 @@ namespace bot { const std::string translate(const std::string &text, const std::string &source, const std::string &target) override; private: + dpp::cluster m_cluster; std::string m_engine; std::string m_hostname; supported_languages m_languages; From c76210a30c5f1068469c63ab2b6b972cf9db8bb7 Mon Sep 17 00:00:00 2001 From: Syping Date: Wed, 6 Aug 2025 18:34:02 +0200 Subject: [PATCH 4/4] DPPStaticBundle: update DPP to 10.1.3 and OpenSSL to 3.0.17 --- cmake/DPPStaticBundle.cmake | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cmake/DPPStaticBundle.cmake b/cmake/DPPStaticBundle.cmake index 5ea1000..3c214ed 100644 --- a/cmake/DPPStaticBundle.cmake +++ b/cmake/DPPStaticBundle.cmake @@ -55,8 +55,8 @@ set(ZLIB_INSTALL_DIR "${INSTALL_DIR}") set(OPENSSL_PLATFORM_ARG $<$:mingw64>) ExternalProject_Add(OpenSSL - URL https://github.com/openssl/openssl/releases/download/openssl-3.0.16/openssl-3.0.16.tar.gz - URL_HASH SHA256=57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86 + URL https://github.com/openssl/openssl/releases/download/openssl-3.0.17/openssl-3.0.17.tar.gz + URL_HASH SHA256=dfdd77e4ea1b57ff3a6dbde6b0bdc3f31db5ac99e7fdd4eaf9e1fbb6ec2db8ce CONFIGURE_COMMAND ${CMAKE_PASSTHROUGH_ENV} "${PERL_EXECUTABLE}" @@ -77,8 +77,8 @@ ExternalProject_Get_Property(OpenSSL INSTALL_DIR) set(OpenSSL_INSTALL_DIR "${INSTALL_DIR}") ExternalProject_Add(DPP - URL https://github.com/brainboxdotcc/DPP/releases/download/v10.1.2/DPP-10.1.2.tar.gz - URL_HASH SHA256=587ef044775e6bdd560ec17afc302c1048ebb3454455116d7241431fbb16a823 + URL https://github.com/brainboxdotcc/DPP/archive/refs/tags/v10.1.3.tar.gz + URL_HASH SHA256=a32d94dcd6b23430afff82918234e4e28e0616bd2ddf743c5ab2f1778c5a600b CMAKE_ARGS -DAVX_TYPE=AVX0 -DBUILD_SHARED_LIBS=OFF @@ -86,6 +86,7 @@ ExternalProject_Add(DPP ${CMAKE_PASSTHROUGH_ARGS} "-DCMAKE_INSTALL_PREFIX=" -DDPP_BUILD_TEST=OFF + -DDPP_NO_CORO=ON -DDPP_NO_VCPKG=ON -DRUN_LDCONFIG=OFF "-DOpenSSL_ROOT=${OpenSSL_INSTALL_DIR}"