From d14897bc23fd76530de51afb827f16a431070c8e Mon Sep 17 00:00:00 2001
From: Jan-Espen Oversand <sigsegv@radiotube.org>
Date: Mon, 22 Dec 2025 16:28:29 +0100
Subject: [PATCH 1/3] Boost 1.89 removed the system stub

---
 Release/cmake/cpprestsdk-config.in.cmake | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Release/cmake/cpprestsdk-config.in.cmake b/Release/cmake/cpprestsdk-config.in.cmake
index 72476b062d..811e79ac9e 100644
--- a/Release/cmake/cpprestsdk-config.in.cmake
+++ b/Release/cmake/cpprestsdk-config.in.cmake
@@ -17,9 +17,9 @@ endif()
 
 if(@CPPREST_USES_BOOST@)
   if(UNIX)
-    find_dependency(Boost COMPONENTS random system thread filesystem chrono atomic date_time regex)
+    find_dependency(Boost COMPONENTS random thread filesystem chrono atomic date_time regex)
   else()
-    find_dependency(Boost COMPONENTS system date_time regex)
+    find_dependency(Boost COMPONENTS date_time regex)
   endif()
 endif()
 include("${CMAKE_CURRENT_LIST_DIR}/cpprestsdk-targets.cmake")

From dbdf22e0d5feb989b59f0ec69ea3c347f9e0a3e0 Mon Sep 17 00:00:00 2001
From: Jan-Espen Oversand <sigsegv@radiotube.org>
Date: Sun, 25 Jan 2026 18:27:56 +0100
Subject: [PATCH 2/3] System stub removed changes for building with boost-1.89
 on Gentoo Linux.

Reported-By: Nicolas PARLANT
---
 Release/cmake/cpprest_find_boost.cmake | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/Release/cmake/cpprest_find_boost.cmake b/Release/cmake/cpprest_find_boost.cmake
index 3c857bafa0..57a6ed2bf0 100644
--- a/Release/cmake/cpprest_find_boost.cmake
+++ b/Release/cmake/cpprest_find_boost.cmake
@@ -44,11 +44,11 @@ function(cpprest_find_boost)
       set(BOOST_LIBRARYDIR "${CMAKE_BINARY_DIR}/../Boost-for-Android/build/out/x86/lib" CACHE INTERNAL "")
       set(Boost_ARCHITECTURE "-x32" CACHE INTERNAL "")
     endif()
-    cpprestsdk_find_boost_android_package(Boost ${BOOST_VERSION} EXACT REQUIRED COMPONENTS random system thread filesystem chrono atomic)
+    cpprestsdk_find_boost_android_package(Boost ${BOOST_VERSION} EXACT REQUIRED COMPONENTS random thread filesystem chrono atomic)
   elseif(UNIX)
-    find_package(Boost REQUIRED COMPONENTS random system thread filesystem chrono atomic date_time regex)
+    find_package(Boost REQUIRED COMPONENTS random thread filesystem chrono atomic date_time regex)
   else()
-    find_package(Boost REQUIRED COMPONENTS system date_time regex)
+    find_package(Boost REQUIRED COMPONENTS date_time regex)
   endif()
 
   add_library(cpprestsdk_boost_internal INTERFACE)
@@ -78,7 +78,6 @@ function(cpprest_find_boost)
       target_link_libraries(cpprestsdk_boost_internal INTERFACE
         Boost::boost
         Boost::random
-        Boost::system
         Boost::thread
         Boost::filesystem
         Boost::chrono
@@ -88,7 +87,6 @@ function(cpprest_find_boost)
       target_link_libraries(cpprestsdk_boost_internal INTERFACE
         Boost::boost
         Boost::random
-        Boost::system
         Boost::thread
         Boost::filesystem
         Boost::chrono
@@ -99,7 +97,6 @@ function(cpprest_find_boost)
     else()
       target_link_libraries(cpprestsdk_boost_internal INTERFACE
         Boost::boost
-        Boost::system
         Boost::date_time
         Boost::regex
       )

From 2eb510ca723277729dee588fa7adccfe388294b9 Mon Sep 17 00:00:00 2001
From: Jan-Espen Oversand <sigsegv@radiotube.org>
Date: Sun, 25 Jan 2026 20:52:30 +0100
Subject: [PATCH 3/3] The quickfix is to specificly include
 boost/asio/deadline_timer.hpp since it is no longer included by the other
 includes anymore. But dealine_timer is deprecated, so I suggest replacing it
 with steady_timer like this.

---
 Release/src/http/client/http_client_asio.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Release/src/http/client/http_client_asio.cpp b/Release/src/http/client/http_client_asio.cpp
index 07bb4885bf..a3146bf853 100644
--- a/Release/src/http/client/http_client_asio.cpp
+++ b/Release/src/http/client/http_client_asio.cpp
@@ -429,7 +429,7 @@ class asio_connection_pool final : public std::enable_shared_from_this<asio_conn
         auto& self = *pool;
         std::weak_ptr<asio_connection_pool> weak_pool = pool;
 
-        self.m_pool_epoch_timer.expires_from_now(boost::posix_time::seconds(30));
+        self.m_pool_epoch_timer.expires_after(std::chrono::seconds(30));
         self.m_pool_epoch_timer.async_wait([weak_pool](const boost::system::error_code& ec) {
             if (ec)
             {
@@ -467,7 +467,7 @@ class asio_connection_pool final : public std::enable_shared_from_this<asio_conn
     std::mutex m_lock;
     std::map<std::string, connection_pool_stack<asio_connection>> m_connections;
     bool m_is_timer_running;
-    boost::asio::deadline_timer m_pool_epoch_timer;
+    boost::asio::steady_timer m_pool_epoch_timer;
 };
 
 class asio_client final : public _http_client_communicator
