From e2c671d4bdccc023a7e0d78ca5d658057543c443 Mon Sep 17 00:00:00 2001 From: d-winsor Date: Tue, 24 Mar 2020 13:01:25 -0700 Subject: [PATCH] [boost-process] Patch for header bug in boost 1.72 (#10453) * Added patch for boost-process header bug in 1.72 * Updated version number. * Version change for generate-ports --- ports/boost-process/CONTROL | 2 +- ports/boost-process/async_pipe_header.patch | 37 +++++++++++++++++++++ ports/boost-process/portfile.cmake | 1 + scripts/boost/generate-ports.ps1 | 6 +++- 4 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 ports/boost-process/async_pipe_header.patch diff --git a/ports/boost-process/CONTROL b/ports/boost-process/CONTROL index 5431f39288..fd36ac0879 100644 --- a/ports/boost-process/CONTROL +++ b/ports/boost-process/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-process -Version: 1.72.0 +Version: 1.72.0-1 Build-Depends: boost-algorithm, boost-asio, boost-config, boost-core, boost-filesystem (!uwp), boost-fusion, boost-iterator, boost-move, boost-optional, boost-system, boost-tokenizer, boost-type-index, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/process Description: Boost process module diff --git a/ports/boost-process/async_pipe_header.patch b/ports/boost-process/async_pipe_header.patch new file mode 100644 index 0000000000..7308f4b9da --- /dev/null +++ b/ports/boost-process/async_pipe_header.patch @@ -0,0 +1,37 @@ +diff --git a/include/boost/process/async_pipe.hpp b/include/boost/process/async_pipe.hpp +index 101fe1d59..a562432c0 100644 +--- a/include/boost/process/async_pipe.hpp ++++ b/include/boost/process/async_pipe.hpp +@@ -47,6 +47,8 @@ class async_pipe + */ + typedef platform_specific handle_type; + ++ typedef typename handle_type::executor_type executor_type; ++ + /** Construct a new async_pipe, does automatically open the pipe. + * Initializes source and sink with the same io_context. + * @note Windows creates a named pipe here, where the name is automatically generated. +diff --git a/include/boost/process/detail/posix/async_pipe.hpp b/include/boost/process/detail/posix/async_pipe.hpp +index 725a07890..a82c057b9 100644 +--- a/include/boost/process/detail/posix/async_pipe.hpp ++++ b/include/boost/process/detail/posix/async_pipe.hpp +@@ -23,6 +23,7 @@ class async_pipe + public: + typedef int native_handle_type; + typedef ::boost::asio::posix::stream_descriptor handle_type; ++ typedef typename handle_type::executor_type executor_type; + + inline async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios) {} + +diff --git a/include/boost/process/detail/windows/async_pipe.hpp b/include/boost/process/detail/windows/async_pipe.hpp +index 06d5f2d85..0b447f9b8 100644 +--- a/include/boost/process/detail/windows/async_pipe.hpp ++++ b/include/boost/process/detail/windows/async_pipe.hpp +@@ -48,6 +48,7 @@ class async_pipe + public: + typedef ::boost::winapi::HANDLE_ native_handle_type; + typedef ::boost::asio::windows::stream_handle handle_type; ++ typedef typename handle_type::executor_type executor_type; + + async_pipe(boost::asio::io_context & ios) : async_pipe(ios, ios, make_pipe_name(), true) {} + async_pipe(boost::asio::io_context & ios_source, boost::asio::io_context & ios_sink) diff --git a/ports/boost-process/portfile.cmake b/ports/boost-process/portfile.cmake index 4f89f80b6f..e07c778e86 100644 --- a/ports/boost-process/portfile.cmake +++ b/ports/boost-process/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( REF boost-1.72.0 SHA512 bc881bcfa817e848151d90a0837683b9833395a7f7b76de76c40c96615bb1da7d10c0dae84f6b70b47fdf762a62869cb1700730a74fe123901803128f9194a52 HEAD_REF master + PATCHES async_pipe_header.patch ) include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) diff --git a/scripts/boost/generate-ports.ps1 b/scripts/boost/generate-ports.ps1 index b1cf083770..e154bd38d9 100644 --- a/scripts/boost/generate-ports.ps1 +++ b/scripts/boost/generate-ports.ps1 @@ -50,7 +50,7 @@ function Generate() $controlDeps = ($Depends | sort) -join ", " $versionSuffix = "" - if ($PortName -eq "iostreams" -or $PortName -eq "python") + if ($PortName -eq "iostreams" -or $PortName -eq "process" -or $PortName -eq "python") { $versionSuffix = "-1" } @@ -115,6 +115,10 @@ function Generate() { $portfileLines += @(" PATCHES Removeseekpos.patch") } + if ($PortName -eq "process") + { + $portfileLines += @(" PATCHES async_pipe_header.patch") + } $portfileLines += @( ")" ""