summaryrefslogtreecommitdiff
path: root/dev-libs/mongo-c-driver
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-04-11 08:43:59 +0100
committerV3n3RiX <venerix@koprulu.sector>2025-04-11 08:43:59 +0100
commitbb59556b3302a941db4630613c604644d5f7a617 (patch)
tree42e60b7ae227b0fe3af52dfac08d59653066a2db /dev-libs/mongo-c-driver
parent3cd09a18bad26aad2645241b868755cfdf41b6ae (diff)
gentoo auto-resync : 11:04:2025 - 08:43:58HEADmaster
Diffstat (limited to 'dev-libs/mongo-c-driver')
-rw-r--r--dev-libs/mongo-c-driver/Manifest3
-rw-r--r--dev-libs/mongo-c-driver/metadata.xml7
-rw-r--r--dev-libs/mongo-c-driver/mongo-c-driver-1.24.4-r1.ebuild123
3 files changed, 132 insertions, 1 deletions
diff --git a/dev-libs/mongo-c-driver/Manifest b/dev-libs/mongo-c-driver/Manifest
index fe4e274cf8e5..aef4ea1d572f 100644
--- a/dev-libs/mongo-c-driver/Manifest
+++ b/dev-libs/mongo-c-driver/Manifest
@@ -1,3 +1,4 @@
DIST mongo-c-driver-1.24.4.tar.gz 7916661 BLAKE2B e361b52bf16eed7437428b0481d792ecf2f9cc283fdd6f23916d4a3ffb1b7d7c9ea7a7c4cf5f369e21fb6d4f564b91e07ac2ee44656855993218593dc4f1c166 SHA512 3563c061565d17a76581e188f6e184d7e41f2729812c8815afd34e03ebe6c1d25d7498a2cb1b599a09d24f6268c36473ef5113a14c7585a1532c9abf2e56e936
+EBUILD mongo-c-driver-1.24.4-r1.ebuild 3019 BLAKE2B 4c742361ffca33fa3fe77b64b060acaeaa157d837fb97a28cb57d5d5e6f6efa1a81295cd487282782c5d7a9cdd197943eb1a035e980182ff62805dcacc3413db SHA512 3db26a6f56c76750799b790b76e53bb4c816dcc355718dacef6bde1ea8b0adf93aa545a1fc35b9d80fd05256fa1663fcd341743bb8ba0038a21eae6188c47c9d
EBUILD mongo-c-driver-1.24.4.ebuild 2778 BLAKE2B a4018c0ddc04121d8684d1c21877009e6b33fdf35b20865ee2604accd47b28765b151e3e78a5a854ade9cc4c42f17d564335a41842710ad676d713c3d3a46bf6 SHA512 e3ff92096ca489c6acdd8d648a68744d7a76a9eeee07cc16c30f599456789b510779aaa3cebf8e00278b66f0848931d4738ee78fa3604e7780d248ec08c2b2a3
-MISC metadata.xml 335 BLAKE2B d7b8f44f6698d86dbad1ae9fc535f6c75acb827b07d32af1ba02c94da5196f00f1c3c2d2f519ca388d586867c6b033a3c53d3e3f5856ba32efed730c34316642 SHA512 7c0bf1f1f5065e82ebb03a00b68d41888fbdf4b92c67b116e46016490fbc74c5a44ca8f8245217a7926e85f5d53bc3bcab7499d5ceaf4d4593ab9953e36fc2a1
+MISC metadata.xml 528 BLAKE2B 761008bffc7d3453fc3deb649d5d8931eeb180a1514b764e8cf6be6b99264380ac1ea26912823b953d38c9f87ad0b1b9975077dc8344dbbcda4c2621ecead1e3 SHA512 2b10117ec3450ac31f473732c44ddfe05987a1d24fbdf2a30c1a7517269ef995ec6e6415cdb430deec4ab4357bcb1b31a72ea9b4b12f3d0f5bc3bdacb2427ad6
diff --git a/dev-libs/mongo-c-driver/metadata.xml b/dev-libs/mongo-c-driver/metadata.xml
index 6969885d798c..f874ffe22648 100644
--- a/dev-libs/mongo-c-driver/metadata.xml
+++ b/dev-libs/mongo-c-driver/metadata.xml
@@ -5,7 +5,14 @@
<email>ultrabug@gentoo.org</email>
<name>Alexys Jacob</name>
</maintainer>
+ <use>
+ <flag name="test-full">
+ Run test suite in full, including tests that run a local
+ database instance.
+ </flag>
+ </use>
<upstream>
+ <remote-id type="cpe">cpe:/a:mongodb:c_driver</remote-id>
<remote-id type="github">mongodb/mongo-c-driver</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4-r1.ebuild b/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4-r1.ebuild
new file mode 100644
index 000000000000..352fb267a4f3
--- /dev/null
+++ b/dev-libs/mongo-c-driver/mongo-c-driver-1.24.4-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} pypy3_11 )
+
+inherit cmake python-any-r1
+
+DESCRIPTION="Client library written in C for MongoDB"
+HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
+SRC_URI="https://github.com/mongodb/mongo-c-driver/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~riscv ~x86"
+IUSE="debug examples icu sasl ssl static-libs test +test-full"
+REQUIRED_USE="test? ( static-libs )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-arch/snappy:=
+ app-arch/zstd:=
+ ~dev-libs/libbson-${PV}[static-libs?]
+ dev-python/sphinx
+ sys-libs/zlib:=
+ icu? ( dev-libs/icu:= )
+ sasl? ( dev-libs/cyrus-sasl:= )
+ ssl? (
+ dev-libs/openssl:=
+ )"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-libs/libbson[static-libs]
+ test-full? (
+ dev-db/mongodb
+ )
+ )
+"
+BDEPEND="
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ')
+"
+
+python_check_deps() {
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # copy private headers for tests since we don't build libbson
+ if use test; then
+ mkdir -p src/libbson/tests/bson || die
+ cp src/libbson/src/bson/bson-*.h src/libbson/tests/bson/ || die
+ fi
+
+ # remove doc files
+ sed -i '/^\s*install\s*(FILES COPYING NEWS/,/^\s*)/{d}' CMakeLists.txt || die
+
+ # enable tests
+ sed -i '/message (STATUS "disabling test-libmongoc since using system libbson")/{d}' CMakeLists.txt || die
+ sed -i '/SET (ENABLE_TESTS OFF)/{d}' CMakeLists.txt || die
+ sed -i 's#<bson/bson-private.h>#"bson/bson-private.h"#' src/libbson/tests/test-bson.c || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
+ -DUSE_SYSTEM_LIBBSON=ON
+ -DENABLE_EXAMPLES=OFF
+ -DENABLE_ICU="$(usex icu ON OFF)"
+ -DENABLE_MAN_PAGES=ON
+ -DENABLE_MONGOC=ON
+ -DENABLE_SNAPPY=ON
+ -DENABLE_ZLIB=SYSTEM
+ -DENABLE_SASL="$(usex sasl CYRUS OFF)"
+ -DENABLE_SSL="$(usex ssl $(usex ssl OPENSSL) OFF)"
+ -DENABLE_STATIC="$(usex static-libs ON OFF)"
+ -DENABLE_TESTS="$(usex test ON OFF)"
+ -DENABLE_TRACING="$(usex debug ON OFF)"
+ -DENABLE_UNINSTALL=OFF
+ -DENABLE_ZSTD=ON
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ export MONGOC_TEST_OFFLINE=on
+ export MONGOC_TEST_SKIP_MOCK=on
+ echo "/Samples" >> "${T}/skip-tests.txt"
+ if ! use test-full; then
+ export MONGOC_TEST_SKIP_LIVE=on
+ else
+ local PORT=27099
+ export MONGOC_TEST_URI="mongodb://[127.0.0.1]:${PORT}"
+ export MONGOC_ENABLE_MAJORITY_READ_CONCERN=on
+ LC_ALL=C \
+ mongod --setParameter enableTestCommands=1 \
+ --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket \
+ --fork --dbpath="${T}"\
+ --logpath="${T}/mongod.log" || die
+ fi
+
+ ../mongo-c-driver-${PV}_build/src/libmongoc/test-libmongoc \
+ --skip-tests "${T}/skip-tests.txt" || die
+ if use test-full; then
+ kill $(<"${T}/mongod.lock")
+ fi
+
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc src/libmongoc/examples/*.c
+ fi
+
+ cmake_src_install
+}