[racket] collection installer that does raco link

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Nov 19 07:52:20 EST 2013

I would say that there's no good way for a PLaneT package to make
itself a collection. Instead, the new package system is the right way
to add a collection.

If you need to link a package as a collection (perhaps for a version of
Racket that pre-dates the package system), using `link` as you suggest
might work. I think `raco setup` is likely to get confused about
modules that are reachable by both `planet` and `lib` paths, and
probably several other things will go slightly wrong, but I don't have
a better suggestion.

At Mon, 18 Nov 2013 23:58:54 -0500, Neil Van Dyke wrote:
> If I want to have a PLaneT package "foo" that sets up a "#lang foo" to 
> refer to itself, is the following the right way to do the "raco link"?
> 
> * Have the "info.rkt" "post-install-collection" use procedure "links" 
> from module "setup/link", using "this-expression-source-directory" to 
> figure out the right install-time path.
> 
> (BTW, I considered additionally setting "info.rkt" "can-be-loaded-with" 
> to "'none", since, unlike reusable libraries, only one version of this 
> language is needed per Racket installation.  But I'm thinking that 
> setting "can-be-loaded-with" to "'all", and having a 
> last-installed-version-wins-the-raco-link policy, would make version 
> updates more resilient.  However, if the package someday also provides a 
> DrRacket extension, multiple versions could be a problem for that, IIRC.)
> 
> Neil V.
> 
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users

Posted on the users mailing list.