summaryrefslogtreecommitdiff
path: root/mail/qmail/Makefile
diff options
context:
space:
mode:
authorschmonz <schmonz@pkgsrc.org>2004-08-22 00:10:51 +0000
committerschmonz <schmonz@pkgsrc.org>2004-08-22 00:10:51 +0000
commit63bf0e3cd6f4272ee45ddac8a20213d56680293a (patch)
tree03d2b248d3f63a702190365433367dba92b00c8a /mail/qmail/Makefile
parentfcd65c8b83a38cdbbf992a51cbb0b949a382ccba (diff)
downloadpkgsrc-63bf0e3cd6f4272ee45ddac8a20213d56680293a.tar.gz
Using bsd.options.mk, add several common build-time options. The
complete list: badrcptto bigdns darwin netqmail nullenvsender outgoingip qregex realrcptto smtpauth syncdir tls This obviates the need for a separate netqmail package. As a result, reintegrate Makefile.common into Makefile, and simplify a handful of definitions. If you used the netqmail package, set PKG_OPTIONS.qmail to "netqmail bigdns" to build with the same patches as before. Note that most of these options result in patches being applied, and that any given combination of patches may not apply cleanly. If there's a combination you need that doesn't work, or build options you need that aren't available, let me know. On Darwin, the "darwin" option is set by default, as it's needed in order to build. The patch includes <nameser8_compat.h>, which is present on Panther, but not on older systems. We provide a buildlink stand-in where needed. On Linux, the "netqmail" option is set by default, as with recent glibc it's necessary to #include <errno.h> in order to build. On other platforms, no options are set by default. Bump PKGREVISION.
Diffstat (limited to 'mail/qmail/Makefile')
-rw-r--r--mail/qmail/Makefile138
1 files changed, 123 insertions, 15 deletions
diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile
index a6049bd2b6b..cd1a0932249 100644
--- a/mail/qmail/Makefile
+++ b/mail/qmail/Makefile
@@ -1,25 +1,133 @@
-# $NetBSD: Makefile,v 1.25 2004/08/02 03:57:17 schmonz Exp $
+# $NetBSD: Makefile,v 1.26 2004/08/22 00:10:51 schmonz Exp $
#
-PKGNAME= ${QMAIL_VERS}
-PKGREVISION= 8
-CATEGORIES= mail
+DISTNAME= netqmail-1.05
+PKGNAME= qmail-1.03
+PKGREVISION= 9
+CATEGORIES= mail
+MASTER_SITES= http://qmail.org/
-MAINTAINER= schmonz@NetBSD.org
-HOMEPAGE= http://cr.yp.to/qmail.html
-COMMENT= Secure, reliable, efficient, simple, and fast MTA
+MAINTAINER= schmonz@NetBSD.org
+HOMEPAGE= http://cr.yp.to/qmail.html
+COMMENT= Secure, reliable, efficient, simple, and fast MTA
-CONFLICTS+= netqmail-[0-9]*
+DEPENDS+= checkpassword-[0-9]*:../../sysutils/checkpassword
+DEPENDS+= daemontools-[0-9]*:../../sysutils/daemontools
+DEPENDS+= qmail-users>=1.0:../../mail/qmail-users
+DEPENDS+= ucspi-tcp-[0-9]*:../../net/ucspi-tcp
-USE_BUILDLINK3= yes
+CONFLICTS+= courier-maildirmake-[0-9]*
+CONFLICTS+= mirrordir-[0-9]*
+CONFLICTS+= mutt<=1.4.2.1nb1
+CONFLICTS+= netqmail-[0-9]*
+CONFLICTS+= pulsar<=0.1.1
-RESTRICTED= "modified source and binaries may not be distributed"
-NO_BIN_ON_CDROM=${RESTRICTED}
-NO_BIN_ON_FTP= ${RESTRICTED}
-NO_PACKAGE= "needs work to function properly as a binary package"
+.if defined(PKG_PHASE) && ${PKG_PHASE} == "extract"
+WRKSRC= ${WRKDIR}/${DISTNAME}
+.else
+WRKSRC= ${WRKDIR}/${DISTNAME}/${PKGNAME_NOREV}
+.endif
-APPLY_NETQMAIL= ${DO_NADA}
+PKG_INSTALLATION_TYPES= overwrite pkgviews
-.include "../../mail/qmail/Makefile.common"
+USE_BUILDLINK3= yes
+
+ALL_TARGET= it man
+INSTALL_TARGET= setup check
+
+RESTRICTED= "modified source and binaries may not be distributed"
+NO_BIN_ON_CDROM= ${RESTRICTED}
+NO_BIN_ON_FTP= ${RESTRICTED}
+NO_PACKAGE= "needs work to function properly as a binary package"
+
+USE_PKGINSTALL= yes
+DEINSTALL_EXTRA_TMPL+= ${PKGDIR}/DEINSTALL
+INSTALL_EXTRA_TMPL+= ${PKGDIR}/INSTALL
+MAKE_DIRS+= ${PKG_SYSCONFDIR} ${PKG_SYSCONFDIR}/alias ${EGDIR}/boot
+MAKE_DIRS+= ${PKG_SYSCONFDIR}/control ${DOCDIR}
+MAKE_DIRS+= ${PKG_SYSCONFDIR}/users
+OWN_DIRS+= ${QMAILDIR} ${QMAIL_QUEUE_DIR}
+PKG_SYSCONFSUBDIR= qmail
+
+DOCDIR= ${PREFIX}/share/doc/qmail
+EGDIR= ${PREFIX}/share/examples/qmail
+SHAREDIR= ${PREFIX}/share/qmail
+MESSAGE_SUBST+= DOCDIR=${DOCDIR} EGDIR=${EGDIR}
+FILES_SUBST+= DOCDIR=${DOCDIR} EGDIR=${EGDIR} SHAREDIR=${SHAREDIR}
+FILES_SUBST+= QMAILDIR=${QMAILDIR} QMAIL_QUEUE_DIR=${QMAIL_QUEUE_DIR}
+FILES_SUBST+= QMAIL_QUEUE_EXTRA=${QMAIL_QUEUE_EXTRA}
+FILES_SUBST+= PKGNAME=${PKGNAME}
+
+PLIST_SRC= ${PKGDIR}/PLIST
+
+SETUP_PROGRAMS= dnsfq dnsip dnsptr hostname install ipmeprint
+SETUP_SCRIPTS= config config-fast
+
+MANDIRS= man
+.for i in cat man
+. for j in 1 5 7 8
+MANDIRS+= man/${i}${j}
+. endfor
+.endfor
+INSTALLATION_DIRS= bin ${MANDIRS}
+INSTALLATION_DIRS+= share/doc/qmail share/examples/qmail share/qmail
+
+.include "../../mk/bsd.prefs.mk"
+
+.include "../../mail/qmail/options.mk"
+
+BUILD_DEFS+= QMAILDIR QMAIL_QUEUE_DIR QMAIL_QUEUE_EXTRA
+
+.if !empty(QMAIL_QUEUE_DIR:M${QMAILDIR}/*)
+PKG_FAIL_REASON+= "QMAIL_QUEUE_DIR must not be under ${QMAILDIR}"
+.endif
+
+.if !empty(QMAIL_QUEUE_EXTRA)
+QUEUE_EXTRA= "T${QMAIL_QUEUE_EXTRA}\\0"
+QUEUE_EXTRALEN!= ${EXPR} `${ECHO} ${QUEUE_EXTRA} | ${WC} -c` - 2
+SUBST_CLASSES+= logging
+SUBST_STAGE.logging= do-configure
+SUBST_FILES.logging= extra.h
+SUBST_SED.logging= -e 's|0|${QUEUE_EXTRALEN}|g'
+SUBST_SED.logging+= -e 's|""|${QUEUE_EXTRA}|g'
+SUBST_MESSAGE.logging= "Setting QUEUE_EXTRA."
+.endif
+
+post-extract:
+ ${_PKG_SILENT}${_PKG_DEBUG}extract_file=${PKGNAME_NOREV}.tar.gz;\
+ export extract_file; cd ${WRKSRC}; ${EXTRACT_CMD}
+
+do-configure:
+ ${ECHO} ${CC} ${CFLAGS} > ${WRKSRC}/conf-cc
+ ${ECHO} ${CC} ${_STRIPFLAG_CC} > ${WRKSRC}/conf-ld
+ ${ECHO} ${QMAILDIR} > ${WRKSRC}/conf-qmail
+
+post-build:
+ @${SED} ${FILES_SUBST_SED} ${FILESDIR}/README.pkgsrc \
+ > ${WRKDIR}/README.pkgsrc
+
+post-install:
+ # qmail's installer sets strange permissions; set them back
+. if (${PKG_INSTALLATION_TYPE} == "overwrite")
+. for i in bin boot
+ ${CHGRP} ${BINGRP} ${QMAILDIR}/${i}
+. endfor
+. for i in doc
+ ${CHGRP} ${SHAREGRP} ${QMAILDIR}/${i}
+. endfor
+. for i in ${MANDIRS}
+ ${CHGRP} ${MANGRP} ${QMAILDIR}/${i}
+. endfor
+. endif
+
+ ${INSTALL_DATA} ${WRKDIR}/README.pkgsrc ${DOCDIR}
+
+ ${INSTALL_PROGRAM_DIR} ${SHAREDIR}/setup
+ for i in ${SETUP_PROGRAMS}; do \
+ ${INSTALL_PROGRAM} ${WRKSRC}/$$i ${SHAREDIR}/setup; \
+ done
+ for i in ${SETUP_SCRIPTS}; do \
+ ${INSTALL_SCRIPT} ${WRKSRC}/$$i ${SHAREDIR}/setup; \
+ done
.include "../../mk/bsd.pkg.mk"