aboutsummaryrefslogtreecommitdiff
path: root/mail/anubis/Makefile
blob: eaffa85264d2837795e07b0c8d4c942ce7d4f5bb (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
PORTNAME=	anubis
PORTVERSION=	4.2
PORTREVISION=	15
CATEGORIES=	mail
MASTER_SITES=	GNU

MAINTAINER=	jhale@FreeBSD.org
COMMENT=	Outgoing SMTP mail processor
WWW=		https://www.gnu.org/software/anubis/

LICENSE=	GPLv3
LICENSE_FILE=	${WRKSRC}/COPYING

USES=		autoreconf charsetfix cpe localbase makeinfo \
		pkgconfig shebangfix
CHARSETFIX_MAKEFILEIN=	gnulib.mk
CPE_VENDOR=	gnu
SHEBANG_FILES=	contrib/msg2smtp.pl
USE_RC_SUBR=	anubis
GNU_CONFIGURE=	yes

INFO=		anubis
PORTEXAMPLES=	1anubisrc 2anubisrc

OPTIONS_DEFINE=		NLS EXAMPLES EMACS GUILE GNUPG GNUTLS \
			GSASL LIBWRAP PCRE PAM SOCKS TEST
DB_DESC=		Database backend
OPTIONS_GROUP=		DB
OPTIONS_GROUP_DB=	GDBM MYSQL PGSQL
OPTIONS_DEFAULT=	GDBM GNUPG GNUTLS GSASL GUILE
OPTIONS_EXCLUDE_aarch64=TEST
OPTIONS_SUB=		yes
NO_OPTIONS_SORT=	yes

.if !exists(/usr/include/tcpd.h)
OPTIONS_EXCLUDE+=	LIBWRAP
.endif
.if !exists(/usr/lib/libpam.so)
OPTIONS_EXCLUDE+=	PAM
.endif

EMACS_DESC=		Install EMACS lisp files (requires emacs)
EMACS_USES=		emacs:build
EMACS_CONFIGURE_ON=	--with-lispdir=${PREFIX}/${EMACS_SITE_LISPDIR}/anubis
EMACS_CONFIGURE_OFF=	--with-lispdir=no

GDBM_IMPLIES=		GSASL
GDBM_LIB_DEPENDS=	libgdbm.so:databases/gdbm
GDBM_CONFIGURE_WITH=	gdbm

GNUPG_LIB_DEPENDS=	libgpgme.so:security/gpgme \
			libgpg-error.so:security/libgpg-error
GNUPG_CONFIGURE_WITH=	gpgme

GNUTLS_LIB_DEPENDS=	libgnutls.so:security/gnutls \
			libgcrypt.so:security/libgcrypt
GNUTLS_CONFIGURE_WITH=	gnutls

GSASL_DESC=		GSASL support (required for databases)
GSASL_LIB_DEPENDS=	libgsasl.so:security/libgsasl
GSASL_CONFIGURE_WITH=	gsasl

GUILE_LIB_DEPENDS=	libltdl.so:devel/libltdl \
			libguile.so:lang/guile1 \
			libgmp.so:math/gmp
GUILE_CONFIGURE_WITH=	guile
GUILE_PORTEXAMPLES=	anubis.scm anubisrc.guile

LIBWRAP_CONFIGURE_WITH=	tcp-wrappers

MYSQL_IMPLIES=		GSASL
MYSQL_USES=		mysql
MYSQL_CONFIGURE_WITH=	mysql
MYSQL_VARS=		REQUIRE+=mysql

NLS_USES=		gettext iconv
NLS_CONFIGURE_ENABLE=	nls

PAM_CONFIGURE_WITH=	pam
PAM_PORTEXAMPLES=	pam

PCRE_LIB_DEPENDS=	libpcre.so:devel/pcre
PCRE_CONFIGURE_WITH=	pcre

PGSQL_IMPLIES=		GSASL
PGSQL_USES=		pgsql
PGSQL_CONFIGURE_WITH=	postgres
PGSQL_VARS=		REQUIRE+=postgresql

SOCKS_CONFIGURE_WITH=	socks-proxy

.include <bsd.port.options.mk>

# Default requirement for anubis rc script
REQUIRE+=	mail
SUB_LIST+=	REQUIRE="${REQUIRE}"

post-patch:
	@${REINPLACE_CMD} -e "s|/etc|${PREFIX}/etc|g" ${WRKSRC}/src/headers.h
	@${REINPLACE_CMD} -e 's,gdbm_db_,db_gdbm_,g' \
		${WRKSRC}/src/anubisadm.c ${WRKSRC}/src/gdbm.c \
		${WRKSRC}/src/headers.h ${WRKSRC}/src/main.c

post-patch-TEST-off:
	@${REINPLACE_CMD} -e 's| testsuite||' ${WRKSRC}/Makefile.am

post-install-EXAMPLES-on:
	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
	${INSTALL_DATA} ${WRKSRC}/examples/*rc ${STAGEDIR}${EXAMPLESDIR}
.if ${PORT_OPTIONS:MGUILE}
	cd ${WRKSRC}/examples && \
		${INSTALL_DATA} ${GUILE_PORTEXAMPLES} ${STAGEDIR}${EXAMPLESDIR}
.endif
.if ${PORT_OPTIONS:MPAM}
	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/pam
	${INSTALL_DATA} ${WRKSRC}/examples/pam/anubis* ${STAGEDIR}${EXAMPLESDIR}/pam
.endif

.include <bsd.port.mk>