Consider viewing "project" scope as "installation" scope, where an
existing installation becomes a wider scope after "installation". Then,
the exiting configuration and scope machinery will match what you need.

If you take that view, then a project gets its own "etc" where you put
a "config.rktd" to configure the project-as-installation. That
"config.rktd" can point to the original installation as the next layer
for various searches: "collects", "lib", and so on.

You can even set `config-tethered-console-bin-dir` and
`config-tethered-gui-bin-dir` to get project-local `racket`, `raco`,
etc., executables that have the right configuration path built in,
instead of having to use something like environment variables to select
a project's configuration.

At least, that's one of the intentions of the existing layers. I didn't
push it further (e.g., to a `raco` command that would set up a project
in this sense) because there was not demand at the time.

At Thu, 30 Apr 2020 19:10:11 +0000, Sage Gerard wrote:
> Alright, so after thinking about how to improve Racket package management I 
> decided that I want to add project scoping logic to raco pkg install. I'm not 
> sure --scope-dir is enough because the docs say that the installation is 
> apparently checked before the scoped directories, and there are no lock 
> files. 
> Correct me if I'm wrong.
> 
> I've previously made commitments re: a CI dashboard and a syntax highlighter. 
> Those remain, but don't seem to need me right this minute. Meanwhile, this is 
> one of those features that hurts to not have, especially with current 
> limitations in the default package catalog.
> 
> [https://akkuscm.org](https://akkuscm.org/) says it supports plt-r6rs, so I 
> see two paths: Either implement the diff between that and Racket today in 
> Akku, or add just enough of Akku to a raco pkg install --scope project 
> command. I expect both efforts would be painful, but the latter seems better.
> 
> Are there any landmines are in the raco pkg install code that I need to know 
> about? I'd rather not make a bunch of changes with subtle consequences that 
> I'm not seeing. I'd also like to know who would be the best person to review 
> my proposed changes in this area.
> 
> ~slg
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-dev+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-dev/04pE-yKBt1FzXg9NpgHlRoMEPSp3rIKJMJ
> fzPRd7HBHxyF1gEwxK70y4uFONwvTXUADMdH5_Yz-Xy7fHA7XrbWe6NYYHXvE65gvPZ4H_uNU%3D%40
> sagegerard.com.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/5eab25df.1c69fb81.8f98.25f6SMTPIN_ADDED_MISSING%40gmr-mx.google.com.

Reply via email to