I am just putting together some final touches, so that when people try this they have a good experience, with as much as possible, no pitfalls.
I know gcc7 builds on this system, and for many years, libgcc7 was the basic gcc library for the newer gcc ports on MacPorts. I changed that, ironically, a couple of months ago to libgcc11, and so now I have to make libgcc11 work on a PPC SnowLeopard system that bootstraps without clang. Or I can consider rolling it back to libgcc7 for this system, but if I do that, the divergence between this and MacPorts grows, which is always a cause for trouble. So currently getting to bootstrap to libgcc11 if I can is the plan.
It will never be perfect, of course. So far my "tweak rate" to install ports on PPC SnowLeopard is about 25% of ports need something. The tweaks are all reasonably minor to me, but may not be so obvious to someone who has not spent the many years fixing non-building ports on MacPorts that I have. ld64-127 had an interesting issue with missing symbols in the older libSystem.B.dylib, that was in the end a simple one-digit change, easy enough once you know just what digit needs changing.
I'll focus on the toolchain at the beginning, so people don't build broken infrastructure off the bat.
There will always be a portfile overlay needed to make this work, as few of the PPC SnowLeopard fixes would ever be appropriate to upstream to MacPorts. If a portfile overlay is too overwhelming for someone to consider, then I would say this project is likely over the head of such a user.
You know, it might be a bit easier for the community in general if you just walked us through, step by step, what you did.
Doing so extends a gesture of overall good will, and it also makes you a good teacher along the way. There’s no need to make this more arcane than it needs to be, nor is it going to be terribly productive to pre-judge the aptitude of members who’ve been on here and sharing their knowledge as they also come here to learn more.
Transparency and clarity, not opacity, wins the day for all.