A dependência deve ser incluída no repositório?
Eu acho que as dependências sempre devem ser incluídas no repositório, desde que incluí-las não viole nenhum termo de uso. Poucas coisas são mais irritantes do que ter que encontrar as versões corretas das dependências corretas manualmente antes de poder fazer uma compilação. Claro, isso é fácil quando você tem ferramentas automatizadas para fazer isso por você, que podem encontrar e baixar a dependência certa, mas e se você não estiver conectado à Web no momento ou se o servidor estiver inoperante ou o projeto da dependência foi descontinuado completamente e colocado offline? Sempre inclua as dependências, se possível.
A dependência deve ser criada a partir do mesmo script de compilação que o resto do projeto ou de um script de compilação separado?
A menos que haja um bom motivo para compilar a partir do código-fonte, use versões pré-compiladas.
E por que não fornecer opções no script de construção? Uma opção simples para escolher se as dependências também devem ser compiladas ou não. Se o usuário optar por compilar as dependências também, basta chamar seus próprios scripts de construção a partir do script de construção do seu produto. Assim, o usuário pode chamar os scripts de construção das dependências manualmente ou optar por criar uma construção completa de tudo. Mas eu entregaria as dependências como binários, se não houver um bom motivo para compilá-las a partir das fontes. Acho que no mundo do código aberto, algumas licenças exigem que você distribua as fontes junto com o seu produto, mas isso não significa que você não pode tê-las pré-compiladas.
Em resumo: forneça todo um pacote de trabalho independente, se possível. Isso proporcionará a maior comodidade aos seus usuários.