From 2e301e46e78fd6e051b02aae7ea45459eabee5a0 Mon Sep 17 00:00:00 2001 From: Michael Palimaka Date: Thu, 1 Dec 2016 06:33:34 +1100 Subject: qt5-build.eclass: introduce qt_use_disable_config Similar to qt_use_disable_mod, this function helps avoid automagic dependencies. --- eclass/qt5-build.eclass | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'eclass/qt5-build.eclass') 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: -- cgit v1.2.3-65-gdbad