aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--security/krb5-119/Makefile6
-rw-r--r--security/krb5-119/files/patch-configure.ac17
-rw-r--r--security/krb5-119/files/patch-util_ss_listen.c14
-rw-r--r--security/krb5-120/Makefile6
-rw-r--r--security/krb5-120/files/patch-configure.ac17
-rw-r--r--security/krb5-120/files/patch-util_ss_listen.c14
-rw-r--r--security/krb5-121/Makefile6
-rw-r--r--security/krb5-121/files/patch-configure.ac17
-rw-r--r--security/krb5-121/files/patch-util_ss_listen.c14
-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
12 files changed, 139 insertions, 7 deletions
diff --git a/security/krb5-119/Makefile b/security/krb5-119/Makefile
index 0cd71c5fdfa6..c4abab6469aa 100644
--- a/security/krb5-119/Makefile
+++ b/security/krb5-119/Makefile
@@ -22,7 +22,7 @@ CONFLICTS= heimdal krb5 krb5-118 krb5-12*
CONFLICTS_BUILD= boringssl
KERBEROSV_URL= http://web.mit.edu/kerberos/
-USES= compiler:c++11-lang cpe gmake gettext-runtime \
+USES= autoreconf compiler:c++11-lang cpe gmake gettext-runtime \
gssapi:bootstrap,mit libtool:build localbase \
perl5 pkgconfig ssl
BROKEN_SSL= openssl30 openssl31
@@ -45,7 +45,7 @@ CPE_PRODUCT= kerberos
OPTIONS_DEFINE= EXAMPLES NLS KRB5_PDF KRB5_HTML 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
KRB5_PDF_DESC= Install krb5 PDF documentation
KRB5_HTML_DESC= Install krb5 HTML documentation
@@ -64,6 +64,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-119/files/patch-configure.ac b/security/krb5-119/files/patch-configure.ac
new file mode 100644
index 000000000000..abbae0e771b3
--- /dev/null
+++ b/security/krb5-119/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-119/files/patch-util_ss_listen.c b/security/krb5-119/files/patch-util_ss_listen.c
new file mode 100644
index 000000000000..127784b0e2c0
--- /dev/null
+++ b/security/krb5-119/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>
diff --git a/security/krb5-120/Makefile b/security/krb5-120/Makefile
index d2557352ae56..dd175bf24bd6 100644
--- a/security/krb5-120/Makefile
+++ b/security/krb5-120/Makefile
@@ -19,7 +19,7 @@ CONFLICTS= heimdal krb5 krb5-11* krb5-121
CONFLICTS_BUILD= boringssl
KERBEROSV_URL= http://web.mit.edu/kerberos/
-USES= compiler:c++11-lang cpe gmake gettext-runtime \
+USES= autoreconf compiler:c++11-lang cpe gmake gettext-runtime \
gssapi:bootstrap,mit libtool:build localbase \
perl5 pkgconfig ssl
USE_CSTD= gnu99
@@ -39,7 +39,7 @@ CPE_PRODUCT= kerberos
OPTIONS_DEFINE= EXAMPLES NLS KRB5_PDF KRB5_HTML 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
KRB5_PDF_DESC= Install krb5 PDF documentation
KRB5_HTML_DESC= Install krb5 HTML documentation
@@ -58,6 +58,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-120/files/patch-configure.ac b/security/krb5-120/files/patch-configure.ac
new file mode 100644
index 000000000000..abbae0e771b3
--- /dev/null
+++ b/security/krb5-120/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-120/files/patch-util_ss_listen.c b/security/krb5-120/files/patch-util_ss_listen.c
new file mode 100644
index 000000000000..127784b0e2c0
--- /dev/null
+++ b/security/krb5-120/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>
diff --git a/security/krb5-121/Makefile b/security/krb5-121/Makefile
index 3338cd4fbe6f..4ba2b5aa5cea 100644
--- a/security/krb5-121/Makefile
+++ b/security/krb5-121/Makefile
@@ -19,7 +19,7 @@ CONFLICTS= heimdal krb5 krb5-11* krb5-120
CONFLICTS_BUILD= boringssl
KERBEROSV_URL= http://web.mit.edu/kerberos/
-USES= compiler:c++11-lang cpe gmake gettext-runtime \
+USES= autoreconf compiler:c++11-lang cpe gmake gettext-runtime \
gssapi:bootstrap,mit libtool:build localbase \
perl5 pkgconfig ssl
USE_CSTD= gnu99
@@ -39,7 +39,7 @@ CPE_PRODUCT= kerberos
OPTIONS_DEFINE= EXAMPLES NLS KRB5_PDF KRB5_HTML 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
KRB5_PDF_DESC= Install krb5 PDF documentation
KRB5_HTML_DESC= Install krb5 HTML documentation
@@ -58,6 +58,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-121/files/patch-configure.ac b/security/krb5-121/files/patch-configure.ac
new file mode 100644
index 000000000000..abbae0e771b3
--- /dev/null
+++ b/security/krb5-121/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-121/files/patch-util_ss_listen.c b/security/krb5-121/files/patch-util_ss_listen.c
new file mode 100644
index 000000000000..127784b0e2c0
--- /dev/null
+++ b/security/krb5-121/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>
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>