1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
8 DESCRIPTION="Client library written in C for MongoDB"
9 HOMEPAGE="https://github.com/mongodb/mongo-c-driver"
10 SRC_URI="https://github.com/mongodb/mongo-c-driver/archive/${PV}.tar.gz -> ${P}.tar.gz"
14 KEYWORDS="amd64 ~hppa ~s390 x86"
15 IUSE="debug examples icu libressl sasl ssl static-libs test"
16 REQUIRED_USE="test? ( static-libs )"
18 RDEPEND="app-arch/snappy:=
19 >=dev-libs/libbson-${PV}
22 icu? ( dev-libs/icu:= )
23 sasl? ( dev-libs/cyrus-sasl:= )
25 !libressl? ( dev-libs/openssl:0= )
26 libressl? ( dev-libs/libressl:0= )
31 dev-libs/libbson[static-libs]
34 # No tests on x86 because tests require dev-db/mongodb which don't support
35 # x86 anymore (bug #645994)
36 RESTRICT="!test? ( test ) x86? ( test )"
39 "${FILESDIR}/${P}-no-uninstall.patch"
40 "${FILESDIR}/${P}-enable-tests.patch" # enable tests with system libbson
44 cmake-utils_src_prepare
46 # copy private headers for tests since we don't build libbson
48 mkdir -p src/libbson/tests/bson || die
49 for f in bson-fnv-private.h bson-iso8601-private.h bson-private.h bson-thread-private.h; do
50 cp -v src/libbson/src/bson/${f} src/libbson/tests/bson/ || die
57 -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
60 -DENABLE_ICU="$(usex icu ON OFF)"
63 -DENABLE_SNAPPY=SYSTEM
65 -DENABLE_SASL="$(usex sasl CYRUS OFF)"
66 -DENABLE_SSL="$(usex ssl $(usex libressl LIBRESSL OPENSSL) OFF)"
67 -DENABLE_STATIC="$(usex static-libs ON OFF)"
68 -DENABLE_TESTS="$(usex test ON OFF)"
69 -DENABLE_TRACING="$(usex debug ON OFF)"
72 cmake-utils_src_configure
75 # FEATURES="test" USE="static-libs" emerge dev-libs/mongo-c-driver
78 mongod --port ${PORT} --bind_ip 127.0.0.1 --nounixsocket --fork \
79 --dbpath="${T}" --logpath="${T}/mongod.log" || die
80 MONGOC_TEST_URI="mongodb://[127.0.0.1]:${PORT}" ../mongo-c-driver-${PV}_build/src/libmongoc/test-libmongoc || die
81 kill $(<"${T}/mongod.lock")
87 dodoc src/libmongoc/examples/*.c
90 cmake-utils_src_install