# $Id: Portfile 37339 2008-06-03 19:55:43Z markd@macports.org $ PortSystem 1.0 name postfix version 2.5.2 categories mail maintainers wms openmaintainer description Fast and robust mail transfer agent long_description Postfix attempts to be fast, easy to administer, and \ secure, while at the same time being \ sendmail-compatible enough to not upset existing \ users. It also offers QMQP and VERP support to let \ Postfix act as delivery daemon for ezmlm-idx. homepage http://www.postfix.org/ platforms darwin checksums md5 b0965aea4d548d9bd231af7143aa6942 \ sha1 6589c590b2e2a955bce5615bde1a86c37c572ce0 master_sites http://www.swissrave.ch/mirror/postfix-source/official/ \ ftp://ftp.its.cz/MIRRORS/ftp.porcupine.org/mirrors/postfix-release/official/ \ ftp://ftp.club-internet.fr/pub/mirrors/ftp.porcupine.org/postfix-release/official/ patchfiles patch-sys_defs.h patch-mail_params.h patch-postfix-install post-patch { eval reinplace "s|/etc/|${prefix}/etc/|g" \ [glob ${worksrcpath}/man/man1/*] \ [glob ${worksrcpath}/man/man5/*] \ [glob ${worksrcpath}/man/man8/*] reinplace "s|__PREFIX|${prefix}|g" ${worksrcpath}/src/util/sys_defs.h reinplace "s|__PREFIX|${prefix}|g" ${worksrcpath}/src/global/mail_params.h # Set main.cf default values reinplace "s|#default_privs|default_privs|g" \ ${worksrcpath}/conf/main.cf reinplace "s|/etc/postfix/network_table|${prefix}/etc/postfix/network_table|g" \ ${worksrcpath}/conf/main.cf reinplace "s|/etc/postfix/relay_recipients|${prefix}/etc/postfix_relay_recipients|g" \ ${worksrcpath}/conf/main.cf reinplace "s|/etc/postfix/header_checks|${prefix}/etc/postfix/header_checks|g" \ ${worksrcpath}/conf/main.cf reinplace "s|PATH=/bin:/usr/bin|PATH=${prefix}/bin:/bin:/usr/bin|g" \ ${worksrcpath}/conf/main.cf } set CCARGS -DNO_PCRE set AUXLIBS "-L${prefix}/lib -R${prefix}/lib -L${prefix}/lib" set pf_mail_owner "postfix" set pf_setgid_group "postdrop" # Beginning with Mac OS X 10.5, the user 'postfix' changed to '_postfix' platform darwin 9 { global pf_mail_owner global pf_setgid_group set pf_mail_owner "_postfix" set pf_setgid_group "_postdrop" } configure { system "make makefiles CCARGS=\"${CCARGS}\" AUXLIBS=\"${AUXLIBS}\"" } build.target startupitem.create yes startupitem.start "${prefix}/sbin/${name} start" startupitem.stop "${prefix}/sbin/${name} stop" destroot { destroot.keepdirs ${destroot}${prefix}/var/spool/postfix/public \ ${destroot}${prefix}/var/spool/postfix/maildrop \ ${destroot}${prefix}/var/lib/postfix system "cd ${worksrcpath} && /bin/sh postfix-install -non-interactive \ install_root=${destroot} \ config_directory=${prefix}/etc/postfix \ queue_directory=${prefix}/var/spool/postfix \ command_directory=${prefix}/sbin \ daemon_directory=${prefix}/libexec/postfix \ data_directory=${prefix}/var/lib/postfix \ sendmail_path=${prefix}/sbin/sendmail \ newaliases_path=${prefix}/bin/newaliases \ mailq_path=${prefix}/bin/mailq \ etc_directory=${prefix}/etc/postfix \ share_directory=${prefix}/share/postfix \ manpage_directory=${prefix}/share/man \ sample_directory=${prefix}/share/postfix/sample \ readme_directory=${prefix}/share/postfix/readme \ mail_owner=${pf_mail_owner} \ setgid_group=${pf_setgid_group}" # This makes sure we don't overwrite user /etc files. This now breaks postfix # "just working" on fresh installs. # YOU MUST MOVE THE SAMPLE FILES TO THE CORRECT NAMESPACE. # XXX unsure if this still an issue 07/07/05 yeled@ file rename ${destroot}${prefix}/etc/postfix/main.cf \ ${destroot}${prefix}/etc/postfix/main.cf.sample file rename ${destroot}${prefix}/etc/postfix/master.cf \ ${destroot}${prefix}/etc/postfix/master.cf.sample file rename ${destroot}${prefix}/etc/postfix/aliases \ ${destroot}${prefix}/etc/postfix/aliases.sample } post-install { # Tell the user about renaming the sample configuration files. ui_msg "\n To get postfix working, you need to copy the sample configuration files and edit them (${prefix}/etc/postfix/*.sample). You may also want to turn off Apple's built-in MTA. For example, on 10.4: -Delete or rename /System/Library/LaunchDaemons/org.postfix.master.plist -Replace the built-in sendmail file with a symlink to MacPorts' own: sudo mv /usr/sbin/sendmail /usr/sbin/sendmail.org ln -s ${prefix}/sbin/sendmail /usr/sbin/sendmail NOTE: Apple OS updates could upgrade the built-in Postfix and overwrite the symlink, so the symlink mught have to be recreated. \n" } variant pcre description "add pcre support" { set CCARGS [ldelete ${CCARGS} -DNO_PCRE] set CCARGS [concat ${CCARGS} -DHAS_PCRE -I${prefix}/include] set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib -lpcre] depends_lib-append port:pcre } variant tls description "add tls supporti via openssl" { depends_lib-append port:openssl set CCARGS [concat ${CCARGS} -DUSE_TLS -DHAS_SSL -I${prefix}/include] set AUXLIBS [concat ${AUXLIBS} -lssl -lcrypto] } variant sasl description "add sasl support via cyrus-sasl2" { depends_lib-append port:cyrus-sasl2 set CCARGS [concat ${CCARGS} -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I${prefix}/include/sasl] set AUXLIBS [concat ${AUXLIBS} -lsasl2] } variant ldap description "add ldap support via openldap" { depends_lib-append port:openldap set CCARGS [concat ${CCARGS} -DHAS_LDAP] set AUXLIBS [concat ${AUXLIBS} -lldap -llber] } variant mysql5 description "add mysql support via mysql5" { depends_lib-append port:mysql5 set CCARGS [concat ${CCARGS} -DHAS_MYSQL -I${prefix}/include/mysql5/mysql] set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib/mysql5/mysql -lmysqlclient -lz -lm] }