From 1e7b70493976c9e4f822adcb95fcc307a3f548a4 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 20 Dec 2017 23:47:39 -0800 Subject: [PATCH] [hpx] Handle boost breaking changes. Fixes #2416. --- ports/hpx/CONTROL | 2 +- ports/hpx/boost-1-66.patch | 38 ++++++++++++++++++++++++++++++++++++++ ports/hpx/portfile.cmake | 17 +++++++++++------ 3 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 ports/hpx/boost-1-66.patch diff --git a/ports/hpx/CONTROL b/ports/hpx/CONTROL index efac887807..6956312c86 100644 --- a/ports/hpx/CONTROL +++ b/ports/hpx/CONTROL @@ -1,5 +1,5 @@ Source: hpx -Version: 1.0.0-6 +Version: 1.0.0-7 Build-Depends: hwloc, boost-chrono, boost-date-time, boost-filesystem, boost-program-options, boost-regex, boost-system, boost-thread, boost-context, boost-iostreams, boost-random, boost-atomic, boost-asio, boost-dynamic-bitset, boost-assign, boost-format, boost-signals2, boost-parameter, boost-bimap, boost-accumulators, boost-lockfree, boost-icl Description: The C++ Standards Library for Concurrency and Parallelism HPX is a C++ Standards Library for Concurrency and Parallelism. It implements all of the corresponding facilities as defined by the C++ Standard. Additionally, in HPX we implement functionalities proposed as part of the ongoing C++ standardization process. We also extend the C++ Standard APIs to the distributed case. diff --git a/ports/hpx/boost-1-66.patch b/ports/hpx/boost-1-66.patch new file mode 100644 index 0000000000..6f98a48aa0 --- /dev/null +++ b/ports/hpx/boost-1-66.patch @@ -0,0 +1,38 @@ +diff --git a/src/util/asio_util.cpp b/src/util/asio_util.cpp +index e2207de..48a35b9 100644 +--- a/src/util/asio_util.cpp ++++ b/src/util/asio_util.cpp +@@ -231,7 +231,7 @@ namespace hpx { namespace util + tcp::endpoint ep; + if (util::get_endpoint(address, port, ep)) + { +- return endpoint_iterator_type(tcp::resolver::iterator::create( ++ return endpoint_iterator_type(tcp::resolver::results_type::create( + ep, address, port_str)); + } + } +@@ -283,7 +283,7 @@ namespace hpx { namespace util + if (util::get_endpoint(address, port, ep)) + { + return endpoint_iterator_type( +- tcp::resolver::iterator::create(ep, address, port_str)); ++ tcp::resolver::results_type::create(ep, address, port_str)); + } + } + catch (boost::system::system_error const&) { +diff --git a/src/util/serialize_exception.cpp b/src/util/serialize_exception.cpp +index 935e575..22bcf37 100644 +--- a/src/util/serialize_exception.cpp ++++ b/src/util/serialize_exception.cpp +@@ -341,11 +341,7 @@ namespace hpx { namespace serialization + case hpx::util::boost_system_error: + e = hpx::detail::construct_exception( + boost::system::system_error(err_value, +-#ifndef BOOST_SYSTEM_NO_DEPRECATED +- boost::system::get_system_category() +-#else + boost::system::system_category() +-#endif + , err_message + ) + , throw_function_, throw_file_, throw_line_, throw_back_trace_, diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake index 0f0299d05a..4b3a87254e 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -15,29 +15,34 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive(${ARCHIVE}) # apply hotfix to enable building with vcpkg -vcpkg_download_distfile(DIFF +vcpkg_download_distfile(DIFF1 URLS "http://stellar-group.org/files/hpx-Build-system-changes-to-make-HPX-compile-when-built-with-vcpkg.diff" FILENAME "hpx-Build-system-changes-to-make-HPX-compile-when-built-with-vcpkg.diff" SHA512 86df311a120686139955e1c0fdca55379594be3fa8d46d69ee59d83da351ce3bed487ab946c80f7127aab9699e470e24e545b112f92be9f971f41d95c429d01d ) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} PATCHES ${DIFF}) # apply hotfix to fix issues with building 32bit version -vcpkg_download_distfile(DIFF +vcpkg_download_distfile(DIFF2 URLS "http://stellar-group.org/files/hpx-Fixing-32bit-MSVC-compilation.diff" FILENAME "hpx-Fixing-32bit-MSVC-compilation.diff" SHA512 31c904d317b4c24eddd819e4856f8326ff3850a5a196c7648c46a11dbb85f35e972e077957b3c4aec67c8b043816fe1cebc92cfe28ed815f682537dfc3421b8b ) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} PATCHES ${DIFF}) # apply hotfix to fix issues when building with UNICODE enabled -vcpkg_download_distfile(DIFF +vcpkg_download_distfile(DIFF3 URLS "http://stellar-group.org/files/hpx-Making-sure-UNICODE-on-Windows-does-not-break-by-default.diff" FILENAME "hpx-Making-sure-UNICODE-on-Windows-does-not-break-by-default.diff" SHA512 8fcdb36307702d64b9d2b26920374a6c5a29a50d125305dc95926c4cbc91215cb0c72ede83b06d0fc007fe7b2283845e08351bd45f11f3677f0d3db4ac8f9424 ) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} PATCHES ${DIFF}) +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + ${DIFF1} + ${DIFF2} + ${DIFF3} + ${CMAKE_CURRENT_LIST_DIR}/boost-1-66.patch +) SET(BOOST_PATH "${CURRENT_INSTALLED_DIR}/share/boost") SET(HWLOC_PATH "${CURRENT_INSTALLED_DIR}/share/hwloc")