commit:     32fd2d327a841841a0aa1440994fd072eb7973b1
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 27 21:09:17 2022 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Wed Apr 27 21:09:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32fd2d32

sys-devel/bmake: Fix compilation warnings

Closes: https://bugs.gentoo.org/841362
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 sys-devel/bmake/bmake-20220418.ebuild              |  5 ++-
 .../bmake/files/bmake-20220418-warnings.patch      | 38 ++++++++++++++++++++++
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/sys-devel/bmake/bmake-20220418.ebuild 
b/sys-devel/bmake/bmake-20220418.ebuild
index 7b11aa7cebf4..5505e007c65a 100644
--- a/sys-devel/bmake/bmake-20220418.ebuild
+++ b/sys-devel/bmake/bmake-20220418.ebuild
@@ -17,7 +17,10 @@ SLOT="0"
 KEYWORDS="~amd64 ~ppc ~x86"
 
 # Skip failing test (sandbox and csh)
-PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch )
+PATCHES=(
+       "${FILESDIR}"/${PN}-20210206-tests.patch
+       "${FILESDIR}"/${PN}-20220418-warnings.patch
+)
 
 src_prepare() {
        default

diff --git a/sys-devel/bmake/files/bmake-20220418-warnings.patch 
b/sys-devel/bmake/files/bmake-20220418-warnings.patch
new file mode 100644
index 000000000000..1fccb91e95a3
--- /dev/null
+++ b/sys-devel/bmake/files/bmake-20220418-warnings.patch
@@ -0,0 +1,38 @@
+# https://bugs.gentoo.org/841362
+#
+# Fix -Wimplicit-function-declaration and -Wunused-result warnings
+#
+# meta.c: In function ‘meta_name’:
+# meta.c:262:21: warning: implicit declaration of function ‘strlcpy’; did you 
mean ‘strncpy’? [-Wimplicit-function-declaration]
+#   262 |                     strlcpy(rp, tname_base, sizeof buf - (size_t)(rp 
- buf));
+#       |                     ^~~~~~~
+#       |                     strncpy
+#
+# meta.c: In function ‘meta_job_error’:
+# meta.c:774:5: warning: ignoring return value of ‘getcwd’ declared with 
attribute ‘warn_unused_result’ [-Wunused-result]
+#   774 |     getcwd(cwd, sizeof cwd);
+#       |     ^~~~~~~~~~~~~~~~~~~~~~~
+
+--- a/meta.c
++++ b/meta.c
+@@ -106,6 +106,10 @@
+ char * stresep(char **, const char *, int);
+ #endif
+ 
++#if !defined(HAVE_STRLCPY)
++size_t strlcpy(char *, const char *, size_t);
++#endif
++
+ /*
+  * Filemon is a kernel module which snoops certain syscalls.
+  *
+@@ -769,7 +773,8 @@
+     }
+     if (gn != NULL)
+       Global_Set(".ERROR_TARGET", GNode_Path(gn));
+-    getcwd(cwd, sizeof cwd);
++    if (getcwd(cwd, sizeof cwd) == NULL)
++      err(1, "Could not get current working directory");
+     Global_Set(".ERROR_CWD", cwd);
+     if (pbm->meta_fname[0] != '\0') {
+       Global_Set(".ERROR_META_FILE", pbm->meta_fname);

Reply via email to