# $Id$ PortSystem 1.0 name postfix version 2.6.2 categories mail maintainers nomaintainer 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 1f0edbd521d2b0473626f4d61e8bb4eb \ sha1 a3b349df60bca947f3b94ff484b699d176777b4a \ rmd160 a86c829c3c17746986a0ea013674b6bec49d74ea 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 reinplace "s|ls |/bin/ls |g" \ ${worksrcpath}/conf/postfix-script # 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 8 { global pf_mail_owner global pf_setgid_group set pf_mail_owner "postfix" set pf_setgid_group "postdrop" } platform darwin 10 { patchfiles-append nameser8_compat.diff set AUXLIBS [concat ${AUXLIBS} -lresolv] } configure { system "cd ${worksrcpath} && 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 } pre-install { system "chown ${pf_mail_owner} ${destroot}${prefix}/var/spool/postfix/public/.turd_postfix" } 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: sudo launchctl unload -w /System/Library/LaunchDaemons/org.postfix.master.plist \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 support 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 path:bin/mysql_config5:mysql5 set CCARGS [concat ${CCARGS} -DHAS_MYSQL -I${prefix}/include/mysql5/mysql] set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib/mysql5/mysql -lmysqlclient -lz -lm] } variant postgresql83 description "add postgresql support via postgresql83" { depends_lib-append port:postgresql83 set CCARGS [concat ${CCARGS} -DHAS_PGSQL -I${prefix}/include/postgresql83] set AUXLIBS [concat ${AUXLIBS} -L${prefix}/lib/postgresql83 -lpq] } variant dovecot_sasl description "add Dovecot SASL support " { set CCARGS [concat ${CCARGS} -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\\\\"dovecot\\\\\\"] }