From f019a919bf109460ee009a5f9210b99d0467db97 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 23 Aug 2022 02:44:06 +0100 Subject: gentoo auto-resync : 23:08:2022 - 02:44:06 --- eclass/Manifest.gz | Bin 36984 -> 36991 bytes eclass/ecm.eclass | 25 +++++++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) (limited to 'eclass') diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz index e55baaf1b387..f0b26900f25e 100644 Binary files a/eclass/Manifest.gz and b/eclass/Manifest.gz differ diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass index 3cc586b82d82..8febb9d22850 100644 --- a/eclass/ecm.eclass +++ b/eclass/ecm.eclass @@ -362,19 +362,32 @@ ecm_punt_qt_module() { } # @FUNCTION: ecm_punt_bogus_dep -# @USAGE: +# @USAGE: or # @DESCRIPTION: -# Removes a specified dependency from a find_package call with multiple -# components. +# Removes a specified dependency from a find_package call, optionally +# supports prefix for find_package with multiple components. ecm_punt_bogus_dep() { - local prefix=${1} - local dep=${2} + + if [[ "$#" == 2 ]] ; then + local prefix=${1} + local dep=${2} + elif [[ "$#" == 1 ]] ; then + local dep=${1} + else + die "${FUNCNAME[0]} must be passed either one or two arguments" + fi if [[ ! -e "CMakeLists.txt" ]]; then return fi - pcregrep -Mni "(?s)find_package\s*\(\s*${prefix}[^)]*?${dep}.*?\)" CMakeLists.txt > "${T}/bogus${dep}" + if [[ -z ${prefix} ]]; then + sed -e "/find_package\s*(\s*${dep}\(\s\+\(REQUIRED\|CONFIG\|COMPONENTS\|\${[A-Z0-9_]*}\)\)\+\s*)/Is/^/# removed by ecm.eclass - /" \ + -i CMakeLists.txt || die + return + else + pcregrep -Mni "(?s)find_package\s*\(\s*${prefix}[^)]*?${dep}.*?\)" CMakeLists.txt > "${T}/bogus${dep}" + fi # pcregrep returns non-zero on no matches/error if [[ $? -ne 0 ]] ; then -- cgit v1.2.3