1PORTNAME= krb5 2PORTVERSION= 1.21.3 3CATEGORIES= security 4MASTER_SITES= http://web.mit.edu/kerberos/dist/${PORTNAME}/${PORTVERSION:C/^[0-9]*\.[0-9]*/&X/:C/X\.[0-9]*$//:C/X//}/ 5.if !defined(MASTERDIR) 6PKGNAME_X= -${FLAVOR:S/default//}-121 7.else 8PKGNAME_X= -${FLAVOR:S/default//} 9.endif 10PKGNAMESUFFIX= ${PKGNAME_X:S/--/-/:C/-$//} 11 12PATCH_SITES= http://web.mit.edu/kerberos/advisories/ 13PATCH_DIST_STRIP= -p2 14 15MAINTAINER= ports@MidnightBSD.org 16COMMENT= MIT implementation of RFC 4120 network authentication service 17WWW= https://web.mit.edu/kerberos/ 18 19LICENSE= mit 20 21CONFLICTS= heimdal krb5 krb5-11* krb5-120 22CONFLICTS_BUILD= boringssl 23 24KERBEROSV_URL= http://web.mit.edu/kerberos/ 25USES= autoreconf:2.69 compiler:c++11-lang cpe gmake gettext-runtime \ 26 gssapi:bootstrap,mit libtool:build localbase \ 27 perl5 pkgconfig ssl 28USE_CSTD= gnu99 29USE_LDCONFIG= yes 30USE_PERL5= build 31GNU_CONFIGURE= yes 32CONFIGURE_ARGS?= --enable-shared --without-system-verto \ 33 --disable-rpath 34GNU_CONFIGURE_MANPREFIX=${PREFIX}/share 35CONFIGURE_ENV= INSTALL="${INSTALL}" INSTALL_LIB="${INSTALL_LIB}" YACC="${YACC}" 36CONFIGURE_TARGET= ${ARCH}-portbld-freebsd11.4 37MAKE_ARGS= INSTALL="${INSTALL}" INSTALL_LIB="${INSTALL_LIB}" 38 39CPE_VENDOR= mit 40CPE_VERSION= 5-${PORTVERSION} 41CPE_PRODUCT= kerberos 42 43FLAVORS= default ldap 44 45OPTIONS_DEFINE= EXAMPLES NLS KRB5_PDF KRB5_HTML DNS_FOR_REALM LDAP LMDB 46OPTIONS_DEFAULT= KRB5_PDF KRB5_HTML READLINE 47OPTIONS_RADIO= CMD_LINE_EDITING 48OPTIONS_RADIO_CMD_LINE_EDITING= READLINE LIBEDIT LIBEDIT_BASE 49CMD_LINE_EDITING_DESC= Command line editing for kadmin and ktutil 50KRB5_PDF_DESC= Install krb5 PDF documentation 51KRB5_HTML_DESC= Install krb5 HTML documentation 52DNS_FOR_REALM_DESC= Enable DNS lookups for Kerberos realm names 53DNS_FOR_REALM_CONFIGURE_ENABLE= dns-for-realm 54LDAP= Enable LDAP support 55LDAP_USE= OPENLDAP=yes LDAP=yes 56LDAP_CONFIGURE_WITH= ldap 57LMDB_DESC= OpenLDAP Lightning Memory-Mapped Database support 58LMDB_CONFIGURE_WITH= lmdb 59LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb 60LMDB_IMPLIES= LDAP 61NLS_USES= gettext 62NLS_CONFIGURE_OFF= --disable-nls 63READLINE_USES= readline 64READLINE_CONFIGURE_WITH=readline 65LIBEDIT_USES= libedit 66LIBEDIT_CONFIGURE_WITH= libedit 67LIBEDIT_BASE_CONFIGURE_WITH= libedit 68LIBEDIT_BASE_DESC= Use libedit in BSD base 69 70.if ${FLAVOR:U} == ldap 71OPTIONS_DEFAULT+= LDAP LMDB 72USE_OPENLDAP= yes 73LDAP=YES 74.endif 75 76.if defined(KRB5_HOME) 77PREFIX= ${KRB5_HOME} 78.endif 79.if !defined(KRB5_LOCALSTATEDIR) 80KRB5_LOCALSTATEDIR= "${PREFIX}/var" 81.endif 82.if !defined(KRB5_RUNSTATEDIR) 83KRB5_RUNSTATEDIR= "${PREFIX}/var/run" 84.endif 85# krb5 1.21 derives runstatedir from localstatedir but does not accept 86# --runstatedir as a configure option. 87CONFIGURE_ARGS+= --localstatedir="${KRB5_LOCALSTATEDIR}" 88PLIST_SUB+= KRB5_LOCALSTATEDIR=${KRB5_LOCALSTATEDIR} 89PLIST_SUB+= KRB5_RUNSTATEDIR=${KRB5_RUNSTATEDIR} 90CPPFLAGS+= -I${OPENSSLINC} 91LDFLAGS+= -L${OPENSSLLIB} 92 93USE_RC_SUBR= kpropd 94OPTIONS_SUB= yes 95WRKSRC_SUBDIR= src 96PORTEXAMPLES= kdc.conf krb5.conf services.append 97 98.include <bsd.mport.options.mk> 99 100# Fix up -Wl,-rpath in LDFLAGS 101.if !empty(KRB5_HOME) 102_RPATH= ${KRB5_HOME}/lib: 103.else 104_RPATH= ${LOCALBASE}/lib: 105.endif 106.if !empty(LDFLAGS:M-Wl,-rpath,*) 107.for F in ${LDFLAGS:M-Wl,-rpath,*} 108LDFLAGS:= -Wl,-rpath,${_RPATH}${F:S/-Wl,-rpath,//} \ 109 ${LDFLAGS:N-Wl,-rpath,*} 110.endfor 111.endif 112 113.if defined(KRB5_HOME) && ${KRB5_HOME} != ${LOCALBASE} 114BROKEN= LIB_DEPENDS when using KRB5_HOME is broken 115.endif 116 117.if defined(PROGRAM_TRANSFORM_NAME) && ${PROGRAM_TRANSFORM_NAME} != "" 118CONFIGURE_ARGS+= --program-transform-name="${PROGRAM_TRANSFORM_NAME}" 119.endif 120 121HTML_DOC_DIR= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/doc/html 122PDF_DOC_DIR= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/doc/pdf 123 124.include <bsd.port.pre.mk> 125 126post-install: 127 @${MKDIR} ${PREFIX}/share/doc/krb5 128 @${SED} "s|%%PREFIX%%|${TRUE_PREFIX}|" ${FILESDIR}/kdc.in > ${PREFIX}/sbin/kdc; \ 129 ${CHMOD} +x ${PREFIX}/sbin/kdc 130# html documentation 131.if ${PORT_OPTIONS:MKRB5_PDF} 132 pdf_files=`${FIND} ${PDF_DOC_DIR} ! -type d` 133 pdf_dirs=`${FIND} ${PDF_DOC_DIR} -type d` 134 for i in $${pdf_dirs}; do \ 135 ${MKDIR} ${PREFIX}/share/doc/krb5/$${i}; \ 136 done; \ 137 for i in $${pdf_files}; do \ 138 ${INSTALL_DATA} $${pdf} ${PREFIX}/share/doc/krb5/$${i}; \ 139 ${ECHO_CMD} share/doc/krb5/$${i} >> ${TMPPLIST}; \ 140 done 141.endif 142.if ${PORT_OPTIONS:MKRB5_HTML} 143 html_files=`${FIND} ${HTML_DOC_DIR} ! -type d | ${GREP} -v /_sources` 144 html_dirs=`${FIND} ${HTML_DOC_DIR} -type d | ${GREP} -v /_sources` 145 for i in $${html_dirs}; do \ 146 ${MKDIR} ${PREFIX}/share/doc/krb5/$${i}; \ 147 done; \ 148 for i in $${html_files}; do \ 149 ${INSTALL_DATA} $${i} ${PREFIX}/share/doc/krb5/$${i}; \ 150 ${ECHO_CMD} share/doc/krb5/$${i} >> ${TMPPLIST}; \ 151 done 152.endif 153.if ${PORT_OPTIONS:MKRB5_PDF} 154 for i in $${pdf_dirs}; do \ 155 ${ECHO_CMD} @dir share/doc/krb5/$${i} >> ${TMPPLIST}; \ 156 done | ${TAIL} -r >> ${TMPPLIST} 157.endif 158.if ${PORT_OPTIONS:MKRB5_HTML} 159 for i in $${html_dirs}; do \ 160 ${ECHO_CMD} @dir share/doc/krb5/$${i} >> ${TMPPLIST}; \ 161 done | ${TAIL} -r >> ${TMPPLIST} 162.endif 163 ${ECHO_CMD} @dir share/doc/krb5 >> ${TMPPLIST} 164 165post-install-LDAP-on: 166 ${MKDIR} ${FAKE_DESTDIR}${DATADIR} 167 ${INSTALL_DATA} ${WRKSRC}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema \ 168 ${FAKE_DESTDIR}${DATADIR} 169 ${INSTALL_DATA} ${WRKSRC}/plugins/kdb/ldap/libkdb_ldap/kerberos.ldif \ 170 ${FAKE_DESTDIR}${DATADIR} 171 172.include <bsd.port.post.mk> 173