I don't get it. What's wrong with "sudo port install gcc46 ruby19 ruby186"?
edit: apparently it's not self-compiling, at least not in the way I was thinking.
Obvious question: how did the first C compiler exist, then? Answer: it was implemented in assembly. And the first assembler was written in machine code.
Anyway, writing a C-- compiler in x86 ASM isn't really that bad. It'd probably be even easier to run the compiler in an interpreter.