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 [email protected].
> 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 [email protected].
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