[dev-libs/libmongocrypt] bump, untested

This commit is contained in:
2025-10-28 01:16:21 +01:00
parent 66adfd38a0
commit 3a93d52e7d
4 changed files with 152 additions and 104 deletions

View File

@@ -1 +1 @@
DIST libmongocrypt-1.15.0.tar.gz 4012071 BLAKE2B 73797bc43f7200508d45f8fb2ccc20dc43fb2952cd42b8f174ff083ba8e2da9831f9b82f9c560dfd30b93731ee7de95eb7023e75af945ab57bfc72ec2bc01744 SHA512 9f83497c5593641369c3741290db99fe3812ca1d8ea40809ac56063a8206ac391def528b08bdc416ff5116341172e9aba4a0315b2f583229dae1aee12a810020
DIST libmongocrypt-1.15.2.tar.gz 4012840 BLAKE2B 33accfd5ad5b7e565ca58f88c5dcfeabcab9da828c49235d568ce791b6e28dfc9a8728a1f9186648e2f4143b72ce942582e8b2123a1cfb4ddea779a48ecd097c SHA512 26f3feaee715a00d80fea680858b5c2a31cd4e5ea4ce1a3596400fb6ceca5f641cef558324325803e0ca3076b035ddecc7b71d68486a7a7025448172ab4aa30c

View File

@@ -0,0 +1,120 @@
.evergreen/linker_tests_deps/app/CMakeLists.txt | 4 +--
CMakeLists.txt | 34 ++++---------------------
cmake/MongoC-Warnings.cmake | 9 +------
kms-message/CMakeLists.txt | 5 ++--
4 files changed, 10 insertions(+), 42 deletions(-)
diff --git a/.evergreen/linker_tests_deps/app/CMakeLists.txt b/.evergreen/linker_tests_deps/app/CMakeLists.txt
index 1a5abb1d..9b9f907e 100644
--- a/.evergreen/linker_tests_deps/app/CMakeLists.txt
+++ b/.evergreen/linker_tests_deps/app/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 3.5)
+cmake_minimum_required (VERSION 3.15...4.0)
project (app C)
add_executable (app app.c)
find_package (bson-1.0 1.11 REQUIRED)
@@ -6,4 +6,4 @@ message ("-- libbson found version \"${bson-1.0_VERSION}\"")
target_link_libraries (app PRIVATE mongo::bson_static)
find_package (mongocrypt REQUIRED)
-target_link_libraries (app PRIVATE mongo::mongocrypt)
\ No newline at end of file
+target_link_libraries (app PRIVATE mongo::mongocrypt)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c768faca..69e99f9d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,15 +1,4 @@
-cmake_minimum_required (VERSION 3.12)
-
-# Preempt the MSVC_RUNTIME_LIBRARY properties
-if (POLICY CMP0091)
- cmake_policy (SET CMP0091 NEW)
-elseif (DEFINED CMAKE_MSVC_RUNTIME_LIBRARY)
- message (WARNING "The CMAKE_MSVC_RUNTIME_LIBRARY variable is set, but CMake is too old to understand it")
-endif ()
-
-if (POLICY CMP0135)
- cmake_policy (SET CMP0135 NEW)
-endif ()
+cmake_minimum_required (VERSION 3.15...4.0)
project (mongocrypt C)
@@ -27,20 +16,7 @@ option (ENABLE_BUILD_FOR_PPA "Maintainer-only option for preparing PPA build" OF
option (ENABLE_ONLINE_TESTS "Enable online tests and the csfle utility. Requires libmongoc." ON)
if (ENABLE_WINDOWS_STATIC_RUNTIME)
- if (POLICY CMP0091)
- # CMake 3.15 makes this trivial:
- set (CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
- else ()
- # Fix it up the old-fashioned way
- string (REPLACE "/MDd" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- string (REPLACE "/MD" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
- string (REPLACE "/MDd" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- string (REPLACE "/MD" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
- string (APPEND CMAKE_C_FLAGS_DEBUG " /MTd")
- string (APPEND CMAKE_CXX_FLAGS_DEBUG " /MTd")
- string (APPEND CMAKE_C_FLAGS_RELEASE " /MT")
- string (APPEND CMAKE_CXX_FLAGS_RELEASE " /MT")
- endif ()
+ set (CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif ()
list (APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
@@ -216,10 +192,10 @@ if (BUILD_VERSION STREQUAL "0.0.0")
file (STRINGS ${PROJECT_SOURCE_DIR}/VERSION_CURRENT BUILD_VERSION)
message (STATUS "File VERSION_CURRENT contained BUILD_VERSION ${BUILD_VERSION}")
else ()
- find_package (PythonInterp)
- if (PYTHONINTERP_FOUND)
+ find_package (Python COMPONENTS Interpreter)
+ if (TARGET Python::Interpreter)
execute_process (
- COMMAND ${PYTHON_EXECUTABLE} etc/calc_release_version.py
+ COMMAND "${Python_EXECUTABLE}" etc/calc_release_version.py
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
OUTPUT_VARIABLE CALC_RELEASE_VERSION
RESULT_VARIABLE CALC_RELEASE_VERSION_RESULT
diff --git a/cmake/MongoC-Warnings.cmake b/cmake/MongoC-Warnings.cmake
index 4784c933..eb104f48 100644
--- a/cmake/MongoC-Warnings.cmake
+++ b/cmake/MongoC-Warnings.cmake
@@ -42,14 +42,7 @@ function (mongoc_add_platform_compile_options)
endforeach ()
endfunction ()
-if (CMAKE_VERSION VERSION_LESS 3.3)
- # On older CMake versions, we'll just always pass the warning options, even
- # if the generate warnings for the C++ check file
- set (is_c_lang "1")
-else ()
- # $<COMPILE_LANGUAGE> is only valid in CMake 3.3+
- set (is_c_lang "$<COMPILE_LANGUAGE:C>")
-endif ()
+set (is_c_lang "$<COMPILE_LANGUAGE:C>")
# These below warnings should always be unconditional hard errors, as the code is
# almost definitely broken
diff --git a/kms-message/CMakeLists.txt b/kms-message/CMakeLists.txt
index 6848e61f..ff210d4f 100644
--- a/kms-message/CMakeLists.txt
+++ b/kms-message/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required (VERSION 3.5)
+cmake_minimum_required (VERSION 3.15...4.0)
project (kms_message
VERSION 0.0.1
LANGUAGES C
@@ -7,8 +7,7 @@ project (kms_message
set (CMAKE_C_STANDARD 99)
include (CheckCCompilerFlag)
-# All targets obey visibility, not just library targets.
-cmake_policy (SET CMP0063 NEW)
+
set (CMAKE_C_VISIBILITY_PRESET hidden)
set (KMS_MESSAGE_SOURCES
src/kms_b64.c

View File

@@ -1,49 +1,19 @@
https://github.com/mongodb/libmongocrypt/pull/681
From d6225c9b68cc6d0bc3ab5e3d3c3ac6e746d564a1 Mon Sep 17 00:00:00 2001
From: tharvik <tharvik@users.noreply.github.com>
Date: Sat, 29 Jul 2023 18:38:29 +0200
Subject: [PATCH 1/4] cmake/bson: enforce local build for test
---
cmake/ImportBSON.cmake | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
cmake/ImportBSON.cmake | 95 +++++++++++++++++++++++++++++---------------------
1 file changed, 55 insertions(+), 40 deletions(-)
diff --git a/cmake/ImportBSON.cmake b/cmake/ImportBSON.cmake
index b33750142..f168681ff 100644
index c2ca766f..db31c713 100644
--- a/cmake/ImportBSON.cmake
+++ b/cmake/ImportBSON.cmake
@@ -105,9 +105,12 @@ if (NOT DEFINED MONGOCRYPT_MONGOC_DIR)
@@ -105,27 +105,42 @@ if (NOT DEFINED MONGOCRYPT_MONGOC_DIR)
include (FetchMongoC)
# The FetchMongoC module defines a MONGOCRYPT_MONGOC_DIR for us to use
endif ()
+if (ENABLE_ONLINE_TESTS AND (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM" OR USE_SHARED_LIBBSON))
+ message (FATAL_ERROR "Online tests requires static local build of libbson")
+endif ()
function (_import_bson)
- if (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM" AND USE_SHARED_LIBBSON AND NOT ENABLE_ONLINE_TESTS)
+ if (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM" AND USE_SHARED_LIBBSON)
message (STATUS "NOTE: Using system-wide libbson library. This is intended only for package maintainers.")
find_library (_MONGOCRYPT_SYSTEM_LIBBSON_SHARED "${CMAKE_SHARED_LIBRARY_PREFIX}bson-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}")
find_library (_MONGOCRYPT_SYSTEM_LIBBSON_STATIC "${CMAKE_STATIC_LIBRARY_PREFIX}bson-static-1.0${CMAKE_STATIC_LIBRARY_SUFFIX}")
From 41b1fd383f61182c42bbaa76705f730a33e7ede2 Mon Sep 17 00:00:00 2001
From: tharvik <tharvik@users.noreply.github.com>
Date: Sat, 29 Jul 2023 19:16:53 +0200
Subject: [PATCH 2/4] cmake/bson: refact system import
---
cmake/ImportBSON.cmake | 43 +++++++++++++++++++++++++-----------------
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/cmake/ImportBSON.cmake b/cmake/ImportBSON.cmake
index f168681ff..18e5d58fc 100644
--- a/cmake/ImportBSON.cmake
+++ b/cmake/ImportBSON.cmake
@@ -109,26 +109,35 @@ if (ENABLE_ONLINE_TESTS AND (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM" OR USE_
message (FATAL_ERROR "Online tests requires static local build of libbson")
endif ()
+
+function (_import_system_libbson target library_type library_name)
+ # import a system libbson
+ # target: target to add library under
@@ -67,9 +37,10 @@ index f168681ff..18e5d58fc 100644
+ )
+ set_property (CACHE ${lib} _MONGOCRYPT_SYSTEM_LIBBSON_INCLUDE_DIR PROPERTY ADVANCED TRUE)
+endfunction ()
+
function (_import_bson)
if (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM" AND USE_SHARED_LIBBSON)
- if (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM" AND USE_SHARED_LIBBSON AND NOT ENABLE_ONLINE_TESTS)
+ if (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM")
message (STATUS "NOTE: Using system-wide libbson library. This is intended only for package maintainers.")
- find_library (_MONGOCRYPT_SYSTEM_LIBBSON_SHARED "${CMAKE_SHARED_LIBRARY_PREFIX}bson-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}")
- find_library (_MONGOCRYPT_SYSTEM_LIBBSON_STATIC "${CMAKE_STATIC_LIBRARY_PREFIX}bson-static-1.0${CMAKE_STATIC_LIBRARY_SUFFIX}")
@@ -88,28 +59,17 @@ index f168681ff..18e5d58fc 100644
- PROPERTY ADVANCED
- TRUE
- )
+ _import_system_libbson(bson_shared SHARED "${CMAKE_SHARED_LIBRARY_PREFIX}bson-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}")
+ _import_system_libbson(bson_static STATIC "${CMAKE_STATIC_LIBRARY_PREFIX}bson-static-1.0${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ if (USE_SHARED_LIBBSON)
+ _import_system_libbson (bson_shared SHARED "${CMAKE_SHARED_LIBRARY_PREFIX}bson-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}")
+ else ()
+ _import_system_libbson (bson_static STATIC "${CMAKE_STATIC_LIBRARY_PREFIX}bson-static-1.0${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ endif ()
else ()
message (STATUS "Using [${MONGOCRYPT_MONGOC_DIR}] as a sub-project for libbson")
# Disable AWS_AUTH, to prevent it from building the kms-message symbols, which we build ourselves
From 1b7ba197aabb35384e3eb80476e0f4584cce2c71 Mon Sep 17 00:00:00 2001
From: tharvik <tharvik@users.noreply.github.com>
Date: Sat, 29 Jul 2023 20:09:10 +0200
Subject: [PATCH 3/4] cmake/bson: install static iff not system
---
cmake/ImportBSON.cmake | 40 ++++++++++++++++++++--------------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/cmake/ImportBSON.cmake b/cmake/ImportBSON.cmake
index 18e5d58fc..afc784826 100644
--- a/cmake/ImportBSON.cmake
+++ b/cmake/ImportBSON.cmake
@@ -161,6 +161,26 @@ function (_import_bson)
else ()
add_subdirectory ("${MONGOCRYPT_MONGOC_DIR}" _mongo-c-driver EXCLUDE_FROM_ALL)
@@ -172,6 +187,26 @@ function (_import_bson)
if (DEFINED saved_build_version)
set (BUILD_VERSION "${saved_build_version}")
endif ()
+
+ # Put the libbson dynamic library into the current binary directory (plus possible config suffix).
@@ -134,7 +94,19 @@ index 18e5d58fc..afc784826 100644
if (TARGET mongoc_static)
# Workaround: Embedded mongoc_static does not set its INCLUDE_DIRECTORIES for user targets
target_include_directories (mongoc_static
@@ -201,23 +221,3 @@ if (TARGET mongoc_static)
@@ -202,33 +237,13 @@ install (
# users during find_package()
if (USE_SHARED_LIBBSON)
target_link_libraries (_mongocrypt-libbson_for_shared INTERFACE $<BUILD_INTERFACE:bson_shared>)
+ target_link_libraries (_mongocrypt-libbson_for_static INTERFACE $<BUILD_INTERFACE:bson_shared>)
else ()
target_link_libraries (_mongocrypt-libbson_for_shared INTERFACE $<BUILD_INTERFACE:bson_static>)
+ target_link_libraries (_mongocrypt-libbson_for_static INTERFACE $<BUILD_INTERFACE:bson_static>)
endif ()
-# libbson_for_static always links to the static libbson:
-target_link_libraries (_mongocrypt-libbson_for_static INTERFACE $<BUILD_INTERFACE:bson_static>)
if (TARGET mongoc_static)
# And an alias to the mongoc target for use in some test cases
add_library (_mongocrypt::mongoc ALIAS mongoc_static)
endif ()
@@ -158,48 +130,3 @@ index 18e5d58fc..afc784826 100644
- RENAME ${CMAKE_STATIC_LIBRARY_PREFIX}bson-static-for-libmongocrypt${CMAKE_STATIC_LIBRARY_SUFFIX}
- )
-endif ()
From 70c6d9cfbfa7608428391b6d796337d5e8abde14 Mon Sep 17 00:00:00 2001
From: tharvik <tharvik@users.noreply.github.com>
Date: Sat, 29 Jul 2023 23:05:26 +0200
Subject: [PATCH 4/4] cmake/bson: only load needed system lib
---
cmake/ImportBSON.cmake | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/cmake/ImportBSON.cmake b/cmake/ImportBSON.cmake
index afc784826..672034082 100644
--- a/cmake/ImportBSON.cmake
+++ b/cmake/ImportBSON.cmake
@@ -134,10 +134,13 @@ function (_import_system_libbson target library_type library_name)
endfunction ()
function (_import_bson)
- if (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM" AND USE_SHARED_LIBBSON)
+ if (MONGOCRYPT_MONGOC_DIR STREQUAL "USE-SYSTEM")
message (STATUS "NOTE: Using system-wide libbson library. This is intended only for package maintainers.")
- _import_system_libbson(bson_shared SHARED "${CMAKE_SHARED_LIBRARY_PREFIX}bson-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}")
- _import_system_libbson(bson_static STATIC "${CMAKE_STATIC_LIBRARY_PREFIX}bson-static-1.0${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ if (USE_SHARED_LIBBSON)
+ _import_system_libbson (bson_shared SHARED "${CMAKE_SHARED_LIBRARY_PREFIX}bson-1.0${CMAKE_SHARED_LIBRARY_SUFFIX}")
+ else ()
+ _import_system_libbson (bson_static STATIC "${CMAKE_STATIC_LIBRARY_PREFIX}bson-static-1.0${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ endif ()
else ()
message (STATUS "Using [${MONGOCRYPT_MONGOC_DIR}] as a sub-project for libbson")
# Disable AWS_AUTH, to prevent it from building the kms-message symbols, which we build ourselves
@@ -211,11 +214,11 @@ install (
# users during find_package()
if (USE_SHARED_LIBBSON)
target_link_libraries (_mongocrypt-libbson_for_shared INTERFACE $<BUILD_INTERFACE:bson_shared>)
+ target_link_libraries (_mongocrypt-libbson_for_static INTERFACE $<BUILD_INTERFACE:bson_shared>)
else ()
target_link_libraries (_mongocrypt-libbson_for_shared INTERFACE $<BUILD_INTERFACE:bson_static>)
+ target_link_libraries (_mongocrypt-libbson_for_static INTERFACE $<BUILD_INTERFACE:bson_static>)
endif ()
-# libbson_for_static always links to the static libbson:
-target_link_libraries (_mongocrypt-libbson_for_static INTERFACE $<BUILD_INTERFACE:bson_static>)
if (TARGET mongoc_static)
# And an alias to the mongoc target for use in some test cases

View File

@@ -25,7 +25,8 @@ DEPEND="${RDEPEND}
)"
PATCHES=(
"${FILESDIR}/${PN}-1.11.0-static.patch"
"${FILESDIR}/${PN}-1.15.2-static.patch"
"${FILESDIR}/${PN}-1.15.2-cmake4.patch"
)
src_configure() {