# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

COMPOSER_INSTALL_PATH="Doctrine/ORM"
PHP_REQ_USE="ctype,mysql?,mssql?,postgres?,sqlite?"

inherit composer edo git-r3 optfeature

DESCRIPTION="Doctrine Object Relational Mapper"
HOMEPAGE="https://github.com/doctrine/orm"
EGIT_REPO_URI="https://github.com/doctrine/orm.git"

LICENSE="MIT"
SLOT="0"
IUSE="mysql mssql postgres sqlite"
REQUIRED_USE="test? ( mysql mssql postgres sqlite )"

RDEPEND="dev-php/composer
	dev-php/doctrine-collections
	dev-php/doctrine-dbal
	dev-php/doctrine-deprecations
	dev-php/doctrine-event-manager
	dev-php/doctrine-inflector
	>=dev-php/doctrine-instantiator-2
	dev-php/doctrine-lexer
	dev-php/doctrine-persistence
	dev-php/psr-cache
	dev-php/symfony-console
	dev-php/symfony-var-exporter"
BDEPEND="test? ( dev-db/redis
		dev-php/symfony-cache )"

PATCHES=( "${FILESDIR}/${PN}"-3.6.7-tests-SingleScalarHydratorTest.patch )

composer_enable_tests phpunit

src_test() {
	edo "${EPREFIX}"/usr/sbin/redis-server - <<- EOF
		daemonize yes
		pidfile "${T}/redis.pid"
		port 6379
		bind 127.0.0.1
	EOF
	REDIS_HOST=127.0.0.1 ephpunit
	edo kill "$(<"${T}/redis.pid")"
}

src_install() {
	composer_src_install

	insinto /usr/share/php/Doctrine
	doins doctrine-mapping.xsd
}

pkg_postinst() {
	optfeature "Cache support for Setup Tool" dev-php/symfony-cache
}