blob: 17ade65eed5d7edc49eba60baf0bd78b987f2863 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# Copyright 1999-2024 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="~alpha 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-0.5-r1 )
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."
}
|