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)