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}

Reply via email to