I've written and use a `find-executable-path*` inspired by Emacs'
`exec-path-from-shell` (which I'm pretty sure I learned about from Greg on
this list) that gives the same API as `find-executable-path`, but with a
special case for Mac OS:
https://docs.racket-lang.org/adjutor/Experimental.html#%28part._.Extensions_to_find-executable-path%29

I've documented it as "experimental" because I continue to revise the
implementation to be more robust and handle more odd cases, but I rely on
the basic functionality of a `find-executable-path` work-alike that works
for Mac OS GUI apps, and that part isn't going to change.

(Though in this case I think a PR to update the implementation and/or docs
of `setup/setup` to support the full functionality of `raco setup` would be
the best thing to do.)

-Philip


On Sat, Feb 16, 2019 at 10:14 PM Greg Hendershott <greghendersh...@gmail.com>
wrote:

> p.s. If you wanted to do a general thing, for DrRacket, this is what I
> was referring to. The README is probably enough of a hint, you don't
> need to read the Emacs Lisp. :)
>
> https://github.com/purcell/exec-path-from-shell
>
> On Sat, Feb 16, 2019 at 10:07 PM Greg Hendershott
> <greghendersh...@gmail.com> wrote:
> >
> > From unsophisticated searching the source, it looks like the code to
> > implement deps checking is in setup/private/pkg-deps.rkt -- "private"
> > meaning you're not supposed to use it directly.
> >
> > It seems to be called from the `setup-core` function provided by
> > (non-private) setup/setup-core.rkt. That seems to be controlled by a
> > variety of parameters, including `check-dependencies`. You could
> > probably figure out which ones to set, to approximate `raco setup
> > <specific-thing>` as opposed to `raco setup` everything.
> >
> > Or...  system* raco is sounding nicer. But how to find its path.
> >
> > Are you on macOS?  If so, that's probably why raco isn't on the PATH.
> > Every OS has odd things. Windows has it's share. macOS has one, which
> > is that GUI apps' PATH doesn't inherit what you see in bash. (That's
> > why emacs has exec-path-from-shell.)
> >
> > I'd suggest (find-system-path 'exec-file), which would be great in
> > command-line racket. But in DrR that's something like
> > "/Applications/Racket 7.0/DrRacket.app/Contents/MacOS/DrRacket".  Well
> > I suppose you could do something like:
> >
> >    (build-path (find-system-path 'exec-file) 'up 'up 'up 'up "racket"
> > "bin" "raco")
> >
> > On Sat, Feb 16, 2019 at 12:34 AM <jackhfi...@gmail.com> wrote:
> > >
> > > Using setup/setup works partially, but it doesn't seem to support
> package dependency checking (and the #:pkgs keyword argument isn't
> documented). I can't seem to find any programmatic alternative to the
> --check-pkg-deps and --unused-pkg-deps flags.
> > >
> > > On Friday, February 15, 2019 at 8:35:17 PM UTC-8, Matthias Felleisen
> wrote:
> > >>
> > >> See
> https://docs.racket-lang.org/raco/setup-plt-plt.html?q=setup#%28def._%28%28lib._setup%2Fsetup..rkt%29._setup%29%29
> > >>
> > >> (require setup/setup)
> > >>
> > >> I think that’s what you want — Matthias
> > >
> > > --
> > > 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.
> > > For more options, visit https://groups.google.com/d/optout.
>
> --
> 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.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to