aboutsummaryrefslogtreecommitdiff
path: root/mail/meta1/Makefile
blob: 71bf4624889042ab764439b44167e4124923511d (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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
PORTNAME=	meta1
PORTVERSION=	1.1.0a.18.0
PORTREVISION=	0
CATEGORIES=	mail
MASTER_SITES=	http://www.MeTA1.org/download/.alpha/cloop/
DISTNAME=	${PORTNAME}-1.1.Alpha18.0

MAINTAINER=	dinoex@FreeBSD.org
COMMENT=	Secure and efficient mail gateway

LICENSE=	BSD4CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

MAKE_JOBS_UNSAFE=	yes
CONFLICTS=	smx
MANUAL_PACKAGE_BUILD=	needs hostname

.if !defined(SENDMAIL_WITHOUT_SHMEM) && !defined(BUILDING_INDEX)
IPCCHECK!=	ipcrm -q 0 2>&1 || true
.if ${IPCCHECK:Mimplemented}
IGNORE=		your system does not support sysvipc
.endif
.endif

USES=	libtool
GNU_CONFIGURE=	yes
CONFIGURE_ARGS+=	--disable-dependency-tracking
CPPFLAGS+=	-DMTA_NETINET6
MAKE_ENV+=	META1CONFDIR="${META1CONFDIR}"
PORTDOCS=	README.dvi README.html README.pdf README.ps README.txt \
		img1.png img2.png img3.png img4.png img5.png img6.png \
		nx_grp_g.png overview1.eps overview1.gif overview1.pdf \
		prev_g.png up_g.png pmilter.api.tex
PLIST_SUB+=	NOLOGIN=${NOLOGIN_CMD}
EXTRA_SBIN=	libcheck/noroot libconf/tree libmta/statit \
		libmta/t-hostname checks/t-getgroup
GROUPS=		meta1s meta1q meta1c meta1m meta1
USERS=		meta1s meta1q meta1c meta1m meta1

# default config:
META1CONFDIR?=	${PREFIX}/etc/meta1
NOLOGIN_CMD?=	/usr/sbin/nologin

OPTIONS_DEFINE=	IPV6 PMILTER DKIM MSP SASL2 SASL2AUTHD TLS DOCS
OPTIONS_DEFAULT=	PMILTER DKIM SASL2 TLS
NO_OPTIONS_SORT=yes
OPTIONS_SUB=	yes

PMILTER_DESC=	Adds policy milter support
DKIM_DESC=	Enable DKIM signing support
MSP_DESC=	Enable mail submision program
SASL2_DESC=	Adds SASL2 support
SASL2AUTHD_DESC=	Enable plaintext authentication via SASL2

PMILTER_USES=		ssl
PMILTER_CONFIGURE_ENABLE=	pmilter
DKIM_CONFIGURE_ENABLE=	DKIM
MSP_CONFIGURE_ENABLE=	msp
SASL2_LIB_DEPENDS=	libsasl2.so:security/cyrus-sasl2
SASL2_CONFIGURE_ENABLE=	SASL
SASL2_CONFIGURE_ON=	--with-sasl-incdir=${LOCALBASE}/include \
			--with-sasl-libdir=${LOCALBASE}/lib
SASL2AUTHD_RUN_DEPENDS=	saslauthd:security/cyrus-sasl2-saslauthd
TLS_USES=		ssl
TLS_CONFIGURE_ENABLE=	TLS
TLS_CPPFLAGS=		-I${LOCALBASE}/include
TLS_LDFLAGS=		-L${LOCALBASE}/lib

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MIPV6}
MAKE_ENV+=	MTA_NETINET6=1
.endif

.if ${PORT_OPTIONS:MMSP}
CONFLICTS+=	courier-0.* postfix-1.* postfix-2.* smail-3.* zmailer-2.* opensmtpd-* sendmail-*
.endif

.if ${PORT_OPTIONS:MSASL2AUTHD}
.if empty(PORT_OPTIONS:MSASL2)
IGNORE=		option SASL2AUTHD needs option SASL2
.endif
.endif

post-configure:
	@${CP} ${WRKSRC}/misc/sm.check.sh \
		${WRKSRC}/misc/sm.setup.sh \
		${WRKDIR}/
	@${REINPLACE_CMD} -e 's|/etc/meta1|${META1CONFDIR}|g' \
		-e 's|$${SD}/misc|${PREFIX}/bin|' \
		-e 's|$${SD}/libcheck|${PREFIX}/sbin|' \
		-e 's|$${SD}/libmta|${PREFIX}/sbin|' \
		-e 's|$${SD}/checks|${PREFIX}/sbin|' \
		${WRKDIR}/sm.check.sh
	@${REINPLACE_CMD} -e 's|/etc/meta1|${META1CONFDIR}|g' \
		-e 's|$${S}/misc|${PREFIX}/bin|' \
		-e 's|$${S}/libconf|${PREFIX}/sbin|' \
		-e 's|$${S}/libmta|${PREFIX}/sbin|' \
		-e 's|$${S}/checks|${PREFIX}/sbin|' \
		-e 's|=mcp.sh|=${PREFIX}/etc/rc.d/meta1-mcp.sh|' \
		${WRKDIR}/sm.setup.sh
	@${REINPLACE_CMD} -e "/install-data-hook/d" ${WRKSRC}/Makefile.in
	@${REINPLACE_CMD} -e 's|^TESTS =.*|TESTS = $$(TESTP)|' \
		${WRKSRC}/libdkim/Makefile.in
	${CP} ${WRKSRC}/libdns/common.sh ${WRKSRC}/

test:	build
	(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \
		${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} check)

post-install:
	${INSTALL_SCRIPT} ${WRKDIR}/sm.check.sh ${STAGEDIR}${PREFIX}/sbin/
	${INSTALL_SCRIPT} ${WRKDIR}/sm.setup.sh ${STAGEDIR}${PREFIX}/sbin/
.for i in ${EXTRA_SBIN}
	${INSTALL_PROGRAM} ${WRKSRC}/${i} ${STAGEDIR}${PREFIX}/sbin/
.endfor
.if ${PORT_OPTIONS:MDOCS}
	${MKDIR} ${STAGEDIR}${DOCSDIR}
	cd ${WRKSRC}/doc && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/
.endif

.include <bsd.port.mk>