That particular run was with this command below. I also tried it with --xctest=1, without --xctest, without --skip-test-swiftpm, etc.
Right now I'm doing a run with just --swiftpm=1 --libicu=1 -R to see if maybe one of the other commands was responsible for SPM needing to build TSC. But it seems like a bug to me that if --xctest=1 or --xctest are specified then, it still can't find Xctest.
PS—I've tried building with the buildbot_linux but it always fails because I haven't specified an installable package path. But I'm not trying to make an installable package so I gave up on that.
You're probably best off using the preset and have it create an installable package, even if you don't use it (or you could just modify utils/build-presets.ini to not create an installable package for that preset, as Ben said).
If you really want to customize your build, your long command above can be minimized down to:
Note that I added --install-xctest as Ben mentioned, without which you won't be able to build SwiftPM. All the --skip-build-* and --skip-test-* flags shouldn't be needed as those aren't built or tested by default. Foundation and libdispatch are implicitly built if XCTest is built.
As I mentioned in your other thread, this install will likely overwrite any libicu, lldb, clang, etc. packages you already have installed in /usr, so you may not want to override destdir if that's the case.