I guess ideally it would detect these circular cases and either error or avoid copying build/ into build/ (which is what I think is happening here). MWE:
using BinaryBuilder, Pkg
sources = [DirectorySource("..")]
platforms = supported_platforms()
products = [LibraryProduct("test", :test)]
build_tarballs(ARGS, "foo", v"0.0.1", sources, "", platforms, products, [])
which gets stuck after
[ Info: Building for i686-linux-gnu, x86_64-linux-gnu, aarch64-linux-gnu, armv7l-linux-gnueabihf, powerpc64le-linux-gnu, i686-linux-musl, x86_64-linux-musl, aarch64-linux-musl, armv7l-linux-musleabihf, x86_64-appl
e-darwin, x86_64-unknown-freebsd, i686-w64-mingw32, x86_64-w64-mingw32
[ Info: Directory ".." found