summaryrefslogtreecommitdiff
path: root/mail/meta1/Makefile
blob: 420120f6ad42414a75a9b96fb9aa86a97e5373ad (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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137

PORTNAME=	meta1
PORTVERSION=	1.1.0a.16.0
PORTREVISION=	0
CATEGORIES=	mail
MASTER_SITES=	http://www.MeTA1.org/download/.alpha/noise/
DISTNAME=	${PORTNAME}-1.1.Alpha16.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 BDB PMILTER DKIM MSP SASL2 SASL2AUTHD TLS DOCS
OPTIONS_DEFAULT=	PMILTER DKIM SASL2 TLS
NO_OPTIONS_SORT=yes
OPTIONS_SUB=	yes

BDB_DESC=	External Berkeley DB support
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

BDB_USES=		bdb
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:MBDB}
BROKEN=		port version of Berkeley DB is not compatible
INVALID_BDB_VER=	48 5 6
CONFIGURE_ARGS+=	--disable-included-bdb
CONFIGURE_ARGS+=	--with-bdb-incdir=${BDB_INCLUDE_DIR}
CONFIGURE_ARGS+=	--with-bdb-libdir=${BDB_LIB_DIR}
CONFIGURE_ARGS+=	--with-bdb-lib=${BDB_LIB_NAME}
PLIST_SUB+=	WITH_BDBINT="@comment "
.else
PLIST_SUB+=	WITH_BDBINT=""
.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>