1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

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.
This commit is contained in:
Matthias Andree 2023-05-06 00:01:41 +02:00
parent 5ea94b852f
commit 9822791c5a
4 changed files with 79 additions and 5 deletions

View File

@ -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}' \

View File

@ -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 */

View File

@ -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");

View File

@ -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)