aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/ace/CONTROL2
-rw-r--r--ports/ace/portfile.cmake4
-rw-r--r--ports/ace/process_manager.patch57
-rw-r--r--scripts/ci.baseline.txt5
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