Build from source idempotence. Closes #7