# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PHP_EXT_NAME="mongodb" USE_PHP="php8-2 php8-3 php8-4 php8-5" inherit edo php-ext-pecl-r3 DESCRIPTION="MongoDB database driver for PHP" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="crypt debug sasl test" REQUIRED_USE="test? ( debug )" RESTRICT="x86? ( test ) !test? ( test )" RDEPEND="dev-lang/php:*[ssl,zlib] >=dev-libs/libbson-2 >=dev-libs/mongo-c-driver-${PV}[debug?,sasl?,ssl] dev-libs/openssl:= crypt? ( dev-libs/libmongocrypt ) sasl? ( dev-libs/cyrus-sasl:2 )" BDEPEND="virtual/pkgconfig test? ( dev-db/mongodb )" # fix const-correctness with GCC 15 and -Werror=discarded-qualifiers. PATCHES=( "${FILESDIR}/${PN}"-2.4.0-fix-const-qualifier.patch ) src_configure() { local PHP_EXT_ECONF_ARGS=( --enable-mongodb --enable-mongodb-developer-flags="$(usex debug)" --with-mongodb-client-side-encryption="$(usex crypt)" --with-mongodb-system-libs=yes --with-mongodb-sasl="$(usex sasl)" ) php-ext-source-r3_src_configure } src_test() { edo mongod --port 27017 --bind_ip 127.0.0.1 --nounixsocket --fork \ --dbpath="${T}" --logpath="${T}/mongod.log" php-ext-pecl-r3_src_test edo kill "$(<"${T}/mongod.lock")" }