Index: mail/dovecot/Portfile
===================================================================
--- mail/dovecot/Portfile	(revision 24255)
+++ mail/dovecot/Portfile	(working copy)
@@ -20,7 +20,7 @@
 
 master_sites        ${homepage}releases/
 distname            dovecot-${version}
-checksums           rmd160  e750eb726fc7cf04d8dbd97604f01aa5ce4e3d19 \
+checksums           [suffix ${distname}] rmd160  e750eb726fc7cf04d8dbd97604f01aa5ce4e3d19 \
                     sha1    69054e9d3d10425bba5b13d092fa2cfeab382dce \
                     md5     65ccc71e66c495c536d8fb8a7ae39bb3
 
@@ -72,6 +72,31 @@
                 depends_lib-append  port:openldap
 }
 
+variant sieve   {
+    master_sites-append ${master_sites}sieve/
+    set sieve_version   1.0.1
+    set sieve_distname  ${name}-sieve-${sieve_version}
+    set sieve_distfile  [suffix ${sieve_distname}]
+    distfiles-append    ${sieve_distfile}
+    checksums-append    ${sieve_distfile}   rmd160 9b4a2a3be52b6dfcd3164d82a7139b8ab1a820f9 \
+                                            sha1 26d0ae0550c1b2641b7cb369ade132c73fb9362e \
+                                            md5 b070d2177009bb555cd7e25c710047d5
+    post-build      {
+        # port doesn't currently recognise sieve_distname set above, so have to
+        # explicitly name directory
+        system "cd ${workpath}/dovecot-sieve-1.0.1 && \
+            CPPFLAGS=${configure.cppflags} CFLAGS=${configure.cflags} \
+            CXXFLAGS=${configure.cxxflags} LDFLAGS=${configure.ldflags} \
+            ${configure.cmd} ${configure.pre_args} ${configure.args} \
+            --with-dovecot=../${distname} && \
+            ${build.cmd}"
+    }
+    post-destroot   {
+        system "cd ${workpath}/dovecot-sieve-1.0.1 && \
+            ${destroot.cmd} ${destroot.target} ${destroot.destdir}"
+    }
+}
+
 startupitem.create  yes
 startupitem.name    Dovecot
 startupitem.start   ${prefix}/sbin/dovecot

