commit:     173ea8f6562b36a9fde8282fd7644b6516da1f97
Author:     Jan-Espen Oversand <sigsegv <AT> radiotube <DOT> org>
AuthorDate: Mon Jan 26 06:13:31 2026 +0000
Commit:     Jan-Espen Oversand <sigsegv <AT> radiotube <DOT> org>
CommitDate: Mon Jan 26 06:13:31 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=173ea8f6

dev-cpp/cpprestsdk: fix building with boost-1.89

The previous patching for building with boost-1.89 was insufficient.
This patches cmake files for finding boost removing all references to
the removed system stub. Also deadline_timer is no longer included by
the upstream includes in one of the http client cpp-files.
Deadline_timer is deprecated as well so opted for replacing it with
steady_timer instead. See upstream PR.

Reported-By: Nicolas PARLANT
Signed-off-by: Jan-Espen Oversand <sigsegv <AT> radiotube.org>

 ...0.19-r7.ebuild => cpprestsdk-2.10.19-r8.ebuild} |  2 +-
 ...stsdk-2.10.19-boost-1.89-system-and-timer.patch | 74 ++++++++++++++++++++++
 ...restsdk-2.10.19-boost-1.89-system-removal.patch | 13 ----
 3 files changed, 75 insertions(+), 14 deletions(-)

diff --git a/dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r7.ebuild 
b/dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r8.ebuild
similarity index 94%
rename from dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r7.ebuild
rename to dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r8.ebuild
index bcc1a1bd61..5901f059e8 100644
--- a/dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r7.ebuild
+++ b/dev-cpp/cpprestsdk/cpprestsdk-2.10.19-r8.ebuild
@@ -33,7 +33,7 @@ PATCHES=(
        "${FILESDIR}"/cpprestsdk-${PV}-cmake-4.patch
        "${FILESDIR}"/cpprestsdk-${PV}-llvm-char-traits-patch.patch
        "${FILESDIR}"/cpprestsdk-${PV}-llvm-json-unique-ptr.patch
-       "${FILESDIR}"/cpprestsdk-${PV}-boost-1.89-system-removal.patch
+       "${FILESDIR}"/cpprestsdk-${PV}-boost-1.89-system-and-timer.patch
 )
 
 src_configure() {

diff --git 
a/dev-cpp/cpprestsdk/files/cpprestsdk-2.10.19-boost-1.89-system-and-timer.patch 
b/dev-cpp/cpprestsdk/files/cpprestsdk-2.10.19-boost-1.89-system-and-timer.patch
new file mode 100644
index 0000000000..ded9111fe0
--- /dev/null
+++ 
b/dev-cpp/cpprestsdk/files/cpprestsdk-2.10.19-boost-1.89-system-and-timer.patch
@@ -0,0 +1,74 @@
+https://github.com/microsoft/cpprestsdk/pull/1838
+--- a/Release/cmake/cpprestsdk-config.in.cmake.orig
++++ b/Release/cmake/cpprestsdk-config.in.cmake
+@@ -17,7 +17,7 @@ if(@CPPREST_USES_BOOST@)
+ 
+ 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)
+   endif()
+
+--- 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
+       )
+--- a/Release/src/http/client/http_client_asio.cpp
++++ b/Release/src/http/client/http_client_asio.cpp
+@@ -429,7 +429,7 @@ private:
+         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 @@ private:
+     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

diff --git 
a/dev-cpp/cpprestsdk/files/cpprestsdk-2.10.19-boost-1.89-system-removal.patch 
b/dev-cpp/cpprestsdk/files/cpprestsdk-2.10.19-boost-1.89-system-removal.patch
deleted file mode 100644
index 6797db0ca1..0000000000
--- 
a/dev-cpp/cpprestsdk/files/cpprestsdk-2.10.19-boost-1.89-system-removal.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://github.com/microsoft/cpprestsdk/pull/1838
---- a/Release/cmake/cpprestsdk-config.in.cmake.orig    2023-12-05 04:23:31 UTC
-+++ b/Release/cmake/cpprestsdk-config.in.cmake
-@@ -17,7 +17,7 @@ if(@CPPREST_USES_BOOST@)
- 
- 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)
-   endif()
-

Reply via email to