[racket-dev] Racket 6 (git branch release), configure options and dependencies

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Nov 30 22:00:41 EST 2013

At Sun, 01 Dec 2013 03:31:32 +0100, Juan Francisco Cantero Hurtado wrote:
> On 11/25/13 05:10, Juan Francisco Cantero Hurtado wrote:
> > Hi. I'm compiling racket 6 (from the git branch "release") on OpenBSD.
> >
> > The configure script includes the options "enable-gracket" and
> > "enable-docs" but I don't see the gracket binary and the docs installed
> > after the installation. Someone forgot remove the options or these are
> > usefull for something?.
> >
> > Another question. Racket 5.3 needs gtk, cairo, pango, gtkglext and so
> > forth. What are the dependencies of racket core now?.
> >
> Nobody?

Sorry that I missed your message.

These `--enable-docs` and `--enable-gracket` options are not as useful
as before, but I haven't sorted out whether they're completely useless,
and so they're still there. For example, `--disable-gracket` would
avoid building the `gracket` helper executable that goes in "lib" ---
but, then, installing any package with a `gracket`-based executable
won't work right.

The new way to avoid documentation is to just not install any
documentation packages (at the Racket level). Similarly, aside from the
`gracket` helper executable, avoid graphics and GUI dependencies by not
installing graphics and GUI packages (at the Racket level).

> I'm asking because I would like to add support for more OpenBSD 
> platforms to racket. If I could to compile racket without the 
> dependencies, just with a C compiler, it will help me a lot.
> I'm not interested in to give support to the GUI on some platforms 
> because probably nobody will run drracket on a headless computer :) . 
> And probably cairo or gtk will have problems on some old platforms, so 
> the package won't compile because doesn't have the dependencies.
> So, basically I'm asking if racket 6 (and raco pkg) can work correctly 
> without gtk, cairo, pango and others deps. Obviously raco can't generate 
> docs but this isn't important. Any help?.

A minimal Racket build doesn't depend on anything except standard
tools, like `make` and a compiler, although it will use "libiconv" when
available, and it will also use a pre-built "libffi" if available (or
build one, otherwise).

Libraries such as gtk, cairo, and pango are now dependencies of the
"gui" and "draw" packages. (The `gracket` executable that is put in the
"lib" directory doesn't depend on them.)

Documentation builds depend on "libsqlite3".

Posted on the dev mailing list.