diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index eedac8bf818469..fc52203be045b0 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 d2ced1cad1162d..60aa341dded63e 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 00000000000000..4871b5ee6b4fcf --- /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 9a46bf00fa5ed3..15d4abad5dfeac 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