How to avoid all packages when building from source?

25 views
Skip to first unread message

zeRusski

unread,
May 8, 2020, 6:10:50 AM5/8/20
to Racket Users
I just rebuilt Racket from git repo checkout. It takes a while but most of that time is spent in `raco setup` which appears to be building all packages in existence. E.g. games, redex-examples, realm of Racket chapter 6 (really?), plai, algol, etc. Why do I end up with the entire jungle? Is there a way to avoid all these packages? Is there a way to figure where these dependencies are coming from?

Thanks!

Sam Tobin-Hochstadt

unread,
May 8, 2020, 7:55:23 AM5/8/20
to zeRusski, Racket Users
The default build installs "main-distribution", which is the same as what you get for a regular (not minimal) Racket install. It does, as you noticed, install a lot of packages. 

You can do "make base" instead, which installs no packages. Or you can do something like 'make PKGS=drracket' which just installs DrRacket and dependencies, or similar with other packages. 

Note that rerunning "make base" will make all your packages disappear if you install them after running make base the first time. 

Sam

On Fri, May 8, 2020, 6:10 AM zeRusski <vladile...@gmail.com> wrote:
I just rebuilt Racket from git repo checkout. It takes a while but most of that time is spent in `raco setup` which appears to be building all packages in existence. E.g. games, redex-examples, realm of Racket chapter 6 (really?), plai, algol, etc. Why do I end up with the entire jungle? Is there a way to avoid all these packages? Is there a way to figure where these dependencies are coming from?

Thanks!

--
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...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/869f4d10-eb3a-42c1-a239-d71cdbc10092%40googlegroups.com.

zeRusski

unread,
May 8, 2020, 10:11:45 AM5/8/20
to Racket Users

You can do "make base" instead, which installs no packages. Or you can do something like 'make PKGS=drracket' which just installs DrRacket and dependencies, or similar with other packages. 

I am installing in-place but racket cs, not racket bc, so IIUC `make base` isn't what I want. PKGS confuses me a bit at least having read both the build.md notes and your comment. From the build notes I understand it controls what gets build (or linked in place) that's already in racket/pkgs dir - that would be the packages that are being developed alongside racket in the same repository. But then the notes say that PKGS defaults to the main-distribution like you said and apparently that brings in stuff beyond the racket/pkgs dir. I guess I can run with PKGS="" and see if indeed the racket/pkgs are still being built and linked, cause I really want them to. They are the ones I'd consider base.

Sam Tobin-Hochstadt

unread,
May 8, 2020, 10:23:20 AM5/8/20
to zeRusski, Racket Users
For Racket CS, you'd want `make cs` or `make cs-base`.

`PKGS` is what gets built. The `racket/pkgs` directory is packages
that are part of the `racket/racket` repository; it includes things
like tests, the guide and reference, and a few other packages that
make sense to develop in the same repository as the core libraries and
runtime. Mostly that's an implementation detail. Note that some of
those packages (like `racket-doc`) depend on packages not in that
directory (like `scribble-lib`).

Sam


On Fri, May 8, 2020 at 10:11 AM zeRusski <vladile...@gmail.com> wrote:
>
>
>> You can do "make base" instead, which installs no packages. Or you can do something like 'make PKGS=drracket' which just installs DrRacket and dependencies, or similar with other packages.
>
>
> I am installing in-place but racket cs, not racket bc, so IIUC `make base` isn't what I want. PKGS confuses me a bit at least having read both the build.md notes and your comment. From the build notes I understand it controls what gets build (or linked in place) that's already in racket/pkgs dir - that would be the packages that are being developed alongside racket in the same repository. But then the notes say that PKGS defaults to the main-distribution like you said and apparently that brings in stuff beyond the racket/pkgs dir. I guess I can run with PKGS="" and see if indeed the racket/pkgs are still being built and linked, cause I really want them to. They are the ones I'd consider base.
>
> --
> 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...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/ca77a5fd-2718-4b11-9cb8-6ed00f719d2c%40googlegroups.com.

Juan Francisco Cantero Hurtado

unread,
May 9, 2020, 1:26:58 PM5/9/20
to racket...@googlegroups.com
Use the snapshots from https://snapshot.racket-lang.org/. With that
snapshots, you only need to build the interpreter.


--
Juan Francisco Cantero Hurtado http://juanfra.info

Reply all
Reply to author
Forward
0 new messages