From: Michael Palimaka Date: Wed, 30 Nov 2016 19:33:34 +0000 (+1100) Subject: qt5-build.eclass: introduce qt_use_disable_config X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=2e301e46e78fd6e051b02aae7ea45459eabee5a0;p=gentoo.git qt5-build.eclass: introduce qt_use_disable_config Similar to qt_use_disable_mod, this function helps avoid automagic dependencies. --- diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass index fee5775d9084..a627ce882a49 100644 --- a/eclass/qt5-build.eclass +++ b/eclass/qt5-build.eclass @@ -370,6 +370,29 @@ qt_use_compile_test() { fi } +# @FUNCTION: qt_use_disable_config +# @USAGE: +# @DESCRIPTION: +# is the name of a flag in IUSE. +# is the (lowercase) name of a Qt5 config entry. +# is a list of one or more qmake project files. +# +# This function patches to treat as disabled +# when is disabled, otherwise it does nothing. +# This can be useful to avoid an automagic dependency when the config entry +# is enabled on the system but the corresponding USE flag is disabled. +qt_use_disable_config() { + [[ $# -ge 3 ]] || die "${FUNCNAME}() requires at least three arguments" + + local flag=$1 + local config=$2 + shift 2 + + if ! use "${flag}"; then + echo "$@" | xargs sed -i -e "s/qtConfig(${config})/false/g" || die + fi +} + # @FUNCTION: qt_use_disable_mod # @USAGE: # @DESCRIPTION: