make a tarball (.tar.gz is easiest with the ports system, otherwise you must set EXTRACT_SUFX in the port's Makefile) and make it available on an ftp or http server somewhere.
One thing I've done with several as-yet-uncommitted ports: do-fetch does an svn export, but with a given revision number, so I can be sure that patches apply. This works nicely and has the benefit :-) of placing the server load on the project that is unwilling to provide a tarball. Of course I only do this after politely requesting that they build a tarball, and explaining why it is in everybody's interest that they do so. The only downside is that you don't benefit from tarball mirroring, so if their server gets hosed (or hammered by too many people building the port at the same time) you can lose. So one could argue that hosting your own tarball is better, if you have a high-bandwidth server.
