commit: b98ae0d93872422dab1db8d33f7a1fc06806c83a Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> AuthorDate: Thu Jan 18 21:40:08 2018 +0000 Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> CommitDate: Thu Jan 18 21:42:01 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b98ae0d9
eclass/linux-mod.eclass: implement MODULES_OPTIONAL_USE_IUSE_DEFAULT. Add IUSE default support for $MODULES_OPTIONAL_USE use flag variable. Defaults to disabled, and individual packages will have it enabled rather than tree-wide. Bug: https://bugs.gentoo.org/635720 Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org> eclass/linux-mod.eclass | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/eclass/linux-mod.eclass b/eclass/linux-mod.eclass index b3ea3e40f30..e310835bf77 100644 --- a/eclass/linux-mod.eclass +++ b/eclass/linux-mod.eclass @@ -22,6 +22,12 @@ # A string containing the USE flag to use for making this eclass optional # The recommended non-empty value is 'modules' +# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE_IUSE_DEFAULT +# @DESCRIPTION: +# A boolean to control the IUSE default state for the MODULES_OPTIONAL_USE USE +# flag. Default value is unset (false). True represented by 1 or 'on', other +# values including unset treated as false. + # @ECLASS-VARIABLE: KERNEL_DIR # @DESCRIPTION: # A string containing the directory of the target kernel sources. The default value is @@ -129,7 +135,16 @@ inherit eutils linux-info multilib EXPORT_FUNCTIONS pkg_setup pkg_preinst pkg_postinst src_install src_compile pkg_postrm -IUSE="kernel_linux ${MODULES_OPTIONAL_USE}" +case ${EAPI:-0} in + 0) die "EAPI=${EAPI} is not supported due to lack of IUSE defaults" ;; +esac + +case ${MODULES_OPTIONAL_USE_IUSE_DEFAULT:-n} in + [nNfF]*|[oO][fF]*|0|-) _modules_optional_use_iuse_default='' ;; + *) _modules_optional_use_iuse_default='+' ;; +esac + +IUSE="kernel_linux ${MODULES_OPTIONAL_USE:+${_modules_optional_use_iuse_default}}${MODULES_OPTIONAL_USE}" SLOT="0" RDEPEND="${MODULES_OPTIONAL_USE}${MODULES_OPTIONAL_USE:+? (} kernel_linux? ( virtual/modutils ) ${MODULES_OPTIONAL_USE:+)}" DEPEND="${RDEPEND}
