I've built the new Guile from source a handful of times now. It's definitely a slow process, but I'm very grateful that Guile doesn't require an older version of itself in order to build like a lot of other self-hosted languages. Self-hosting is good, but it's imperative that users can bootstrap on their own so that they don't have to place trust in a pre-built binary of the compiler in order to build the compiler. For example, Go has a self-hosted compiler now, but you don't need to trust a pre-built Go compiler binary to build Go, because you can bootstrap it using gccgo.
I like Chicken Scheme's take on this. Since Chicken's compiler always generates C code, which is then compiled by GCC (or Clang), one just releases both the source and the compiled scheme files(which are C sources).<p>Then, it's just "make" as usual.<p>I've even used this strategy to run a scheme program on iOS, trivially. You just have to ask it to stop at the C code generation and not invoke the C compiler. You then insert both chicken's C code and your program's in the xcode project, and call libchicken's initialization code from Objective-C. And then compile the whole blob with clang.<p>EDIT: :%s/compiled C/compiled scheme/g