git: 9822791c5a46 - main - mail/mailagent: clean up fallout to fix build...
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 05 May 2023 22:06:07 UTC
The branch main has been updated by mandree: URL: https://cgit.FreeBSD.org/ports/commit/?id=9822791c5a46eb7efe828df88fe83b90f000cd16 commit 9822791c5a46eb7efe828df88fe83b90f000cd16 Author: Matthias Andree <mandree@FreeBSD.org> AuthorDate: 2023-05-05 22:01:41 +0000 Commit: Matthias Andree <mandree@FreeBSD.org> CommitDate: 2023-05-05 22:06:03 +0000 mail/mailagent: clean up fallout to fix build... patch parser.c's check_fatal to avoid the int-conversion errors, and quench some warnings. Untested on FreeBSD 14, but tested on 13.2 with clang15. https://pkg-status.freebsd.org/beefy18/data/main-amd64-default/p54373d87b552_s4194bbb34c/logs/mailagent-3.1.106.log Note the code uses K&R style function declarations, not proper prototypes, which upset newer versions of the clang compiler. So pretend this were C99 code, too. While here, propagate CC to the build. --- mail/mailagent/Makefile | 5 +++- mail/mailagent/files/patch-agent-filter-io.c | 16 ++++++++--- mail/mailagent/files/patch-agent-pl-termios_ph.c | 36 ++++++++++++++++++++++++ mail/mailagent/files/patch-agent_filter_parser.c | 27 ++++++++++++++++++ 4 files changed, 79 insertions(+), 5 deletions(-) diff --git a/mail/mailagent/Makefile b/mail/mailagent/Makefile index efa14ec3dc13..36346dc20b8d 100644 --- a/mail/mailagent/Makefile +++ b/mail/mailagent/Makefile @@ -1,5 +1,6 @@ PORTNAME= mailagent PORTVERSION= 3.1.106 +PORTREVISION= 1 CATEGORIES= mail MAINTAINER= ports@FreeBSD.org @@ -10,6 +11,7 @@ LICENSE= ART10 LICENSE_FILE= ${WRKSRC}/Artistic USES= perl5 tar:bzip2 +USE_CSTD= c99 USE_GITHUB= yes GH_ACCOUNT= rmanfredi GH_TAGNAME= 9a14a15 @@ -20,7 +22,8 @@ HAS_CONFIGURE= yes CONFIGURE_SCRIPT= Configure CONFIGURE_ARGS= -dres \ -Dperlpath='${PERL}' \ - -Dccflags='${CFLAGS}' \ + -Dcc='${CC}' \ + -Dccflags='${CFLAGS} -Wno-unknown-warning-option -Wno-unknown-warning -Wno-format-nonliteral -Wno-deprecated-non-prototype' \ -Dd_flockonly='define' \ -Dutmp='/var/run/utmp' \ -Dorgname='${ORGFILE}' \ diff --git a/mail/mailagent/files/patch-agent-filter-io.c b/mail/mailagent/files/patch-agent-filter-io.c index 77f213059c94..eec11ff579fa 100644 --- a/mail/mailagent/files/patch-agent-filter-io.c +++ b/mail/mailagent/files/patch-agent-filter-io.c @@ -1,6 +1,14 @@ ---- ./agent/filter/io.c.orig 2008-08-19 17:44:07.000000000 +0900 -+++ ./agent/filter/io.c 2014-08-14 01:59:33.537704696 +0900 -@@ -141,6 +141,9 @@ +--- agent/filter/io.c.orig 2020-04-09 14:16:46 UTC ++++ agent/filter/io.c +@@ -100,6 +100,7 @@ + #include <stdio.h> + #include <errno.h> + #include <sys/stat.h> ++#include <signal.h> + + #ifdef I_UNISTD + #include <unistd.h> /* R_OK and friends */ +@@ -141,6 +142,9 @@ extern char *malloc(); /* Memory allocation */ #ifdef I_SYS_IOCTL #include <sys/ioctl.h> #endif @@ -10,7 +18,7 @@ /* * The following should be defined in <sys/stat.h>. -@@ -739,7 +742,7 @@ +@@ -739,7 +743,7 @@ char *location; */ char **envp; /* Environment pointer */ diff --git a/mail/mailagent/files/patch-agent-pl-termios_ph.c b/mail/mailagent/files/patch-agent-pl-termios_ph.c new file mode 100644 index 000000000000..8c53b57e1999 --- /dev/null +++ b/mail/mailagent/files/patch-agent-pl-termios_ph.c @@ -0,0 +1,36 @@ +--- agent/pl/termios/termios_ph.c.orig 2020-04-09 16:16:46.000000000 +0200 ++++ agent/pl/termios/termios_ph.c 2023-05-05 23:42:03.979804000 +0200 +@@ -33,7 +33,7 @@ + #define PADSTR "..pad.. " /* Pad string, for comment */ + + #include "config.h" +- ++#include <stddef.h> + #include <stdio.h> + + #ifdef I_STRING +@@ -85,8 +85,8 @@ + char pack[MAX_LEN]; + char fields[MAX_LEN]; + char buf[MAX_LEN]; +- int row_off = (int) &win->ws_row; /* Offset of ws_row */ +- int col_off = (int) &win->ws_col; /* Offset of ws_col */ ++ int row_off = offsetof(struct winsize, ws_row); ++ int col_off = offsetof(struct winsize, ws_col); + int row_len = sizeof(win->ws_row); /* Size of ws_row */ + int col_len = sizeof(win->ws_col); /* Size of ws_col */ + int last_off = 0; /* Last offset in pack format */ +@@ -142,10 +142,10 @@ + /* + * Spit out perl definitions. + */ +- printf("$TIOCGWINSZ = 0x%x;\t# The TIOCGWINSZ ioctl()\n", TIOCGWINSZ); ++ printf("$TIOCGWINSZ = 0x%lx;\t# The TIOCGWINSZ ioctl()\n", (long)TIOCGWINSZ); + printf("$packfmt = '%s';\t\t# %s\n", pack, comment); +- printf("$length = %d;\t\t\t# sizeof(struct winsize)\n", +- sizeof(struct winsize)); ++ printf("$length = %lu;\t\t\t# sizeof(struct winsize)\n", ++ (unsigned long)sizeof(struct winsize)); + printf("@fields = %s;\n", fields); + #else + printf("$TIOCGWINSZ = undef;\t# No termios\n"); diff --git a/mail/mailagent/files/patch-agent_filter_parser.c b/mail/mailagent/files/patch-agent_filter_parser.c new file mode 100644 index 000000000000..01a8b7bc076b --- /dev/null +++ b/mail/mailagent/files/patch-agent_filter_parser.c @@ -0,0 +1,27 @@ +--- agent/filter/parser.c.orig 2020-04-09 14:16:46 UTC ++++ agent/filter/parser.c +@@ -327,10 +327,7 @@ char *file; + } + + /* VARARGS3 */ +-private void check_fatal(flags, reason, arg1, arg2, arg3, arg4, arg5) +-int flags; +-char *reason; +-long arg1, arg2, arg3, arg4, arg5; ++private void check_fatal(int flags, char *reason, char *arg1) + { + /* Die with a fatal error if MAY_PANIC is specified in flags, otherwise + * simply log the error. +@@ -339,10 +336,10 @@ long arg1, arg2, arg3, arg4, arg5; + char buffer[MAX_STRING]; + + if (flags & MAY_PANIC) +- fatal(reason, arg1, arg2, arg3, arg4, arg5); ++ fatal(reason, arg1); + + sprintf(buffer, "ERROR %s", reason); +- add_log(1, buffer, arg1, arg2, arg3, arg4, arg5); ++ add_log(1, buffer, arg1); + } + + private int check_perm(file, flags)