aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mutt
diff options
context:
space:
mode:
authorpi <pi@FreeBSD.org>2016-01-28 19:50:35 +0800
committerpi <pi@FreeBSD.org>2016-01-28 19:50:35 +0800
commit926a4c2c971d04b06ba5847a1ae4af7fb26350a5 (patch)
tree4b2c7e7e7378112cec7d5a358d08c13a925617fd /mail/mutt
parent2f802164f2ec85407c8bb4b2df4ba84272db94a7 (diff)
downloadfreebsd-ports-gnome-926a4c2c971d04b06ba5847a1ae4af7fb26350a5.tar.gz
freebsd-ports-gnome-926a4c2c971d04b06ba5847a1ae4af7fb26350a5.tar.zst
freebsd-ports-gnome-926a4c2c971d04b06ba5847a1ae4af7fb26350a5.zip
mail/mutt: provide options to build with GSSAPI variants
The port rolls its own GSSAPI handling system, looking for installed libraries, rather than employing the "Uses" knobs (which probably post-date the mutt Port's GSSAPI support). When linking against OpenSSL from Ports, this results in one mutt process pulling in both libcrypto.so.8 from Ports and libcrypto.so.7 from the base system (FreeBSD 10.1), leading to environ corruption problems when running external commands, which complain at startup (libc routines detect the corruption). These look like: sh: environment corrupt; missing value for SOME_VAR and can be seen when, eg, viewing a PGP-signed mail with GnuPG integration turned on. This patch switches mail/mutt to use the GSSAPI "Uses" system. PR: 206220 Submitted by: Phil Pennock <freebsd@phil.spodhuis.org> Approved by: Udo Schweigert <Udo.Schweigert@siemens.com> (maintainer)
Diffstat (limited to 'mail/mutt')
-rw-r--r--mail/mutt/Makefile35
-rw-r--r--mail/mutt/files/patch-m4-gssapi.m410
2 files changed, 23 insertions, 22 deletions
diff --git a/mail/mutt/Makefile b/mail/mutt/Makefile
index dddec14cbc3f..08c61ba25a8e 100644
--- a/mail/mutt/Makefile
+++ b/mail/mutt/Makefile
@@ -3,7 +3,7 @@
PORTNAME= mutt
PORTVERSION= 1.5.24
-PORTREVISION?= 2
+PORTREVISION?= 3
CATEGORIES+= mail ipv6
MASTER_SITES= ftp://ftp.mutt.org/mutt/ \
ftp://ftp.fu-berlin.de/pub/unix/mail/mutt/ \
@@ -54,7 +54,7 @@ LITE= yes
OPTIONS_UNSET= NLS DOCS EXAMPLES
.else
OPTIONS_DEFINE= COMPRESSED_FOLDERS SASL DEBUG DOCS EXAMPLES FLOCK \
- GPGME GREETING_PATCH GSSAPI HTML ICONV IDN IFDEF_PATCH \
+ GPGME GREETING_PATCH HTML ICONV IDN IFDEF_PATCH \
IMAP_HEADER_CACHE LOCALES_FIX MAILBOX_MANPAGES \
MAILDIR_HEADER_CACHE MAILDIR_MTIME_PATCH \
MIXMASTER NLS NNTP PARENT_CHILD_MATCH_PATCH \
@@ -62,9 +62,10 @@ OPTIONS_DEFINE= COMPRESSED_FOLDERS SASL DEBUG DOCS EXAMPLES FLOCK \
SIGNATURE_MENU SMART_DATE SMIME_OUTLOOK_COMPAT SMTP \
TOKYOCABINET TRASH_PATCH URLVIEW XML
-OPTIONS_SINGLE= SCREEN
+OPTIONS_SINGLE= GSSAPI SCREEN
OPTIONS_RADIO= SPELL
OPTIONS_RADIO_SPELL= ASPELL ISPELL
+OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
OPTIONS_SINGLE_SCREEN= NCURSES SLANG
COMPRESSED_FOLDERS_DESC= Compressed folders
@@ -73,7 +74,6 @@ DEBUG_DESC= Debugging capabilities
FLOCK_DESC= flock() usage
GPGME_DESC= Gpgme interface
GREETING_PATCH_DESC= Greeting support
-GSSAPI_DESC= Use the gss API
HTML_DESC= HTML documentation
IFDEF_PATCH_DESC= ifdef feature
IMAP_HEADER_CACHE_DESC= IMAP header cache
@@ -141,6 +141,15 @@ NCURSES_USES= ncurses
NLS_USES= gettext
NLS_CONFIGURE_OFF= --disable-nls
+# Handle GSSAPI from various places
+GSSAPI_BASE_USES= gssapi
+GSSAPI_BASE_CONFIGURE_ON= --with-gss=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+GSSAPI_HEIMDAL_USES= gssapi:heimdal
+GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gss=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+GSSAPI_MIT_USES= gssapi:mit
+GSSAPI_MIT_CONFIGURE_ON= --with-gss=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
+GSSAPI_NONE_CONFIGURE_ON= --without-gss
+
ICONV_USES= iconv:translit
ICONV_CONFIGURE_ON= ${ICONV_CONFIGURE_ARG}
ICONV_CONFIGURE_OFF= --disable-iconv
@@ -229,24 +238,6 @@ pre-build::
-e "s|^(AUTOHEADER = ).+|\1${AUTOHEADER}|" \
${BUILD_WRKSRC}/Makefile
-.if ${PORT_OPTIONS:MGSSAPI}
-.if exists(${LOCALBASE}/bin/krb5-config)
-LIB_DEPENDS+= libgssapi_krb5.so:${PORTSDIR}/security/krb5
-CONFIGURE_ARGS+= --with-gss=${LOCALBASE}
-.elif exists(${KRB5_HOME}/bin/krb5-config)
-LIB_DEPENDS+= libgssapi_krb5.so:${PORTSDIR}/security/krb5
-CONFIGURE_ARGS+= --with-gss=${KRB5_HOME}
-LDFLAGS+= -L${KRB5_HOME}/lib -Wl,-rpath=${KRB5_HOME}/lib -ltinfow
-.elif exists(${HEIMDAL_HOME}/bin/krb5-config)
-LIB_DEPENDS+= libgssapi_krb5.so:${PORTSDIR}/security/krb5
-CONFIGURE_ARGS+= --with-gss=${HEIMDAL_HOME}
-LDFLAGS+= -L${HEIMDAL_HOME}/lib -Wl,-rpath=${HEIMDAL_HOME}/lib -ltinfow
-.elif (defined(MAKE_KERBEROS5)) || exists(/usr/lib/libkrb5.a)
-CONFIGURE_ARGS+= --with-gss
-WITH_KRB5_SYS=yes
-.endif
-.endif
-
LDFLAGS+= -L${LOCALBASE}/lib -Wl,-rpath=${LOCALBASE}/lib:/usr/lib -ltinfow
CFLAGS+= ${CFLAGS_ADD}
LDFLAGS+= ${LDFLAGS_ADD}
diff --git a/mail/mutt/files/patch-m4-gssapi.m4 b/mail/mutt/files/patch-m4-gssapi.m4
new file mode 100644
index 000000000000..24bfbb384e64
--- /dev/null
+++ b/mail/mutt/files/patch-m4-gssapi.m4
@@ -0,0 +1,10 @@
+--- m4/gssapi.m4.orig 2015-08-30 19:06:38.000000000 +0200
++++ m4/gssapi.m4 2016-01-25 15:04:37.448609000 +0100
+@@ -27,6 +27,7 @@
+ GSSAPI_LIBS="$MUTTLIBS `$KRB5CFGPATH --libs gssapi`"
+ case "`$KRB5CFGPATH --version`" in
+ "Kerberos 5 "*) GSSAPI_IMPL="MIT";;
++ "FreeBSD heimdal"*) GSSAPI_IMPL="Heimdal";;
+ ?eimdal*) GSSAPI_IMPL="Heimdal";;
+ *) GSSAPI_IMPL="Unknown";;
+ esac