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.
