Install Old Versions of Ports Using MacPorts

Of course if you are on Leopard, the easiest way is to use Time Machine backups since 
MacPorts really isn't architected very well to support rolling back when a port is broken.
(which happens all too often.  I swear no one tests ports before they release them!!)

From bitshaker.com (down)

I’m setting up a new work machine today and I need to install ruby 1.8.5 on my machine for Rails 
to be happy.  Unfortunately, you can’t do something simple like specifying the version of the port
you want to install unless it’s in a local repository.  Fortunately, my friend Stephen Chu had this
problem about a year ago and has a nice procedure on how to do it. I’m going to update it for 
MacPorts and ruby 1.8.5 here.

1) Find out the svn revision number of the Portfile that has 1.8.5 by looking at: 
	http://trac.macosforge.org/projects/macports/log/trunk/dports/lang/ruby/Portfile 
	In my case it is 21127.  
2) Set up a local port repository. In the file /opt/local/etc/macports/sources.conf, add this line before the rsync line: 
	file:///Users/Shared/dports and create that directory.  
3) Install the port into your local repository.

cd /Users/Shared/dports && svn co --revision 21127 http://svn.macports.org/repository/macports/trunk/dports/lang/ruby/ lang/ruby/

4) Run portindex so that ports now finds your new (old) version of ruby.

portindex /Users/Shared/dports

5) Now you should be able to see ruby @1.8.5-p12 in addition to @1.8.6 by running:

port list

6) Install Ruby

sudo port install ruby @1.8.5-p12

You should be up and running now, so to check, run:

ruby -v

You will see something like this:

ruby 1.8.5 (2006-12-25 patchlevel 12) [i686-darwin8.10.1]