diff options
| author | Alexander Karatarakis <alex@karatarakis.com> | 2018-01-01 14:48:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-01-01 14:48:45 +0200 |
| commit | ead35fd00a0b82fcd7e2484a5265d3f7c47130dc (patch) | |
| tree | 5537cbc6a0cf68b8bd3d9d4df621ac05a26db372 /ports/mongo-c-driver | |
| parent | 4ae7a5d7a9bc491c986cdc1ef88af45e3703891d (diff) | |
| parent | 7f3e5e3f776811764b679470b1494264c538885a (diff) | |
| download | vcpkg-ead35fd00a0b82fcd7e2484a5265d3f7c47130dc.tar.gz vcpkg-ead35fd00a0b82fcd7e2484a5265d3f7c47130dc.zip | |
Merge pull request #2479 from ivysnow/mongoc
[libbson, mongo-c-driver] update to 1.9.0
Diffstat (limited to 'ports/mongo-c-driver')
| -rw-r--r-- | ports/mongo-c-driver/CONTROL | 2 | ||||
| -rw-r--r-- | ports/mongo-c-driver/bson.patch | 23 | ||||
| -rw-r--r-- | ports/mongo-c-driver/fix-uwp.patch | 72 | ||||
| -rw-r--r-- | ports/mongo-c-driver/portfile.cmake | 61 | ||||
| -rw-r--r-- | ports/mongo-c-driver/static.patch | 13 |
5 files changed, 127 insertions, 44 deletions
diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL index 4b100879a..6391682c4 100644 --- a/ports/mongo-c-driver/CONTROL +++ b/ports/mongo-c-driver/CONTROL @@ -1,4 +1,4 @@ Source: mongo-c-driver -Version: 1.6.2-1 +Version: 1.9.0 Build-Depends: libbson, openssl (uwp) Description: Client library written in C for MongoDB. diff --git a/ports/mongo-c-driver/bson.patch b/ports/mongo-c-driver/bson.patch deleted file mode 100644 index 6ef5451b8..000000000 --- a/ports/mongo-c-driver/bson.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/build/cmake/FindBSON.cmake b/build/cmake/FindBSON.cmake -index 06fd82e..3ac549d 100644 ---- a/build/cmake/FindBSON.cmake -+++ b/build/cmake/FindBSON.cmake -@@ -11,15 +11,15 @@ endif () - - find_path(BSON_INCLUDE_DIR - NAMES -- libbson-1.0/bson.h -+ bson.h - HINTS - ${BSON_ROOT_DIR} - PATH_SUFFIXES - include -+ libbson-1.0 -+ include/libbson-1.0 - ) - --set(BSON_INCLUDE_DIR "${BSON_INCLUDE_DIR}/libbson-1.0") -- - find_library(BSON - NAMES - "bson-1.0" diff --git a/ports/mongo-c-driver/fix-uwp.patch b/ports/mongo-c-driver/fix-uwp.patch index 13c0a2299..59d67c6be 100644 --- a/ports/mongo-c-driver/fix-uwp.patch +++ b/ports/mongo-c-driver/fix-uwp.patch @@ -1,8 +1,72 @@ -diff --git a/src/mongoc/mongoc-gridfs-file.c b/src/mongoc/mongoc-gridfs-file.c +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5beb610..7e74ff7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -55,6 +55,7 @@ + + include(MaintainerFlags) + ++if ((NOT ENABLE_STATIC STREQUAL ON) AND (NOT ENABLE_STATIC STREQUAL AUTO)) + # The input variable BSON_ROOT_DIR is respected for backwards compatibility, + # but you should use the standard CMAKE_PREFIX_PATH instead. + message (STATUS "Searching for libbson CMake packages") +@@ -67,12 +68,14 @@ + message ("-- libbson found version \"${BSON_VERSION}\"") + message ("-- libbson include path \"${BSON_INCLUDE_DIRS}\"") + message ("-- libbson libraries \"${BSON_LIBRARIES}\"") ++endif () + + if (ENABLE_STATIC STREQUAL ON OR ENABLE_STATIC STREQUAL AUTO) + find_package (libbson-static-1.0 + "${MONGOC_MAJOR_VERSION}.${MONGOC_MINOR_VERSION}.${MONGOC_MICRO_VERSION}" + HINTS +- ${BSON_ROOT_DIR}) ++ ${BSON_ROOT_DIR} ++ REQUIRED) + + if (ENABLE_STATIC STREQUAL ON AND NOT BSON_STATIC_LIBRARY) + message (FATAL_ERROR "Static libbson not found. Pass -DENABLE_STATIC=OFF") +@@ -627,6 +630,7 @@ + set (LIBS ${LIBS} ws2_32) + endif() + ++if (NOT MONGOC_ENABLE_STATIC) + add_library(mongoc_shared SHARED ${SOURCES} ${HEADERS}) + set_target_properties(mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) + target_link_libraries (mongoc_shared ${LIBS} ${BSON_LIBRARIES}) +@@ -638,6 +642,7 @@ + # This hack sets up standard symlink, libmongoc-1.0.so -> libmongoc-1.0.0.so + set_target_properties(mongoc_shared PROPERTIES VERSION 0 SOVERSION ${MONGOC_MAJOR_VERSION}) + set_target_properties(mongoc_shared PROPERTIES OUTPUT_NAME "mongoc-${MONGOC_API_VERSION}" PREFIX "lib") ++endif () + + if (MONGOC_ENABLE_STATIC) + add_library(mongoc_static STATIC ${SOURCES} ${HEADERS}) +@@ -804,6 +809,7 @@ + file(COPY ${SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR}/tests) + file(COPY ${SOURCE_DIR}/tests/release_files DESTINATION ${PROJECT_BINARY_DIR}/tests) + ++if (NOT MONGOC_ENABLE_STATIC) + install( + TARGETS mongoc_shared ${EXAMPLES} + LIBRARY DESTINATION lib +@@ -810,10 +816,11 @@ + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin + ) ++endif () + + if (MONGOC_ENABLE_STATIC) + install( +- TARGETS mongoc_shared mongoc_static ${EXAMPLES} ++ TARGETS mongoc_static ${EXAMPLES} + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin index 5beb610..7e74ff7 100644 --- a/src/mongoc/mongoc-gridfs-file.c +++ b/src/mongoc/mongoc-gridfs-file.c -@@ -734,7 +734,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file) +@@ -753,7 +753,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file) bson_t query; bson_t child; bson_t opts; @@ -15,7 +79,7 @@ diff --git a/src/mongoc/mongoc-handshake.c b/src/mongoc/mongoc-handshake.c index 4e181bd..b274fc1 100644 --- a/src/mongoc/mongoc-handshake.c +++ b/src/mongoc/mongoc-handshake.c -@@ -195,7 +195,8 @@ _get_os_version (void) +@@ -243,7 +243,8 @@ _get_os_version (void) char *ret = bson_malloc (HANDSHAKE_OS_VERSION_MAX); bool found = false; @@ -29,7 +93,7 @@ diff --git a/src/mongoc/mongoc-util.c b/src/mongoc/mongoc-util.c index 6dbb26d..7f33780 100644 --- a/src/mongoc/mongoc-util.c +++ b/src/mongoc/mongoc-util.c -@@ -46,7 +46,11 @@ _mongoc_hex_md5 (const char *input) +@@ -69,7 +69,11 @@ _mongoc_hex_md5 (const char *input) void _mongoc_usleep (int64_t usec) { diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index 4376f324a..3b3b1f863 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -1,21 +1,24 @@ include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mongo-c-driver-1.6.2)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mongo-c-driver-1.9.0)
vcpkg_download_distfile(ARCHIVE
- URLS "https://github.com/mongodb/mongo-c-driver/archive/1.6.2.tar.gz"
- FILENAME "mongo-c-driver-1.6.2.tar.gz"
- SHA512 3533fed665c70b71f0e9473156bab1575f60b0b3db412f19c0a625e1e35683a3077f96b8a0ba337fd755675029f47b68dc3a5fc8f39254bb0be589da57cffad3
+ URLS "https://github.com/mongodb/mongo-c-driver/archive/1.9.0.tar.gz"
+ FILENAME "mongo-c-driver-1.9.0.tar.gz"
+ SHA512 e7785f336c38bbf7dd519351bba2facab025b4d2bcd1eef82e98606a21510af7f799edaf4b4f074bd4c5a17ad63176c276f8c57e499b8d9afd098bce274da4ae
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
- PREFER_NINJA
- PATCHES
- ${CMAKE_CURRENT_LIST_DIR}/bson.patch
- ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch
+ PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch
)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(ENABLE_STATIC ON)
+else()
+ set(ENABLE_STATIC OFF)
+endif()
+
set(ENABLE_SSL "WINDOWS")
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(ENABLE_SSL "OPENSSL")
@@ -23,11 +26,13 @@ endif() vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
OPTIONS
-DBSON_ROOT_DIR=${CURRENT_INSTALLED_DIR}
-DENABLE_TESTS=OFF
-DENABLE_EXAMPLES=OFF
-DENABLE_SSL=${ENABLE_SSL}
+ -DENABLE_STATIC=${ENABLE_STATIC}
)
vcpkg_install_cmake()
@@ -43,23 +48,47 @@ 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(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
- file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mongoc-1.0.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-1.0.lib)
-
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)
-else()
- file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mongoc-static-1.0.lib)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/mongoc-static-1.0.lib)
+
+ # drop the __declspec(dllimport) when building static
+ vcpkg_apply_patches(
+ SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/static.patch
+ )
+
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin)
endif()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver RENAME copyright)
file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config.cmake LIBMONGOC_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "/include/libmongoc-1.0" "/include" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "mongoc-static-1.0" "mongoc-1.0" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongoc-static-1.0/libmongoc-static-1.0-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-static-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-static-1.0)
+else()
+file(READ ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config.cmake LIBMONGOC_CONFIG_CMAKE)
+string(REPLACE "/../../../" "/../../" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+string(REPLACE "/include/libmongoc-1.0" "/include" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0/libmongoc-1.0-config.cmake "${LIBMONGOC_CONFIG_CMAKE}")
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver)
+file(RENAME ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-1.0-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/mongo-c-driver-config-version.cmake)
+file(COPY ${CURRENT_PACKAGES_DIR}/lib/cmake/libmongoc-1.0/libmongoc-1.0-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-1.0)
+endif()
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake ${CURRENT_PACKAGES_DIR}/lib/cmake)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/lib/pkgconfig)
+
vcpkg_copy_pdbs()
diff --git a/ports/mongo-c-driver/static.patch b/ports/mongo-c-driver/static.patch new file mode 100644 index 000000000..7f348ba82 --- /dev/null +++ b/ports/mongo-c-driver/static.patch @@ -0,0 +1,13 @@ +diff --git a/mongoc-macros.h b/mongoc-macros.h +index 909bf6c..0a1f612 100644 +--- a/mongoc-macros.h ++++ b/mongoc-macros.h +@@ -40,7 +40,7 @@ + #elif defined(MONGOC_COMPILATION) + #define MONGOC_API __declspec(dllexport) + #else +-#define MONGOC_API __declspec(dllimport) ++#define MONGOC_API + #endif + #define MONGOC_CALL __cdecl + |
