summaryrefslogtreecommitdiffstats
path: root/security/heimdal/Makefile
blob: 4dc746c3cc8e3c17db044c58dd8f2e1a4f8222a2 (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Created by: nectar@FreeBSD.org
# $FreeBSD$

PORTNAME=	heimdal
PORTVERSION=	7.4.0
CATEGORIES=	security ipv6
MASTER_SITES=	https://github.com/heimdal/heimdal/releases/download/${DISTNAME}/

MAINTAINER=	hrs@FreeBSD.org
COMMENT=	Popular BSD-licensed implementation of Kerberos 5

LICENSE=	BSD3CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

CONFLICTS=	krb4-[0-9]* krb5-[0-9]* krb5-maint-[0-9]* srp-[0-9]* \
		wu-ftpd-[0-9]* wu-ftpd+ipv6-[0-9]*

USES=		gettext-runtime gssapi:bootstrap,heimdal libtool pathfix \
		pkgconfig readline makeinfo ssl
USE_LDCONFIG=	${GSSAPILIBDIR}
GNU_CONFIGURE=	yes
CONFIGURE_ENV=	ac_cv_header_fnmatch_h=yes \
		ac_cv_header_db_h=no \
		ac_cv_header_db3_db_h=no \
		ac_cv_header_db4_db_h=no \
		ac_cv_header_db5_db_h=no \
		ac_cv_header_db5_h=no \
		ac_cv_prog_COMPILE_ET=${WRKSRC}/lib/com_err/compile_et
CONFIGURE_ARGS=	--with-berkeley-db \
		--with-libintl \
		--with-libintl-include="${LOCALBASE}/include" \
		--with-libintl-lib="${LOCALBASE}/lib" \
		--libdir="${GSSAPILIBDIR}" \
		--includedir="${GSSAPIINCDIR}" \
		--with-kcm \
		--with-openssl \
		--with-openssl-include="${OPENSSLINC}" \
		--with-openssl-lib="${OPENSSLLIB}" \
		--enable-otp \
		--enable-pthread-support \
		--with-readline="${LOCALBASE}" \
		--with-hdbdir="/var/${PORTNAME}" \
		--sysconfdir="${PREFIX}/etc"
# XXX --with-readline picks up libreadline even if found in /usr/lib.
MAKE_ENV=	INSTALL_CATPAGES=no
INSTALL_TARGET=	install-strip
.if !exists(/etc/rc.d/ipropd_master)
USE_RC_SUBR=	ipropd_master ipropd_slave
.endif
INFO=		heimdal hx509

MAKE_JOBS_UNSAFE=	yes

OPTIONS_DEFINE=	IPV6 BDB LMDB SQLITE LDAP PKINIT DIGEST KX509 CRACKLIB
OPTIONS_DEFAULT=     BDB             PKINIT DIGEST KX509
OPTIONS_SUB=	yes

IPV6_CONFIGURE_WITH=	ipv6

BDB_DESC=		Enable BerkeleyDB KDC backend support
BDB_USES=		bdb:5 localbase
BDB_CONFIGURE_ENV=	ac_cv_header_db${BDB_VER}_db_h=yes \
			ac_cv_func_db_create=yes \
			ac_cv_funclib_db_create="-l${BDB_LIB_NAME}"
BDB_CONFIGURE_ON=	--disable-ndbm-db
BDB_CONFIGURE_ENV_OFF=	ac_cv_header_db_h=yes \
			ac_cv_func_db_create=no \
			ac_cv_funclib_db_create=no
BDB_CONFIGURE_OFF=	--enable-ndbm-db

LMDB_DESC=		Enable LMDB KDC backend support
LMDB_CONFIGURE_ENABLE=	mdb_db
LMDB_LIB_DEPENDS=	liblmdb.so:databases/lmdb

SQLITE_DESC=		Enable SQLite KDC backend support
SQLITE_USES=		sqlite
SQLITE_CONFIGURE_ON=	--with-sqlite3-include="${LOCALBASE}/include" \
			--with-sqlite3-lib="${LOCALBASE}/lib"
SQLITE_CONFIGURE_WITH=	sqlite3

LDAP_DESC=		Enable OpenLDAP KDC backend support
LDAP_USE=		OPENLDAP=yes
LDAP_CONFIGURE_ON= 	--with-openldap-include="${LOCALBASE}/include" \
			--with-openldap-lib="${LOCALBASE}/lib"
LDAP_CONFIGURE_WITH=	openldap

PKINIT_DESC=		Enable PK-INIT support
PKINIT_CONFIGURE_ENABLE=pk-init

DIGEST_DESC=		Enable DIGEST support
DIGEST_CONFIGURE_ENABLE=digest

KX509_DESC=		Enable kx509 support
KX509_CONFIGURE_ENABLE=	kx509

CRACKLIB_DESC=		Use CrackLib for password quality checking
CRACKLIB_LIB_DEPENDS=	libcrack.so:security/cracklib

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MLDAP}
WANT_OPENLDAP_SASL?=	yes
.endif

post-extract:
	@${MKDIR} ${WRKSRC}/kpasswdd-cracklib
	${INSTALL_DATA} ${FILESDIR}/kpasswdd-cracklib.c \
	    ${WRKSRC}/kpasswdd-cracklib
	${INSTALL_DATA} ${FILESDIR}/kpasswdd-Makefile \
	    ${WRKSRC}/kpasswdd-cracklib/Makefile

post-build-CRACKLIB-on:
	cd ${WRKSRC}/kpasswdd-cracklib && \
	    ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} ${BUILD_TARGET}

post-install-CRACKLIB-on:
	cd ${WRKSRC}/kpasswdd-cracklib && \
	    ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} ${INSTALL_TARGET}

.include <bsd.port.mk>
OpenPOWER on IntegriCloud