diff options
| author | Johnny Willemsen <jwillemsen@remedy.nl> | 2020-05-27 07:26:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-26 22:26:41 -0700 |
| commit | 9c04c2ec5938538aff7559de9d7c610b8d792170 (patch) | |
| tree | a28fc66ee7c5ce5c2f2382df041f4579741a8c9a | |
| parent | 9dde75b92a95f100b9eb58844a44294d1be2797d (diff) | |
| download | vcpkg-9c04c2ec5938538aff7559de9d7c610b8d792170.tar.gz vcpkg-9c04c2ec5938538aff7559de9d7c610b8d792170.zip | |
[ace] Add patch to fix Visual Studio 2019 16.5 internal compiler error (#11369)
* [ace] Update to 6.5.8
* Address review comments
* ports/ace/portfile.cmake:
* Put back copy step
* ports/ace/portfile.cmake:
* Fixed error
* ports/ace/portfile.cmake:
* ARM should work, let us try it
* ports/ace/portfile.cmake:
* ARM doesn't work yet, so disable it again
* ports/ace/portfile.cmake:
* Add support for vcpkg of ace on MacOSX
* ports/ace/portfile.cmake:
* [ace] Add patch to fix Visual Studio 2019 internal compiler error
* ports/ace/process_manager.patch:
Added.
* ports/ace/CONTROL:
* ports/ace/portfile.cmake:
* Attempt to fix apply patches
* ports/ace/portfile.cmake:
* [ace] Updated baseline for ace, 4 configurations work again with the applied patch
* scripts/ci.baseline.txt:
* Address review comments
* ports/ace/portfile.cmake:
* Revised patch for ACE
* ports/ace/process_manager.patch:
* Update ports/ace/portfile.cmake
add comment about why the patch is needed
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
| -rw-r--r-- | ports/ace/CONTROL | 2 | ||||
| -rw-r--r-- | ports/ace/portfile.cmake | 4 | ||||
| -rw-r--r-- | ports/ace/process_manager.patch | 57 | ||||
| -rw-r--r-- | scripts/ci.baseline.txt | 5 |
4 files changed, 61 insertions, 7 deletions
diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index eedac8bf8..fc52203be 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,5 +1,5 @@ Source: ace -Version: 6.5.9 +Version: 6.5.9-1 Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html Description: The ADAPTIVE Communication Environment Supports: !uwp diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index d2ced1cad..60aa341dd 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -22,6 +22,8 @@ endif() vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} + PATCHES + process_manager.patch # Fix MSVC 16.5 ICE ) set(ACE_ROOT ${SOURCE_PATH}) @@ -250,5 +252,5 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) set($ENV{PWD} _prev_env) # Handle copyright - file(RENAME ${CURRENT_PACKAGES_DIR}/share/ace/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) + file(INSTALL ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) endif() diff --git a/ports/ace/process_manager.patch b/ports/ace/process_manager.patch new file mode 100644 index 000000000..4871b5ee6 --- /dev/null +++ b/ports/ace/process_manager.patch @@ -0,0 +1,57 @@ +diff --git a/ace/Process_Manager.cpp b/ace/Process_Manager.cpp +index ee0418b8fca..da9d9741e28 100644 +--- a/ace/Process_Manager.cpp ++++ b/ace/Process_Manager.cpp +@@ -26,6 +26,9 @@ ACE_Process_Manager_cleanup (void *instance, void *arg) + { + ACE_Process_Manager::cleanup (instance, arg); + } ++#define ACE_PROCESS_MANAGER_CLEANUP_FUNCTION ACE_Process_Manager_cleanup ++#else ++#define ACE_PROCESS_MANAGER_CLEANUP_FUNCTION ACE_Process_Manager::cleanup + #endif + + ACE_BEGIN_VERSIONED_NAMESPACE_DECL +@@ -124,19 +127,10 @@ ACE_Process_Manager::instance (void) + // Register with the Object_Manager so that the wrapper to + // delete the proactor will be called when Object_Manager is + // being terminated. +- +-#if defined ACE_HAS_SIG_C_FUNC +- ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_, +- ACE_Process_Manager_cleanup, +- 0, +- typeid (*ACE_Process_Manager::instance_).name ()); +-#else + ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_, +- ACE_Process_Manager::cleanup, ++ ACE_PROCESS_MANAGER_CLEANUP_FUNCTION, + 0, +- typeid (*ACE_Process_Manager::instance_).name ()); +-#endif /* ACE_HAS_SIG_C_FUNC */ +- ++ typeid (ACE_Process_Manager).name ()); + } + } + +@@ -157,18 +151,10 @@ ACE_Process_Manager::instance (ACE_Process_Manager *tm) + // Register with the Object_Manager so that the wrapper to + // delete the proactor will be called when Object_Manager is + // being terminated. +- +-#if defined ACE_HAS_SIG_C_FUNC +- ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_, +- ACE_Process_Manager_cleanup, +- 0, +- typeid (*ACE_Process_Manager::instance_).name ()); +-#else + ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_, +- ACE_Process_Manager::cleanup, ++ ACE_PROCESS_MANAGER_CLEANUP_FUNCTION, + 0, +- typeid (*ACE_Process_Manager::instance_).name ()); +-#endif /* ACE_HAS_SIG_C_FUNC */ ++ typeid (*t).name ()); + + ACE_Process_Manager::instance_ = tm; + return t; diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index b606084f1..ce54d585e 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -45,13 +45,8 @@ 7zip:x64-osx=fail
7zip:x64-uwp=fail
abseil:arm-uwp=fail
-# ace is failing because the port's attempt to make yasm available is not succeeding
ace:arm-uwp=fail
-ace:arm64-windows=fail
ace:x64-uwp=fail
-ace:x64-windows-static=fail
-ace:x64-windows=fail
-ace:x86-windows=fail
activemq-cpp:x64-windows-static=fail
activemq-cpp:x64-linux=fail
activemq-cpp:x64-osx=fail
|
