aboutsummaryrefslogtreecommitdiff
path: root/security/pam_pkcs11/Makefile
blob: 272da541f15c89480d4cd87cacd59243cf25f7cc (plain) (blame)
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
# Created by: Ka Ho Ng <khng300@gmail.com>

PORTNAME=	pam_pkcs11
PORTVERSION=	0.6.12
DISTVERSIONPREFIX=	${PORTNAME}-
CATEGORIES=	security

MAINTAINER=	khng@FreeBSD.org
COMMENT=	PAM module using crypto tokens for auth

LICENSE=	LGPL21

RUN_DEPENDS=	bash:shells/bash

USES=		autoreconf gmake libtool pkgconfig shebangfix

USE_GITHUB=	yes
GH_ACCOUNT=	OpenSC

GNU_CONFIGURE=	yes

CONFIGURE_ARGS=	--with-confdir=${ETCDIR}
CONFIGURE_ENV=	OPENSSL_CFLAGS="-I${OPENSSLINC}" \
		OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto"

SHEBANG_FILES=	tools/pkcs11_make_hash_link

OPTIONS_DEFINE=		CURL DEBUG DOCS LDAP NLS NSS PCSC SSL
OPTIONS_DEFAULT=	PCSC SSL
OPTIONS_SUB=		yes

CURL_LIB_DEPENDS=	libcurl.so:ftp/curl
CURL_CONFIGURE_WITH=	curl

LDAP_USE=		OPENLDAP=yes
LDAP_CONFIGURE_WITH=	ldap

# Users can only choose either NSS or SSL
NSS_DESC=		Enable Mozilla's NSS support
NSS_CONFIGURE_WITH=	nss
NSS_LIB_DEPENDS=	libnss3.so:security/nss \
			libnspr4.so:devel/nspr
NSS_PREVENTS=		SSL

PCSC_DESC=		Enable PC/SC support
PCSC_LIB_DEPENDS=	libpcsclite.so:devel/pcsc-lite
PCSC_CONFIGURE_WITH=	pcsclite

SSL_USES=		ssl

NLS_CONFIGURE_ENABLE=	nls
NLS_USES=	gettext

DOCS_CONFIGURE_ENABLE=	doc

PORTDOCS=	*

PAM_PKCS11_EXAMPLEDOCS=	\
	etc/card_eventmgr.conf.example		\
	etc/digest_mapping.example		\
	etc/mail_mapping.example		\
	etc/pam.d_login.example.in		\
	etc/pam_pkcs11.conf.example.in		\
	etc/pkcs11_eventmgr.conf.example	\
	etc/subject_mapping.example

.include <bsd.port.options.mk>

.if ! ${PORT_OPTIONS:MDEBUG}
INSTALL_TARGET=		install-strip
.else
CONFIGURE_ARGS+=	--with-debug=yes
.endif

.if ${PORT_OPTIONS:MDOCS}
BUILD_DEPENDS+=	xsltproc:textproc/libxslt \
		${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl
CONFIGURE_ENV+=	XSLTPROC="${LOCALBASE}/bin/xsltproc"
CONFIGURE_ARGS+=--with-xsl-stylesheetsdir=${LOCALBASE}/share/xsl/docbook
.else
CONFIGURE_ENV+=	XSLTPROC="${FALSE}"
CONFIGURE_ARGS+=--without-xsl-stylesheetsdir
.endif

post-patch:
.for f in ${PAM_PKCS11_EXAMPLEDOCS}
	@${REINPLACE_CMD} -e 's|/etc/${PORTNAME}|${ETCDIR}|g'		\
		-e 's|file:///etc/${PORTNAME}/|file://${ETCDIR}/|g'	\
		-e 's|/usr/lib|${PREFIX}/lib|g'				\
		-e 's|/usr/share|${PREFIX}/share|g'			\
		${WRKSRC}/${f}
.endfor
	@${REINPLACE_CMD} -e 's|/etc/|${PREFIX}/etc/|g'	\
		${WRKSRC}/doc/pam_pkcs11.8.in

pre-configure:
	@(cd ${WRKSRC} && ./bootstrap)

.include <bsd.port.mk>