I've put together some docs on creating a standalone Safari 4: http://vasi.dyndns.org:3128/svn/SafariBeta/ . It runs exactly like the beta, only it does not replace the system's WebKit library and does not replace Safari 3. So you can continue to use the old Safari, and your applications will not use the new WebKit (and potentially break because of it).
It also has a tiny patch allowing the use of an auxiliary preferences file. This lets you disable incompatible InputManager hacks for Safari 4 only, while Safari 3 will still use them.
A couple of responses to miscellaneous comments in this thread:
- Following the "Looking for Safari 3" link will just end up overwriting Safari 4 and its WebKit. Congratulations, you've reverted back to where you were before! But you still can't run Safari 3 and Safari 4 side-by-side.
- Seriously, WebKit nightlies include WebKit inside their bundle, and other apps therefore don't see the new WebKit. This works. It is a standard technique on OS X, do not be surprised.
- It is indeed a good thing that the Safari 4 beta upgrades the WebKit library, things really need to be tested before Safari 4 final is released and millions of users have their apps break. However, there's no excuse for Apple not providing a standalone Safari 3 so we can test in both versions. Also, this public beta is quite different from the last semi-private developer release of Safari 4--Apple really should have provided the beta as a dev release first, so folks could fix their WebKit-using apps.
All constants are variables.