package/ncftp: fix GCC 14.x related build errors

Patches were taken from Gentoo:

https://bugs.gentoo.org/921487
https://gitweb.gentoo.org/repo/gentoo.git/tree/net-ftp/ncftp/files/ncftp-3.2.7-fix-clang.patch

Fixes:
http://autobuild.buildroot.net/results/058578eae885ce6e206c25b5a24aa11b625adf88/

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b2aa09a492)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Yegor Yefremov
2024-06-17 11:36:26 +02:00
committed by Peter Korsgaard
parent 4aed830703
commit a02c8e337e
2 changed files with 91 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
fix select arg detection
Reference:
https://bugs.gentoo.org/921487
Upstream: N/A, unresponsive contact email address.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
--- a/autoconf_local/aclocal.m4
+++ b/autoconf_local/aclocal.m4
@@ -4196,7 +4196,7 @@
#include <sys/select.h>
#endif
#include <sys/socket.h> /* MG: always incl */
-extern select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
+extern int select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
[ac_not_found=no ; break 3],ac_not_found=yes)
done
done

View File

@@ -0,0 +1,72 @@
Fix compilation with clang-16
aclocal.m4 contains code that no longer compiles: missing headers and missing
return types.
Reference:
https://gitweb.gentoo.org/repo/gentoo.git/tree/net-ftp/ncftp/files/ncftp-3.2.7-fix-clang.patch
Upstream: N/A, unresponsive contact email address.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
--- a/autoconf_local/aclocal.m4
+++ b/autoconf_local/aclocal.m4
@@ -3057,6 +3057,7 @@
#include <sys/uio.h>
#include <sys/socket.h>
#include <sys/un.h>
+#include <string.h>
],[
struct sockaddr_un uaddr;
@@ -3285,6 +3286,7 @@
#ifdef HAVE_RESOLV_H
# include <resolv.h>
#endif
+#include <string.h>
],[
/* function-body */
int len;
@@ -3363,6 +3365,7 @@
#include <stdio.h>
#include <stdlib.h>
+ int
main(int argc, char **argv)
{
/* Note: don't actually call readline,
@@ -5145,6 +5148,7 @@
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#endif
+#include <string.h>
#ifdef HAVE_NCURSES_H
# define NCURSES_OPAQUE 0
@@ -5176,6 +5180,7 @@
#endif
+int
main(int argc, char **argv)
{
/* Note: don't actually call curses, since it may block;
@@ -6510,7 +6515,6 @@
#endif
#endif /* MG */
-int
int main(void)
{
char *data, *data2, *data3;
@@ -6607,8 +6611,9 @@
AC_CACHE_CHECK(whether setvbuf arguments are reversed,
ac_cv_func_setvbuf_reversed,
[AC_TRY_RUN([#include <stdio.h>
+ $include <stdlib.h>
/* If setvbuf has the reversed format, exit 0. */
- main () {
+ int main (void) {
/* This call has the arguments reversed.
A reversed system may check and see that the address of main
is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */