summaryrefslogtreecommitdiff
path: root/mail/postfix/Makefile.common
blob: 4ade62d4080533a0a4a2e9c807718ef3076fc649 (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
# $NetBSD: Makefile.common,v 1.16 2018/05/21 14:49:47 taca Exp $
# used by mail/postfix/Makefile
# used by mail/postfix/Makefile.module

DISTNAME=	postfix-3.3.1
CATEGORIES=	mail
MASTER_SITES=	ftp://ftp.porcupine.org/mirrors/postfix-release/official/
MASTER_SITES+=	http://mirrors.isc.org/pub/postfix/official/

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://www.postfix.org/
# The postfix license has only very minor diffs from cpl-1.0.
LICENSE=	cpl-1.0
#LICENSE=	postfix-license

DISTINFO_FILE=	${PKGDIR}/../../mail/postfix/distinfo
PATCHDIR=	${PKGDIR}/../../mail/postfix/patches

CHECK_HEADERS_SKIP+=	src/global/mail_params.h

.include "../../mk/bsd.prefs.mk"

POSTFIX_USER?=		postfix
POSTFIX_GROUP?=		postfix
MAILDROP_GROUP?=	maildrop

# POSTFIX_QUEUE_DIR is the default queue directory for Postfix.  This is
# merely a default, and may be changed by setting "queue_directory" in
# ${PKG_SYSCONFDIR}/main.cf.
#
POSTFIX_DATA_DIR?=	${VARBASE}/db/postfix
POSTFIX_QUEUE_DIR?=	${VARBASE}/spool/postfix
BUILD_DEFS+=		VARBASE POSTFIX_DATA_DIR POSTFIX_QUEUE_DIR

# CCARGS is a list of options to pass to the preprocessor/compiler.
# AUXLIBS is a list of options to pass to the linker.
CCARGS=		#defined
AUXLIBS=	${LDFLAGS}

# Enable Dovecot SASL
CCARGS+=	-DUSE_SASL_AUTH
# Enable Berkeley DB map type. BDB_LIBS is defined in mk/bdb.buildlink3.mk.
CCARGS+=	-DHAS_DB
AUXLIBS+=	${BDB_LIBS}

# Disable modules by default
.for module in cdb ldap lmdb mysql pcre pgsql sqlite
CCARGS+=	-DNO_${module:tu}
.endfor

# Set some default paths to override ${WRKSRC}/src/global/mail_params.h.
CCARGS+=	-DDEF_COMMAND_DIR=\"${PREFIX}/sbin\"
CCARGS+=	-DDEF_CONFIG_DIR=\"${PKG_SYSCONFDIR}\"
CCARGS+=	-DDEF_DAEMON_DIR=\"${LIBEXECDIR}\"
CCARGS+=	-DDEF_DATA_DIR=\"${POSTFIX_DATA_DIR}\"
CCARGS+=	-DDEF_MAILQ_PATH=\"${PREFIX}/bin/mailq\"
CCARGS+=	-DDEF_MANPAGE_DIR=\"${PREFIX}/${PKGMANDIR}\"
CCARGS+=	-DDEF_META_DIR=\"${PREFIX}/${METADIR}\"
CCARGS+=	-DDEF_NEWALIAS_PATH=\"${PREFIX}/bin/newaliases\"
CCARGS+=	-DDEF_QUEUE_DIR=\"${POSTFIX_QUEUE_DIR}\"
CCARGS+=	-DDEF_README_DIR=\"${DOCDIR}\"
CCARGS+=	-DDEF_SAMPLE_DIR=\"${EXAMPLEDIR}\"
CCARGS+=	-DDEF_SENDMAIL_PATH=\"${PREFIX}/sbin/sendmail\"
CCARGS+=	-DDEF_SHLIB_DIR=\"${PREFIX}/${SHLIBDIR}\"

# Override those same default paths in the installed example main.cf.
SUBST_CLASSES+=		postfix
SUBST_STAGE.postfix=	post-configure
SUBST_FILES.postfix=	conf/main.cf src/global/mail_params.h
SUBST_SED.postfix=	\
	-e 's|^\(data_directory\) =.*|\1 = ${POSTFIX_DATA_DIR}|'
SUBST_SED.postfix+=	\
	-e 's|^\(queue_directory\) =.*|\1 = ${POSTFIX_QUEUE_DIR}|'
SUBST_SED.postfix+=	\
	-e 's|^\(command_directory\) =.*|\1 = ${PREFIX}/sbin|'
SUBST_SED.postfix+=	\
	-e 's|^\(daemon_directory\) =.*|\1 = ${LIBEXECDIR}|'
SUBST_SED.postfix+=	\
	-e 's|^\(meta_directory\) =.*|\1 = ${PREFIX}/${METADIR}|'
SUBST_SED.postfix+=	\
	-e 's|^\(shlib_directory\) =.*|\1 = ${PREFIX}/${SHLIBDIR}|'
SUBST_SED.postfix+=	\
	-e 's|^\(sendmail_path\) =.*|\1 = ${PREFIX}/sbin/sendmail|'
SUBST_SED.postfix+=	\
	-e 's|^\(newaliases_path\) =.*|\1 = ${PREFIX}/bin/newaliases|'
SUBST_SED.postfix+=	\
	-e 's|^\(mailq_path\) =.*|\1 = ${PREFIX}/bin/mailq|'
SUBST_SED.postfix+=	\
	-e 's|^\(mail_owner\) =.*|\1 = ${POSTFIX_USER}|'
SUBST_SED.postfix+=	\
	-e 's|^\(setgid_group\) =.*|\1 = ${MAILDROP_GROUP}|'
SUBST_SED.postfix+=	\
	-e 's|^\(manpage_directory\) =.*|\1 = ${PREFIX}/${PKGMANDIR}|'
SUBST_SED.postfix+=	\
	-e 's|^\(sample_directory\) =.*|\1 = ${EXAMPLEDIR}|'
SUBST_SED.postfix+=	\
	-e 's|^\(readme_directory\) =.*|\1 = ${DOCDIR}|'
SUBST_SED.postfix+=	\
	-e '/^\#define DEF_MAIL_OWNER[ 	]/s,postfix,${POSTFIX_USER},g'
SUBST_SED.postfix+=	\
	-e '/^\#define DEF_SGID_GROUP[ 	]/s,postdrop,${MAILDROP_GROUP},g'

PKG_SYSCONFSUBDIR=	postfix
LIBEXECDIR=		${PREFIX}/libexec/postfix
DOCDIR=			${PREFIX}/share/doc/postfix
EXAMPLEDIR=		${PREFIX}/share/examples/postfix
# Not prefixed so that we can use where relative path needed
# METADIR set for postfix-2.6.x compatibility
METADIR=		libexec/postfix
SHLIBDIR=		lib/postfix

BUILD_TARGET=		# empty
MAKE_ENV+=		CC=${CC:Q} OPT=${CFLAGS:Q}
MAKE_ENV+=		AUXLIBS=${AUXLIBS:Q} CCARGS=${CCARGS:Q}

MAKE_ENV+=		DEBUG= # empty

.if ${OPSYS} == "SunOS" && !exists(/usr/include/rpcsvc/nis_cache.h)
CCARGS+=		-DNO_NISPLUS
.endif

CFLAGS.SunOS+=		-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

DESTDIR_INSTALLOPTIONS=-package install_root="${DESTDIR}"

do-configure:
	cd ${WRKSRC} &&							\
	env ${MAKE_ENV} ${MAKE} -f Makefile.init makefiles		\
		'CCARGS=${CCARGS}' 'AUXLIBS=${AUXLIBS}'			\
		shared=yes dynamicmaps=yes

.include "../../mk/bdb.buildlink3.mk"