From 5e265343ded309ffcfef1f6d3a0f511668053b78 Mon Sep 17 00:00:00 2001 From: Brian Evans Date: Fri, 23 Aug 2019 08:55:05 -0400 Subject: mail-client/s-nail: Version bump for 14.9.15 Package-Manager: Portage-2.3.72, Repoman-2.3.17 Signed-off-by: Brian Evans --- mail-client/s-nail/Manifest | 1 + .../s-nail/files/s-nail-14.9.15-havenet.patch | 205 +++++++++++++++++++++ mail-client/s-nail/s-nail-14.9.15.ebuild | 94 ++++++++++ 3 files changed, 300 insertions(+) create mode 100644 mail-client/s-nail/files/s-nail-14.9.15-havenet.patch create mode 100644 mail-client/s-nail/s-nail-14.9.15.ebuild (limited to 'mail-client/s-nail') diff --git a/mail-client/s-nail/Manifest b/mail-client/s-nail/Manifest index 1a48213f1107..91c6b34decde 100644 --- a/mail-client/s-nail/Manifest +++ b/mail-client/s-nail/Manifest @@ -1 +1,2 @@ DIST s-nail-14.9.13.tar.xz 734416 BLAKE2B b23de9c32357d5b88ecb723dc875d3366b2b4c57dd654a4f2422e8bb81b781a76568eb0955990d4166f034bf40459fa5d2992da6e7f2b403a641a4d4c0c1e200 SHA512 6467846fab5752c708886ba7a66cd2038effc0cf8d72e2feb670283cf1d5436c27037087eeaa201c074964476ff0c213cffe74169fb03089ebf964fcc766e6ea +DIST s-nail-14.9.15.tar.xz 757180 BLAKE2B 9d3efe43e6f1f4486bb66bb0060a6b656097c4b6d95e5f22e209e7464bd92bc9cf42a36009d674a3ee032ab32f64ecef2aa0cc1b09519a7760bf5d1145e35c5d SHA512 ca95c544890a13b475fb12f882a172942f29517319956eccab1fbc2a67625fe53e3f0cc10c31daac98e28bb1fae48364d80db9ec35f0e6cc71d748290a2635df diff --git a/mail-client/s-nail/files/s-nail-14.9.15-havenet.patch b/mail-client/s-nail/files/s-nail-14.9.15-havenet.patch new file mode 100644 index 000000000000..386e03e174d8 --- /dev/null +++ b/mail-client/s-nail/files/s-nail-14.9.15-havenet.patch @@ -0,0 +1,205 @@ +diff --git a/THANKS b/THANKS +index 9613133d..1d4dfd0d 100644 +--- a/THANKS ++++ b/THANKS +@@ -43,6 +43,7 @@ Erich Eckner erich dot eckner at gmx dot de + Paul Eggert eggert at cs dot ucla dot edu + Justin Ellingwood JustinEllingwood at gmail dot com + Robert Elz kre at munnari dot OZ dot AU ++Brian Evans grknight at gentoo dot org + Rich Felker dalias at libc dot org + Dr. Werner Fink werner at suse dot de + Felix Fontein felix at fontein dot de +diff --git a/mx-test.sh b/mx-test.sh +index 4a60a1b0..201b00e7 100755 +--- a/mx-test.sh ++++ b/mx-test.sh +@@ -5442,12 +5442,17 @@ t_mta_aliases() { + ## xxx The following are actually *expandaddr* tests!! + + # May not send plain names over SMTP! +- echo | ${MAILX} ${ARGS} -Smta=smtp://laber.backe \ +- -Smta-aliases=./.tali \ +- -b a3 -c a2 a1 > ./.tall 2>&1 +- check_exn0 3 +- check 4 - "${MBOX}" '1172368381 238' +- if have_feat uistrings; then ++ mtaali= ++ if have_feat smtp; then ++ echo | ${MAILX} ${ARGS} \ ++ -Smta=smtp://laber.backe -Ssmtp-auth=none \ ++ -Smta-aliases=./.tali \ ++ -b a3 -c a2 a1 > ./.tall 2>&1 ++ check_exn0 3 ++ check 4 - "${MBOX}" '1172368381 238' ++ mtaali=1 ++ fi ++ if [ -n "${mtaali}" ] && have_feat uistrings; then + check 5 - .tall '771616226 179' + else + t_echoskip '5:[test unsupported]' +diff --git a/src/mx/cmd-resend.c b/src/mx/cmd-resend.c +index 488c9b78..31f20609 100644 +--- a/src/mx/cmd-resend.c ++++ b/src/mx/cmd-resend.c +@@ -723,7 +723,11 @@ jleave: + + static int + a_crese_resend1(void *vp, boole add_resent){ +- struct mx_url url; ++#ifdef mx_HAVE_NET ++ struct mx_url url, *urlp = &url; ++#else ++ struct mx_url *urlp = NIL; ++#endif + struct header head; + struct mx_name *myto, *myrawto; + boole mta_isexe; +@@ -747,7 +751,7 @@ jedar: + goto jleave; + } + +- if(!(mta_isexe = mx_sendout_mta_url(&url))) ++ if(!(mta_isexe = mx_sendout_mta_url(urlp))) + goto jleave; + mta_isexe = (mta_isexe != TRU1); + +@@ -794,7 +798,7 @@ jedar: + head.h_mailx_orig_cc = lextract(hfield1("cc", mp), GCC | gf); + head.h_mailx_orig_bcc = lextract(hfield1("bcc", mp), GBCC | gf); + +- if(n_resend_msg(mp, (mta_isexe ? NIL : &url), &head, add_resent ++ if(n_resend_msg(mp, (mta_isexe ? NIL : urlp), &head, add_resent + ) != OKAY){ + /* n_autorec_relax_gut(); XXX but is handled automatically? */ + goto jleave; +diff --git a/src/mx/sendout.c b/src/mx/sendout.c +index 2b0e8bf0..c4f373c1 100644 +--- a/src/mx/sendout.c ++++ b/src/mx/sendout.c +@@ -2060,9 +2060,13 @@ FL enum okay + n_mail1(enum n_mailsend_flags msf, struct header *hp, struct message *quote, + char const *quotefile) + { +- struct n_sigman sm; ++#ifdef mx_HAVE_NET + struct mx_cred_ctx cc; +- struct mx_url url; ++ struct mx_url url, *urlp = &url; ++#else ++ struct mx_url *urlp = NIL; ++#endif ++ struct n_sigman sm; + struct sendbundle sb; + struct mx_name *to; + boole dosign, mta_isexe; +@@ -2121,7 +2125,7 @@ n_mail1(enum n_mailsend_flags msf, struct header *hp, struct message *quote, + #ifndef mx_HAVE_SMIME + if (dosign) { + n_err(_("No S/MIME support compiled in\n")); +- goto jleave; ++ goto jfail_dead; + } + #endif + +@@ -2139,8 +2143,8 @@ n_mail1(enum n_mailsend_flags msf, struct header *hp, struct message *quote, + * TODO header fields ONCE, call that ONCE after user editing etc. has + * TODO completed (one edit cycle) */ + +- if(!(mta_isexe = mx_sendout_mta_url(&url))) +- goto jleave; ++ if(!(mta_isexe = mx_sendout_mta_url(urlp))) ++ goto jfail_dead; + mta_isexe = (mta_isexe != TRU1); + + /* Take the user names from the combined to and cc lists and do all the +@@ -2174,8 +2178,10 @@ n_mail1(enum n_mailsend_flags msf, struct header *hp, struct message *quote, + sb.sb_hp = hp; + sb.sb_to = to; + sb.sb_input = mtf; +- sb.sb_urlp = mta_isexe ? NIL : &url; ++ sb.sb_urlp = mta_isexe ? NIL : urlp; ++#ifdef mx_HAVE_NET + sb.sb_credp = &cc; ++#endif + + if((dosign || count_nonlocal(to) > 0) && + !_sendbundle_setup_creds(&sb, (dosign > 0))){ +@@ -2728,8 +2734,10 @@ FL enum okay + n_resend_msg(struct message *mp, struct mx_url *urlp, struct header *hp, + boole add_resent) + { +- struct n_sigman sm; ++#ifdef mx_HAVE_NET + struct mx_cred_ctx cc; ++#endif ++ struct n_sigman sm; + struct sendbundle sb; + FILE * volatile ibuf, *nfo, * volatile nfi; + struct mx_fs_tmp_ctx *fstcp; +@@ -2794,7 +2802,9 @@ n_resend_msg(struct message *mp, struct mx_url *urlp, struct header *hp, + sb.sb_to = to; + sb.sb_input = nfi; + sb.sb_urlp = urlp; ++#ifdef mx_HAVE_NET + sb.sb_credp = &cc; ++#endif + + if(!_sendout_error && + count_nonlocal(to) > 0 && !_sendbundle_setup_creds(&sb, FAL0)){ +diff --git a/src/mx/url.c b/src/mx/url.c +index 574e7c56..4bd55fb5 100644 +--- a/src/mx/url.c ++++ b/src/mx/url.c +@@ -321,29 +321,33 @@ mx_url_parse(struct mx_url *urlp, enum cproto cproto, char const *data){ + + rv = FAL0; + ++#ifdef mx_HAVE_TLS ++# define a_OUCH 0 ++#else ++# define a_OUCH 1 ++#endif ++ + /* Network protocol */ + #define a_PROTOX(X,Y,Z) \ + urlp->url_portno = Y;\ + su_mem_copy(urlp->url_proto, X "://\0", sizeof(X "://\0"));\ + urlp->url_proto[sizeof(X) -1] = '\0';\ + urlp->url_proto_len = sizeof(X) -1;\ +- do{ Z; }while(0) ++ if(a_OUCH){ Z; } + #define a_PRIVPROTOX(X,Y,Z) \ + do{ a_PROTOX(X, Y, Z); }while(0) +-#define a__IF(X,Y,Z) \ ++ ++#define a__IF(T,X,Y,Z) \ + if(!su_cs_cmp_case_n(data, X "://", sizeof(X "://") -1)){\ ++ if(a_OUCH && T)\ ++ goto jeproto;\ + a_PROTOX(X, Y, Z);\ + data += sizeof(X "://") -1;\ + goto juser;\ + } +-#define a_IF(X,Y) a__IF(X, Y, (void)0) +-#ifdef mx_HAVE_TLS +-# define a_IFS(X,Y) a__IF(X, Y, urlp->url_flags |= mx_URL_TLS_REQUIRED) +-# define a_IFs(X,Y) a__IF(X, Y, urlp->url_flags |= mx_URL_TLS_OPTIONAL) +-#else +-# define a_IFS(X,Y) goto jeproto; +-# define a_IFs(X,Y) a_IF(X, Y) +-#endif ++#define a_IF(X,Y) a__IF(0, X, Y, (void)0) ++#define a_IFS(X,Y) a__IF(1, X, Y, urlp->url_flags |= mx_URL_TLS_REQUIRED) ++#define a_IFs(X,Y) a__IF(0, X, Y, urlp->url_flags |= mx_URL_TLS_OPTIONAL) + + switch(cproto){ + case CPROTO_CERTINFO: +@@ -413,6 +417,7 @@ mx_url_parse(struct mx_url *urlp, enum cproto cproto, char const *data){ + #endif + } + ++#undef a_OUCH + #undef a_PRIVPROTOX + #undef a_PROTOX + #undef a__IF diff --git a/mail-client/s-nail/s-nail-14.9.15.ebuild b/mail-client/s-nail/s-nail-14.9.15.ebuild new file mode 100644 index 000000000000..7ca0db136c29 --- /dev/null +++ b/mail-client/s-nail/s-nail-14.9.15.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +HOMEPAGE="https://www.sdaoden.eu/code.html" +DESCRIPTION="Enhanced mailx-compatible mail client based on Hierloom mailx (nail)" +LICENSE="BSD BSD-4 ISC RSA" + +SRC_URI="https://ftp.sdaoden.eu/${P}.tar.xz" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="idn kerberos libressl net ssl" + +RDEPEND=" + sys-libs/ncurses:0= + virtual/libiconv + idn? ( net-dns/libidn2 ) + net? ( + ssl? ( + !libressl? ( dev-libs/openssl:0 ) + libressl? ( dev-libs/libressl ) + ) + kerberos? ( virtual/krb5 ) + ) + !mail-client/mailx + !net-mail/mailutils + !mail-client/nail +" +DEPEND="${RDEPEND}" +BDEPEND="virtual/awk" + +PATCHES=( "${FILESDIR}/s-nail-14.9.15-havenet.patch" ) + +src_configure() { + local confopts=( + CC=$(tc-getCC) + EXTRA_CFLAGS=-std=c99 + strip=/bin/true + OPT_AUTOCC=no + VAL_PREFIX="${EPREFIX}"/usr + VAL_SYSCONFDIR="${EPREFIX}"/etc + VAL_MTA="${EPREFIX}/usr/sbin/sendmail" + VAL_MAIL='/var/spool/mail' + VAL_PAGER=less + $(usex idn VAL_IDNA=idn2 OPT_IDNA=no) + VERBOSE=1 + ) + + if use net; then + confopts+=( OPT_TLS=$(usex ssl require no) + OPT_GSSAPI=$(usex kerberos require no) + ) + else + confopts+=( OPT_NET=no ) + fi + + tc-is-cross-compiler && confopts+=( OPT_CROSS_BUILD=yes ) + + emake "${confopts[@]}" config +} + +src_compile() { + emake build +} + +src_install () { + # Use /usr/sbin/sendmail by default and provide an example + cat <<- EOSMTP >> nail.rc + + # Use the local sendmail (/usr/sbin/sendmail) binary by default. + # (Uncomment the following line to use a SMTP server) + #set smtp=localhost + + # Ask for CC: list too. + set askcc + EOSMTP + + emake DESTDIR="${D}" install + + dodoc INSTALL NEWS README THANKS + + dodir /bin + dosym ../usr/bin/mailx /bin/mail + dosym s-nail /usr/bin/mailx + dosym mailx /usr/bin/mail + dosym mailx /usr/bin/Mail + + dosym s-nail.1 /usr/share/man/man1/mailx.1 + dosym mailx.1 /usr/share/man/man1/mail.1 + dosym mailx.1 /usr/share/man/man1/Mail.1 +} -- cgit v1.2.3-65-gdbad