[racket] Non-in-place installs for Racket from git

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sun Mar 16 08:16:59 EDT 2014

At Sun, 16 Mar 2014 01:25:26 -0400, Asumu Takikawa wrote:
> Is there a good way to do non-in-place installs with Racket from git
> When this was brought up previously on the mailing list, it was
> suggested to build a base Racket install and then to use `raco pkg
> install` to install the rest of the main distribution from the network.
> Unfortunately, this isn't a great solution for my use-case: I'm trying
> to automate Racket builds for a VM image with Docker. Downloading all of
> the packages (1) takes a long time, which seems especially wasteful
> since I've already cloned from github, and (2) is more susceptible to
> network failure.

After building a Racket base installation to <dest>, use

 make local-source-catalog RACKET=<dest>/bin/racket

in the repo checkout's top-level directory.

On Mac OS X, use `local-catalog` instead of `local-source-catalog` to
include native-code packages in the catalog.

Then, if your repo checkout is <repo>, use

 <dest>/bin/raco pkg install --catalog file://<repo>/build/local/catalog \
     --auto -i main-distribution

> On a side note, I also got the following error while running
> `raco pkg install -i --auto main-distribution` when compiling the
> collects:
>   [...]
> Could that be due to a dependency issue or something?

That was a failure of the service that pulls individual packages out of
the main git repo, now fixed.

Posted on the users mailing list.