On 2018/04/23 19:36, Steffen Nurpmeso wrote:
> Oh, hello again Stuart.
> 
> Stuart Henderson <[email protected]> wrote:
>  |On 2018/04/23 18:09, Steffen Nurpmeso wrote:
>  |> i wrote:
>  |>|i wrote:
>  |>||Stuart Henderson <[email protected]> wrote:
>  |>|||On 2018/03/09 18:39, Steffen Nurpmeso wrote:
>  |>|||> Stuart Henderson <[email protected]> wrote:
>  |>|||>|On 2018/03/08 17:35, Steffen Nurpmeso wrote:
>  |>|||>|> This brings in two and a half years of development and bug fixes.
>  |>|||>|> It has really improved, though a long road is ahead still.
>  |>|||>|> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
>  |>| ...
>  |>|
>  |>|I have released v14.9.10, the 40th BSD Mail anniversary version.
>  |>|Find below the updated recipe.
>  |> 
>  |> four weeks have passed -- is anyone from ports interested in this
>  ...
>  |Just given this a try (4 weeks ago we were tying up release IIRC,
>  |never a good time to send updates if you want them picked up ;)
> 
> Yes, i have seen that, then.  Of course, sure.  Thank you.
> 
>  |I see it is ignoring CFLAGS and setting its own optimizer levels,
>  |this should be under control of ports.
> 
> Well, but many autotools based things do so, as well as others.

Yes, and we usually patch them out where we notice them.

> And it is setting all security related compiler flags it finds
> that i know of, except for meltdown/spectre (the latter of) which
> does not matter for us as far as i can tell.

The ones that are generally reliable on an arch are already enabled
by default in the compiler, some arches have problems with certain
of these features and in those cases the default is not to use them.

> But, ok, if the OpenBSD port wants to replace that with a custom
> set, all that is needed is to reinclude OPT_AUTOCC=no.  I have
> edited this directly into the latter patch.  You know, this box is
> so restricted, doing the complete cycle takes hours, i hope it
> flies like that.

Here's an updated version that puts back most of the unnecessary
changes to Makefile (ordering, whitespace etc).

Dmitrij, are you around? Want to test or shall I just go ahead?


Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/s-nail/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile    8 Dec 2017 01:04:14 -0000       1.19
+++ Makefile    23 Apr 2018 20:31:09 -0000
@@ -1,45 +1,54 @@
 # $OpenBSD: Makefile,v 1.19 2017/12/08 01:04:14 espie Exp $
 
-COMMENT=               enhanced, MIME capable Berkeley Mail
+COMMENT=               SysV mail/BSD Mail/POSIX mailx: send and receive mail
 
-DISTNAME=              s-nail-14.8.16
+DISTNAME=              s-nail-14.9.10
 CATEGORIES=            mail
 HOMEPAGE=              https://www.sdaoden.eu/code.html\#s-mailx
-FIX_EXTRACT_PERMISSIONS=Yes
 
 # BSD
 PERMIT_PACKAGE_CDROM=  Yes
 
-WANTLIB += c crypto iconv idn ssl
+WANTLIB += c crypto curses iconv ssl
 
-MASTER_SITES=          https://www.sdaoden.eu/downloads/
+MASTER_SITES=          https://ftp.sdaoden.eu/
 MAINTAINER=            Dmitrij D. Czarkoff <[email protected]>
 
+FLAVORS=               idna
+FLAVOR?=
+
+PORTHOME=              ${WRKDIR}
 MAKE_FILE=             makefile
 MAKE_FLAGS=            CC="${CC}" \
-                       CFLAGS="${CFLAGS}" \
                        C_INCLUDE_PATH="${LOCALBASE}/include" \
-                       LDFLAGS="${LDFLAGS}" \
                        LD_LIBRARY_PATH="${LOCALBASE}/lib" \
-                       MANDIR="${PREFIX}/man" \
-                       SYSCONFDIR="${SYSCONFDIR}" \
-                       WANT_AUTOCC=0 \
-                       WANT_EDITLINE=0 \
-                       WANT_NCL=1 \
-                       WANT_DOTLOCK=0 \
-                       SID=
+                       VAL_MANDIR="${PREFIX}/man" \
+                       VAL_SYSCONFDIR="${SYSCONFDIR}" \
+                       VAL_SID= \
+                       OPT_ALWAYS_UNICODE_LOCALE=yes \
+                       OPT_AGENT=no \
+                       OPT_AUTOCC=no \
+                       OPT_DOTLOCK=no \
+                       OPT_GSSAPI=no \
+                       VAL_RANDOM=arc4
+
+.if ${FLAVOR:Midna}
+WANTLIB+=              idn2
+LIB_DEPENDS+=          devel/libidn2
+MAKE_FLAGS+=           OPT_IDNA=yes \
+                       VAL_IDNA=idn2
+.else
+MAKE_FLAGS+=           OPT_IDNA=no
+.endif
 
 .if !empty(DEBUG)
-MAKE_FLAGS+=           WANT_DEBUG=1
-FAKE_FLAGS+=           WANT_DEBUG=1
+MAKE_FLAGS+=           OPT_DEBUG=yes
+FAKE_FLAGS+=           OPT_DEBUG=yes
 .endif
 
 MAKE_ENV=              VERBOSE=Yes
 
-LIB_DEPENDS=           converters/libiconv \
-                       devel/libidn
-
-INSTALL_TARGET=                packager-install
+LIB_DEPENDS=           converters/libiconv
 
 post-install:
        ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nail
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/s-nail/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo    29 Jan 2017 06:08:51 -0000      1.13
+++ distinfo    23 Apr 2018 20:31:09 -0000
@@ -1,2 +1,2 @@
-SHA256 (s-nail-14.8.16.tar.gz) = xpt0+0scKhokHVOfVTFUpx53TocSI+6AjoY5Zl2bTMo=
-SIZE (s-nail-14.8.16.tar.gz) = 604423
+SHA256 (s-nail-14.9.10.tar.gz) = h63nu+sRAlCvzoIhsrtVOj2WYTJ9/KP2IplPsBfEnMs=
+SIZE (s-nail-14.9.10.tar.gz) = 895283
Index: patches/patch-nail_rc
===================================================================
RCS file: patches/patch-nail_rc
diff -N patches/patch-nail_rc
--- patches/patch-nail_rc       20 Oct 2016 10:49:23 -0000      1.5
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-nail_rc,v 1.5 2016/10/20 10:49:23 czarkoff Exp $
-
---- nail.rc.orig       Wed Oct  5 12:04:53 2016
-+++ nail.rc    Sat Oct  8 03:38:20 2016
-@@ -43,6 +43,9 @@ set ask
- # *header* on a per-folder basis (it is meaningless unless *header* is set)
- set bsdannounce
- 
-+# Use the traditional BSD Mail interface style.
-+set bsdcompat
-+
- # Uncomment this in order to get coloured output in $PAGER.
- # (Coloured output is only used if $TERM is either found in *colour-terms*
- # or includes the string "color")
Index: patches/patch-obs-imap_c
===================================================================
RCS file: patches/patch-obs-imap_c
diff -N patches/patch-obs-imap_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-obs-imap_c    23 Apr 2018 20:31:09 -0000
@@ -0,0 +1,58 @@
+--- obs-imap.c
++++ obs-imap.c
+@@ -246,10 +246,9 @@ static enum okay  imap_list(struct mailbox *mp, const 
char *base, int strip,
+ static enum okay  imap_copy1(struct mailbox *mp, struct message *m, int n,
+                      const char *name);
+ static enum okay  imap_copyuid_parse(const char *cp,
+-                     unsigned long *uidvalidity, unsigned long *olduid,
+-                     unsigned long *newuid);
++                     ui64_t *uidvalidity, ui64_t *olduid, ui64_t *newuid);
+ static enum okay  imap_appenduid_parse(const char *cp,
+-                     unsigned long *uidvalidity, unsigned long *uid);
++                     ui64_t *uidvalidity, ui64_t *uid);
+ static enum okay  imap_copyuid(struct mailbox *mp, struct message *m,
+                      const char *name);
+ static enum okay  imap_appenduid(struct mailbox *mp, FILE *fp, time_t t,
+@@ -3465,16 +3464,16 @@ imap_copy(struct message *m, int n, const char *name)
+ }
+
+ static enum okay
+-imap_copyuid_parse(const char *cp, unsigned long *uidvalidity,
+-   unsigned long *olduid, unsigned long *newuid)
++imap_copyuid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *olduid,
++   ui64_t *newuid)
+ {
+-   char *xp, *yp, *zp;
++   char const *xp, *yp, *zp;
+    enum okay rv;
+    NYD_ENTER;
+
+-   *uidvalidity = strtoul(cp, &xp, 10);
+-   *olduid = strtoul(xp, &yp, 10);
+-   *newuid = strtoul(yp, &zp, 10);
++   n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */
++   n_idec_ui64_cp(olduid, xp, 10, &yp); /* TODO errors */
++   n_idec_ui64_cp(newuid, yp, 10, &zp); /* TODO errors */
+    rv = (*uidvalidity && *olduid && *newuid && xp > cp && *xp == ' ' &&
+       yp > xp && *yp == ' ' && zp > yp && *zp == ']');
+    NYD_LEAVE;
+@@ -3482,15 +3481,14 @@ imap_copyuid_parse(const char *cp, unsigned long 
*uidvalidity,
+ }
+
+ static enum okay
+-imap_appenduid_parse(const char *cp, unsigned long *uidvalidity,
+-   unsigned long *uid)
++imap_appenduid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *uid)
+ {
+-   char *xp, *yp;
++   char const *xp, *yp;
+    enum okay rv;
+    NYD_ENTER;
+
+-   *uidvalidity = strtoul(cp, &xp, 10);
+-   *uid = strtoul(xp, &yp, 10);
++   n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */
++   n_idec_ui64_cp(uid, xp, 10, &yp); /* TODO errors */
+    rv = (*uidvalidity && *uid && xp > cp && *xp == ' ' && yp > xp &&
+       *yp == ']');
+    NYD_LEAVE;
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/mail/s-nail/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR   29 Mar 2013 03:54:34 -0000      1.1.1.1
+++ pkg/DESCR   23 Apr 2018 20:31:09 -0000
@@ -1,5 +1,7 @@
-S-nail is a fork of Heirloom mailx, formerly known as nail.  It is a mail user
-agent derived from Berkeley Mail 8.1 and is intended to provide the
-functionality of the POSIX.2 mailx command with additional support for MIME
-messages, Maildir, POP3, IMAP, SMTP, threading, spam control, and other
-features.
+S-nail provides a simple and friendly environment for sending and receiving
+mail.  It is intended to provide the functionality of the POSIX mailx(1)
+command, but is MIME capable and optionally offers extensions for line editing,
+S/MIME, SMTP and POP3, among others.
+
+Flavors:
+       idna - Link with GNU Libidn2 to support internationalized domain names.

Reply via email to