It's not technically ok to shadow a package in installation scope with
one in user scope, at least not if any package in installation scope
depends on the shadowed package. (That's why you have to use `--force`
to shadow in `--user` scope.) With that configuration, when the package
changes in user scope, then the installation-scope build is not
necessarily consistent with the changes. Things might work out anyway;
it depends on the nature of the dependency and the changes.

The right answer may be a tool that starts with an existing
installation and more quickly clone it into another installation in a
user's space, and then a user can work on a package and rebuild
consistently. The configuration points and general tools to manage
packages are all there, but they need to be assembled and made
easy-to-use.

Meanwhile, the current tools are better set up for starting with a
GitHub checkout and building there. In that setting, for example, it's
easier to use `raco pkg update --clone` to get started, as described at

https://docs.racket-lang.org/racket-build-guide/contribute.html#%28part._pkg-contribute%29


Matthew

At Tue, 5 Nov 2019 15:48:41 -0800 (PST), Alex Harsanyi wrote:
> I wrote some notes about how to do something similar, when I worked on the 
> plot package:
> 
>     
> https://alex-hhh.github.io/2018/01/changing-built-in-racket-packages.html
> 
> These instructions will work for the case where Racket is installed 
> globally and your current user does not have permissions to modify any 
> files in this global Racket installation.  They might not be the simplest 
> ones however, as I am not a raco pkg package expert either.
> 
> Hope this helps,
> Alex.
> 
> On Wednesday, November 6, 2019 at 2:18:18 AM UTC+8, Reuben Thomas wrote:
> >
> > I'm trying to make a small improvement to the drracket package, and of 
> > course I'd like to test it!
> >
> > I have racket 7.4 installed on my Ubuntu system from the PPA, so of course 
> > drracket is installed as part of the installation.
> >
> > After reading the "raco pkg" docs, and searching the mailing list, I can't 
> > figure out how to make a user installation of the drracket package so I can 
> > test it. My best attempt so far is something like:
> >
> > raco pkg install ./drracket
> > raco pkg install: package is currently installed in a wider scope
> >   package: drracket
> >   installed scope: installation
> >   given scope: user
> >
> > Of course, I don't want to overwrite the installation's version of 
> > drracket, I just want a user installation that takes precedence.
> >
> > I'm a total newbie with raco, so sorry if I've overlooked something 
> > obvious.
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/3635bd1f-ccde-41eb-b9d4-05cc6c36
> 777b%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/5dc41e2c.1c69fb81.284f6.5313SMTPIN_ADDED_MISSING%40gmr-mx.google.com.

Reply via email to