aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorpiloopin <piloopin@gmail.com>2019-02-26 00:04:59 +0330
committerPhil Christensen <philc@microsoft.com>2019-02-25 12:34:59 -0800
commit0f04ebaf579bbb56719244cefcd23ab038f7e15c (patch)
tree6f1ada8cf631c523f2b0d3c243aeed41fb3b7e2c /ports
parent5b4cd3fc82b760a9d108805fc2ab9b75f528447c (diff)
downloadvcpkg-0f04ebaf579bbb56719244cefcd23ab038f7e15c.tar.gz
vcpkg-0f04ebaf579bbb56719244cefcd23ab038f7e15c.zip
[mongo-c-driver] fix mongo-c-driver build for linux (#5445)
* fix mongo-c-driver build for Linux
Diffstat (limited to 'ports')
-rw-r--r--ports/mongo-c-driver/CONTROL2
-rw-r--r--ports/mongo-c-driver/fix-uwp.patch19
-rw-r--r--ports/mongo-c-driver/portfile.cmake26
3 files changed, 32 insertions, 15 deletions
diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL
index 700f65d1a..d19dec51c 100644
--- a/ports/mongo-c-driver/CONTROL
+++ b/ports/mongo-c-driver/CONTROL
@@ -1,4 +1,4 @@
Source: mongo-c-driver
-Version: 1.9.5-1
+Version: 1.9.5-2
Build-Depends: libbson, openssl (uwp)
Description: Client library written in C for MongoDB.
diff --git a/ports/mongo-c-driver/fix-uwp.patch b/ports/mongo-c-driver/fix-uwp.patch
index 59d67c6be..b2ec77ab8 100644
--- a/ports/mongo-c-driver/fix-uwp.patch
+++ b/ports/mongo-c-driver/fix-uwp.patch
@@ -90,19 +90,26 @@ index 4e181bd..b274fc1 100644
ZeroMemory (&osvi, sizeof (OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
diff --git a/src/mongoc/mongoc-util.c b/src/mongoc/mongoc-util.c
-index 6dbb26d..7f33780 100644
+index a4e50ea..4f631e7 100644
--- a/src/mongoc/mongoc-util.c
+++ b/src/mongoc/mongoc-util.c
-@@ -69,7 +69,11 @@ _mongoc_hex_md5 (const char *input)
- void
+@@ -70,6 +70,11 @@ void
_mongoc_usleep (int64_t usec)
{
--#ifdef _WIN32
+ #ifdef _WIN32
+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
+ if (usec / 1000 > MAXDWORD || usec < 0)
+ __fastfail(-1);
+ Sleep((DWORD)(usec / 1000));
-+#elif defined(_WIN32)
++#else
LARGE_INTEGER ft;
HANDLE timer;
-
+
+@@ -80,6 +85,7 @@ _mongoc_usleep (int64_t usec)
+ SetWaitableTimer (timer, &ft, 0, NULL, NULL, 0);
+ WaitForSingleObject (timer, INFINITE);
+ CloseHandle (timer);
++#endif
+ #else
+ BSON_ASSERT (usec >= 0);
+ usleep ((useconds_t) usec);
diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake
index 54d70aaf8..a3c5f2d31 100644
--- a/ports/mongo-c-driver/portfile.cmake
+++ b/ports/mongo-c-driver/portfile.cmake
@@ -14,8 +14,9 @@ else()
set(ENABLE_STATIC OFF)
endif()
-set(ENABLE_SSL "WINDOWS")
-if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+if(NOT VCPKG_CMAKE_SYSTEM_NAME)
+ set(ENABLE_SSL "WINDOWS")
+else()
set(ENABLE_SSL "OPENSSL")
endif()
@@ -48,12 +49,21 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/lib/mongoc-static-1.0.lib
- ${CURRENT_PACKAGES_DIR}/lib/mongoc-1.0.lib)
- file(RENAME
- ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-static-1.0.lib
- ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-1.0.lib)
+ if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/lib/libmongoc-static-1.0.a
+ ${CURRENT_PACKAGES_DIR}/lib/libmongoc-1.0.a)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/lib/libmongoc-static-1.0.a
+ ${CURRENT_PACKAGES_DIR}/debug/lib/libmongoc-1.0.a)
+ else()
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/lib/mongoc-static-1.0.lib
+ ${CURRENT_PACKAGES_DIR}/lib/mongoc-1.0.lib)
+ file(RENAME
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-static-1.0.lib
+ ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-1.0.lib)
+ endif()
# drop the __declspec(dllimport) when building static
vcpkg_apply_patches(