diff --git a/pkgs/paraver/default.nix b/pkgs/paraver/default.nix index 9130f06..ba8a0c9 100644 --- a/pkgs/paraver/default.nix +++ b/pkgs/paraver/default.nix @@ -2,7 +2,7 @@ stdenv , fetchFromGitHub , autoreconfHook -, boost186 +, boost , libxml2 , xml2 , wxGTK32 @@ -16,7 +16,6 @@ let wx = wxGTK32; - boost = boost186; in stdenv.mkDerivation rec { pname = "wxparaver"; @@ -29,7 +28,13 @@ stdenv.mkDerivation rec { sha256 = "sha256-YsO5gsuEFQdki3lQudEqgo5WXOt/fPdvNw5OxZQ86Zo="; }; - patches = [ ./do-not-steal-focus-on-redraw.patch ]; + patches = [ + ./do-not-steal-focus-on-redraw.patch + + # Fix for boost >=1.87 (thanks to gamezelda) + # https://aur.archlinux.org/cgit/aur.git/commit/?h=wxparaver&id=b0dcd08c472536e0a1a3cc1dfbc4c77d9f5e0d47 + ./fix-boost-87.patch + ]; hardeningDisable = [ "all" ]; diff --git a/pkgs/paraver/fix-boost-87.patch b/pkgs/paraver/fix-boost-87.patch new file mode 100644 index 0000000..01f8b79 --- /dev/null +++ b/pkgs/paraver/fix-boost-87.patch @@ -0,0 +1,87 @@ +From 7ecd888e2ebb9e8c5582851d3c50bff61022708e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= +Date: Sat, 29 Mar 2025 18:14:25 +0000 +Subject: [PATCH] tutorialsdownload: Fix Boost ASIO 1.87.0 removals + +--- + src/tutorialsdownload.cpp | 25 ++++++++++++------------- + 1 file changed, 12 insertions(+), 13 deletions(-) + +diff --git a/src/tutorialsdownload.cpp b/src/tutorialsdownload.cpp +index a1921fd..6ce9dc2 100644 +--- a/src/tutorialsdownload.cpp ++++ b/src/tutorialsdownload.cpp +@@ -121,13 +121,13 @@ void TutorialsProgress::updateInstall( int whichValue ) + class client + { + public: +- client( boost::asio::io_service& io_service, ++ client( boost::asio::io_context& io_context, + boost::asio::ssl::context& context, + const std::string& server, const std::string& path, + ofstream& storeFile, + TutorialsProgress *progress ) +- : resolver_( io_service ), +- socket_( io_service, context ), ++ : resolver_( io_context ), ++ socket_( io_context, context ), + store_( storeFile ), + progress_( progress ) + { +@@ -143,8 +143,7 @@ class client + + // Start an asynchronous resolve to translate the server and service names + // into a list of endpoints. +- tcp::resolver::query query( server, "https" ); +- resolver_.async_resolve( query, ++ resolver_.async_resolve( server, "https", + boost::bind( &client::handle_resolve, + this, + boost::asio::placeholders::error, +@@ -154,7 +153,7 @@ class client + private: + + void handle_resolve( const boost::system::error_code& err, +- tcp::resolver::iterator endpoint_iterator ) ++ const tcp::resolver::results_type& endpoints ) + { + if ( !err ) + { +@@ -162,7 +161,7 @@ class client + socket_.set_verify_callback( boost::bind( &client::verify_certificate, this, _1, _2 ) ); + + boost::asio::async_connect( socket_.lowest_layer(), +- endpoint_iterator, ++ endpoints, + boost::bind( &client::handle_connect, + this, + boost::asio::placeholders::error ) ); +@@ -536,9 +535,9 @@ bool TutorialsDownload::downloadTutorialsList() const + boost::asio::ssl::context ctx( boost::asio::ssl::context::sslv23 ); + ctx.set_default_verify_paths(); + +- boost::asio::io_service io_service; +- client c( io_service, ctx, server, path, storeFile, nullptr ); +- io_service.run(); ++ boost::asio::io_context io_context; ++ client c( io_context, ctx, server, path, storeFile, nullptr ); ++ io_context.run(); + + doneDownload = true; + } +@@ -580,9 +579,9 @@ bool TutorialsDownload::download( const TutorialData& whichTutorial, string& tut + boost::asio::ssl::context ctx( boost::asio::ssl::context::sslv23 ); + ctx.set_default_verify_paths(); + +- boost::asio::io_service io_service; +- client c( io_service, ctx, std::string( server.mb_str() ), std::string( path.mb_str() ), storeFile, &progress ); +- io_service.run(); ++ boost::asio::io_context io_context; ++ client c( io_context, ctx, std::string( server.mb_str() ), std::string( path.mb_str() ), storeFile, &progress ); ++ io_context.run(); + } + catch ( ParaverKernelException& e ) + { +-- +2.49.0 +