commit:     1dabcb8b732f8e8048665f164563bdd24919d07c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 18 18:31:02 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jul 18 18:39:35 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1dabcb8b

net-misc/gsasl: use libgssglue

As upstream request: 
https://blog.josefsson.org/2022/07/14/towards-pluggable-gss-api-
modules/

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-misc/gsasl/gsasl-2.0.1-r1.ebuild | 92 ++++++++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

diff --git a/net-misc/gsasl/gsasl-2.0.1-r1.ebuild 
b/net-misc/gsasl/gsasl-2.0.1-r1.ebuild
new file mode 100644
index 000000000000..82aa58509187
--- /dev/null
+++ b/net-misc/gsasl/gsasl-2.0.1-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="The GNU SASL client, server, and library"
+HOMEPAGE="https://www.gnu.org/software/gsasl/";
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+# Before giving keywords (or ideally even bumping), please check 
https://www.gnu.org/software/gsasl/ to see
+# if it's a stable release or not!
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="+client gcrypt gnutls idn kerberos nls ntlm +server static-libs"
+REQUIRED_USE="|| ( client server )"
+
+DEPEND="
+       !net-libs/libgsasl
+       sys-libs/readline:=
+       gcrypt? ( dev-libs/libgcrypt:= )
+       gnutls? ( net-libs/gnutls:= )
+       idn? ( net-dns/libidn:= )
+       kerberos? ( net-libs/libgssglue )
+       nls? ( >=sys-devel/gettext-0.18.1 )
+       ntlm? ( >=net-libs/libntlm-0.3.5 )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+       default
+
+       sed -i \
+               -e '/gl_WARN_ADD(\[-Werror/d' \
+               -e 's/ -Werror//' \
+               configure.ac || die
+
+       eautoreconf
+}
+
+src_configure() {
+       local krb5_impl="--with-gssapi-impl=no"
+
+       # See 
https://blog.josefsson.org/2022/07/14/towards-pluggable-gss-api-modules/
+       if use kerberos; then
+               krb5_impl="--with-gssapi-impl=gssglue"
+       fi
+
+       local myeconfargs=(
+               --disable-valgrind-tests
+               --disable-rpath
+
+               --with-packager="Gentoo Linux"
+               --with-packager-bug-reports="https://bugs.gentoo.org";
+               --with-packager-version="r${PR}"
+
+               $(use_enable client)
+               $(use_enable server)
+
+               $(use_enable kerberos gssapi)
+               ${krb5_impl}
+               $(use_enable kerberos gs2)
+
+               $(use_with gcrypt libgcrypt)
+               $(use_with gnutls)
+               $(use_enable nls)
+               $(use_with idn stringprep)
+               $(use_enable ntlm)
+               $(use_enable static-libs static)
+       )
+
+       econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+
+       if ! use static-libs; then
+               rm -f "${ED}"/usr/lib*/lib*.la || die
+       fi
+
+       doman doc/gsasl.1 doc/man/*.3
+}
+
+pkg_postinst() {
+       ewarn "For USE=kerberos, ${PN} now uses libgssglue to allow choosing"
+       ewarn "the Kerberos implementation at runtime."
+       elog "See 
https://blog.josefsson.org/2022/07/14/towards-pluggable-gss-api-modules/";
+       elog "for more details."
+}

Reply via email to