The pkg-build library supports building all packages from a given catalog and using a given snapshot (i.e., installer plus snapshot’s packages). The build of each package is isolated through a virtual machine, using either Docker or VirtualBox, and the result is a set of built packages, a set of documentation, and package test results. For example, pkg-build is used to drive https://pkg-build.racket-lang.org/ and generate the content of https://docs.racket-lang.org/.
install without error;
correctly declare its dependencies (but incorrect declaration may work, anyway, if the build order happens to accommodate);
depend on packages that build successfully on their own;
refer only to other packages in the snapshot and catalog (and, in particular, must not use PLaneT packages);
build without special system libraries.