Isso pode ser feito usando um dlagent personalizado. Eu realmente não entendo o empacotamento do Arch ou como os dlagents funcionam, então eu só tenho uma resposta de hackers, mas ele faz o trabalho.
A idéia é modificar o PKGBUILD para usar um agente de download personalizado. Eu modifiquei a fonte
"${pkgname%-git}::git+http://github.com/Itseez/opencv.git"
em
"${pkgname%-git}::mygit://opencv.git"
e, em seguida, definiu um novo dlagent chamado mygit
, que faz um clone superficial. Fiz isso adicionando à matriz DLAGENTS
em /etc/makepkg.conf
o dlagent a seguir:
'mygit::/usr/bin/git clone --depth 1 http://github.com/Itseez/opencv.git'
Meu palpite é que você provavelmente poderia definir esse agente de download em outro lugar, mas eu não sei como. Observe também que o repositório que está sendo clonado é codificado no comando. Novamente, isso provavelmente pode ser evitado. Finalmente, o local de download não é o que o PKGBUILD espera. Para contornar isso, simplesmente movo o repositório depois de baixá-lo. Eu faço isso adicionando
mv "${srcdir}/../mygit:/opencv.git" "${srcdir}/../${pkgname%-git}"
no início da função pkgver
.
Acho que a solução mais limpa seria descobrir o que o git+http
dlagent está fazendo e redefinir isso temporariamente. Isso deve evitar todos os aspectos da solução.