dev-libs/kuserfeedback: x86 stable wrt bug #721452
[gentoo.git] / dev-libs / mongo-c-driver / mongo-c-driver-1.13.0-r1.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 inherit cmake-utils
7
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"
11
12 LICENSE="Apache-2.0"
13 SLOT="0"
14 KEYWORDS="amd64 ~hppa ~s390 x86"
15 IUSE="debug examples icu libressl sasl ssl static-libs test"
16 REQUIRED_USE="test? ( static-libs )"
17
18 RDEPEND="app-arch/snappy:=
19         >=dev-libs/libbson-${PV}
20         dev-python/sphinx
21         sys-libs/zlib:=
22         icu? ( dev-libs/icu:= )
23         sasl? ( dev-libs/cyrus-sasl:= )
24         ssl? (
25                 !libressl? ( dev-libs/openssl:0= )
26                 libressl? ( dev-libs/libressl:0= )
27         )"
28 DEPEND="${RDEPEND}
29         test? (
30                 dev-db/mongodb
31                 dev-libs/libbson[static-libs]
32         )"
33
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 )"
37
38 PATCHES=(
39         "${FILESDIR}/${P}-no-uninstall.patch"
40         "${FILESDIR}/${P}-enable-tests.patch" # enable tests with system libbson
41 )
42
43 src_prepare() {
44         cmake-utils_src_prepare
45
46         # copy private headers for tests since we don't build libbson
47         if use test; then
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
51                 done
52         fi
53 }
54
55 src_configure() {
56         local mycmakeargs=(
57                 -DCMAKE_SKIP_RPATH=ON # mongoc-stat insecure runpath
58                 -DENABLE_BSON=SYSTEM
59                 -DENABLE_EXAMPLES=OFF
60                 -DENABLE_ICU="$(usex icu ON OFF)"
61                 -DENABLE_MAN_PAGES=ON
62                 -DENABLE_MONGOC=ON
63                 -DENABLE_SNAPPY=SYSTEM
64                 -DENABLE_ZLIB=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)"
70         )
71
72         cmake-utils_src_configure
73 }
74
75 # FEATURES="test" USE="static-libs" emerge dev-libs/mongo-c-driver
76 src_test() {
77         local PORT=27099
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")
82 }
83
84 src_install() {
85         if use examples; then
86                 docinto examples
87                 dodoc src/libmongoc/examples/*.c
88         fi
89
90         cmake-utils_src_install
91 }