aboutsummaryrefslogtreecommitdiff
path: root/security/krb5-devel
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2023-08-09 23:15:50 +0000
committerCy Schubert <cy@FreeBSD.org>2023-08-09 23:43:03 +0000
commite89f84156a8fcb2f81c1f962845f4456b2f62f63 (patch)
treeb9f86640bffd96eb0d1218e67911e241e41c013a /security/krb5-devel
parent0b58b7b475e3100adfb3b532f2dfb9505e79bf83 (diff)
downloadports-e89f84156a8fcb2f81c1f962845f4456b2f62f63.tar.gz
ports-e89f84156a8fcb2f81c1f962845f4456b2f62f63.zip
security/krb5: Support libedit in base
Even though libedit is in base FreeBSD, the krb5 ports still depend on devel/libedit when the LIBEDIT option is selected. This is because ./configure uses pkgconf to determine if libedit exists, ignoring libedit in FreeBSD base. This patch adds a new LIBEDIT_BASE option which enables LIBEDIT (LIBEDIT_BASE) without installing the devel/libedit port. The GNU READLINE option will remain the default for now but it is planned to switch the default to LIBEDIT_BASE at some point. This is to reduce the dependency on GNU software and to bring it more into line with the planned MIT KRB5 import into FreeBSD base.
Diffstat (limited to 'security/krb5-devel')
-rw-r--r--security/krb5-devel/Makefile4
-rw-r--r--security/krb5-devel/files/patch-configure.ac17
-rw-r--r--security/krb5-devel/files/patch-util_ss_listen.c14
3 files changed, 34 insertions, 1 deletions
diff --git a/security/krb5-devel/Makefile b/security/krb5-devel/Makefile
index ad7f424f7e98..1bafbad0a465 100644
--- a/security/krb5-devel/Makefile
+++ b/security/krb5-devel/Makefile
@@ -40,7 +40,7 @@ CPE_PRODUCT= kerberos
OPTIONS_DEFINE= EXAMPLES NLS DNS_FOR_REALM LDAP LMDB
OPTIONS_DEFAULT= KRB5_PDF KRB5_HTML READLINE
OPTIONS_RADIO= CMD_LINE_EDITING
-OPTIONS_RADIO_CMD_LINE_EDITING= READLINE LIBEDIT
+OPTIONS_RADIO_CMD_LINE_EDITING= READLINE LIBEDIT LIBEDIT_BASE
CMD_LINE_EDITING_DESC= Command line editing for kadmin and ktutil
DNS_FOR_REALM_DESC= Enable DNS lookups for Kerberos realm names
DNS_FOR_REALM_CONFIGURE_ENABLE= dns-for-realm
@@ -57,6 +57,8 @@ READLINE_USES= readline
READLINE_CONFIGURE_WITH=readline
LIBEDIT_USES= libedit
LIBEDIT_CONFIGURE_WITH= libedit
+LIBEDIT_BASE_CONFIGURE_WITH= libedit
+LIBEDIT_BASE_DESC= Use libedit in FreeBSD base
.if defined(KRB5_HOME)
PREFIX= ${KRB5_HOME}
diff --git a/security/krb5-devel/files/patch-configure.ac b/security/krb5-devel/files/patch-configure.ac
new file mode 100644
index 000000000000..abbae0e771b3
--- /dev/null
+++ b/security/krb5-devel/files/patch-configure.ac
@@ -0,0 +1,17 @@
+--- configure.ac.orig 2023-08-07 11:38:21.000000000 -0700
++++ configure.ac 2023-08-09 14:49:19.833149000 -0700
+@@ -1356,8 +1356,12 @@
+ AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
+ AC_MSG_NOTICE([Using libedit for readline support])
+ elif test "x$with_libedit" = xyes; then
+- # We were explicitly asked for libedit and couldn't find it.
+- AC_MSG_ERROR([Could not detect libedit with pkg-config])
++ AC_MSG_NOTICE([Using libedit in FreeBSD base])
++ AC_CHECK_LIB([edit], [main], :,
++ AC_MSG_ERROR([Could not detect libedit]))
++ AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
++ RL_CFLAGS=-DFreeBSD_BASE_EDITLINE
++ RL_LIBS='-ledit'
+ else
+ AC_MSG_NOTICE([Not using any readline support])
+ fi
diff --git a/security/krb5-devel/files/patch-util_ss_listen.c b/security/krb5-devel/files/patch-util_ss_listen.c
new file mode 100644
index 000000000000..127784b0e2c0
--- /dev/null
+++ b/security/krb5-devel/files/patch-util_ss_listen.c
@@ -0,0 +1,14 @@
+--- util/ss/listen.c.orig 2023-08-07 11:38:21.000000000 -0700
++++ util/ss/listen.c 2023-08-09 13:09:30.816661000 -0700
+@@ -15,7 +15,11 @@
+ #include <sys/param.h>
+
+ #if defined(HAVE_LIBEDIT)
++#if defined(FreeBSD_BASE_EDITLINE)
++#include <edit/readline/readline.h>
++#else
+ #include <editline/readline.h>
++#endif
+ #elif defined(HAVE_READLINE)
+ #include <readline/readline.h>
+ #include <readline/history.h>