I've been working on a service that builds all packages listed at "pkgs.racket-lang.org". The idea is to run builds regularly (at least once a day) and link to documentation and build-status information from "pkgs.racket-lang.org".
Here's a table showing the current results for each package: http://www.cs.utah.edu/~mflatt/tmp/pkg-build/ Overall, there's still some work to do before this service can can go live, but I think it's getting close. Currently, a package fails to install if it depends on a PLaneT package --- even a compatibility variant from "planet-compats.racket-lang.org". That limitation could be removed with more work, but I think it's probably better to get all packages that we care about onto "pkgs.racket-lang.org". The rightmost column of the table may need some explanation. The column highlights conflicts among names of package-installed executables, foreign libraries, and documents. Currently, all the conflicts are document names, because several packages have a documents named simply "manual" or "main". Overlapping documentation names cause no trouble among packages in user scope, which is why this problem has gone mostly unnoticed. Packages in installation scope, however, must have distinct document names, because installation-scope documentation goes to a single directory. So, to support installation scope, various packages need to be updated to give a more specific name to generated documentation. The implementation of the build service is `meta/pkg-build/main` in the Racket repo. The build service relies on VirtualBox MV instances to sandbox package builds, and the complexity is related to handling failure and making the build incremental (so that a small amount of work can be done if a small number of packages need to be rebuilt). It's still a work in progress, but I'm happy to provide more details if anyone wants to try it out. A full package build takes about an hour on my laptop, in addition to the 45 minutes or so to build a snapshot distribution from scratch. _________________________ Racket Developers list: http://lists.racket-lang.org/dev