commit: 24e8fadab71d00fffab4206a6aa08c663d919e2b Author: Brian Evans <grknight <AT> gentoo <DOT> org> AuthorDate: Fri Jan 26 15:29:06 2018 +0000 Commit: Brian Evans <grknight <AT> gentoo <DOT> org> CommitDate: Mon Jan 29 13:47:45 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24e8fada
php-ext-source-r3.eclass: Introduce PHP_EXT_NEEDED_USE This simplifies the dependencies in an ebuild @DESCRIPTION: A list of USE flags to append to each PHP target selected as a valid USE-dependency string. The value should be valid for all targets so USE defaults may be necessary. Example: PHP_EXT_NEEDED_USE="mysql?,pdo,pcre(+)" The PHP dependencies will result in: php_targets_php7-0? ( dev-lang/php:7.0[mysql?,pdo,pcre(+)] ) Bug: https://bugs.gentoo.org/586446 eclass/php-ext-source-r3.eclass | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/eclass/php-ext-source-r3.eclass b/eclass/php-ext-source-r3.eclass index 315ce32887f..96d55f97a55 100644 --- a/eclass/php-ext-source-r3.eclass +++ b/eclass/php-ext-source-r3.eclass @@ -84,6 +84,22 @@ esac # @CODE@ : ${PHP_INI_NAME:=${PHP_EXT_NAME}} +# @ECLASS-VARIABLE: PHP_EXT_NEEDED_USE +# @DEFAULT_UNSET +# @DESCRIPTION: +# A list of USE flags to append to each PHP target selected +# as a valid USE-dependency string. The value should be valid +# for all targets so USE defaults may be necessary. +# Example: +# @CODE +# PHP_EXT_NEEDED_USE="mysql?,pdo,pcre(+)" +# @CODE +# +# The PHP dependencies will result in: +# @CODE +# php_targets_php7-0? ( dev-lang/php:7.0[mysql?,pdo,pcre(+)] ) +# @CODE + # Make sure at least one target is installed. First, start a USE # conditional like "php?", but only when PHP_EXT_OPTIONAL_USE is @@ -96,6 +112,9 @@ for _php_target in ${USE_PHP}; do REQUIRED_USE+="php_targets_${_php_target} " _php_slot=${_php_target/php} _php_slot=${_php_slot/-/.} + if [[ ${PHP_EXT_NEEDED_USE} ]] ; then + _php_slot+=[${PHP_EXT_NEEDED_USE}] + fi PHPDEPEND+=" php_targets_${_php_target}? ( dev-lang/php:${_php_slot} )" done