sys-apps/portage: backport tweak to implicit func. decl QA check

We're going to try kw GCC 14 soon so we want to reduce FPs to see what
remains to be done.

Bug: https://bugs.gentoo.org/906027
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2024-05-17 14:03:41 +01:00
parent 13a2109940
commit 2cdb1b2ae4
3 changed files with 47 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
From 8256473c6a9fa93e7cf81c46fa920cd522507c21 Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz93@gmail.com>
Date: Fri, 17 May 2024 01:52:53 -0400
Subject: [PATCH] install-qa-checks.d: suppress some gnulib implicit configure
declarations
These happen in tons of GNU packages because of using gnulib, which
pulls in macros that check for some functionality and spit out an
implicit function declaration error if they aren't supported, which is
*expected*.
Bug: https://bugs.gentoo.org/906027
Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Closes: https://github.com/gentoo/portage/pull/1323
Signed-off-by: Sam James <sam@gentoo.org>
---
bin/install-qa-check.d/90config-impl-decl | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/bin/install-qa-check.d/90config-impl-decl b/bin/install-qa-check.d/90config-impl-decl
index 7969dff17..adea7d405 100644
--- a/bin/install-qa-check.d/90config-impl-decl
+++ b/bin/install-qa-check.d/90config-impl-decl
@@ -49,6 +49,15 @@ add_default_skips() {
res_ndestroy
statacl
)
+
+ QA_CONFIG_IMPL_DECL_SKIP+=(
+ # Available in c23, these gnulib checks are expected to fail
+ alignof
+ static_assert
+ unreachable
+ # also gnulib, but checks both linux/non-linux headers
+ MIN
+ )
}
find_log_targets() {
--
2.45.1

View File

@@ -108,6 +108,10 @@ PDEPEND="
)
"
PATCHES=(
"${FILESDIR}"/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch
)
pkg_pretend() {
local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"

View File

@@ -106,6 +106,7 @@ PDEPEND="
PATCHES=(
"${FILESDIR}"/${P}-clang-splitdebug.patch
"${FILESDIR}"/0001-install-qa-checks.d-suppress-some-gnulib-implicit-co.patch
)
pkg_pretend() {