cmake.eclass: Add src_install() check for CMake-4-incompatible modules

See examples:
https://bugs.gentoo.org/953075
https://bugs.gentoo.org/957670
https://bugs.gentoo.org/957671
https://bugs.gentoo.org/957803

Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
Andreas Sturmlechner
2025-06-13 18:14:00 +02:00
parent 5c7a21e66f
commit 5389fe4759

View File

@@ -807,6 +807,25 @@ cmake_src_install() {
einstalldocs
popd > /dev/null || die
fi
local file files=()
while read -d '' -r file ; do
# Detect unsupported minimum CMake versions unless CMAKE_QA_COMPAT_SKIP is set
if ! [[ ${CMAKE_QA_COMPAT_SKIP} ]]; then
_cmake_minreqver-lt "3.5" "${file}" && files+=( "${file#"${D}"}" )
fi
done < <(find "${D}" -type f -iname "*.cmake" -print0 || die)
if [[ ${#files[*]} -gt 0 ]]; then
eqawarn "QA Notice: Package installs CMake module(s) incompatible with CMake 4,"
eqawarn "breaking any packages relying on it:"
eqawarn
for file in "${files[@]}"; do
eqawarn " ${file}"
done
eqawarn
eqawarn "See also tracker bug #951350; check existing bug or file a new one for"
eqawarn "this package, and take it upstream."
fi
}
fi