git: 9822791c5a46 - main - mail/mailagent: clean up fallout to fix build...

From: Matthias Andree <mandree_at_FreeBSD.org>
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)