[racket-dev] Splitting the `pkg` implementation

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Thu Jun 27 19:11:42 EDT 2013

On Thu, Jun 27, 2013 at 7:04 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Thu, 27 Jun 2013 18:28:50 -0400, Sam Tobin-Hochstadt wrote:
>> As part of making the "core" of Racket smaller, I'd like to propose
>> separating out part of the package system implementation. In
>> particular, I'd like to make the core portion of the package
>> collection not use the network.
>
> That's a different direction than I had imagined.
>
> I imagine that (in the future) people will clone just the core repo,
> build, and then use `raco pkg install' to install packages from other
> servers --- probably pre-built packages by default, but optionally (and
> more likely for a non-release version) from a source catalog server
> that points to GitHub repositories.
>
> More generally, the network seems to me the main way to get packages.
> The way that our repository's makefile sets up links (and therefore
> doesn't need the network) or otherwise locally constructs packages
> seems in contrast, like a relatively unusual way to install packages.

Ok, that clarifies things for me.  I had imagined that the process
would involve keeping something like the now-current build system
around, but with fewer packages in the default repository, and some
packages referenced via git submodules.

However, I think what you propose sounds simpler and nicer, and it's
definitely worth keeping `net/url` in the core to support that.

I'll pursue the extensibility part separately, but probably not immediately.

Sam

Posted on the dev mailing list.