[racket-dev] Caching rendered icons

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Jan 13 23:22:33 EST 2012

At Fri, 13 Jan 2012 18:01:22 -0500, Eli Barzilay wrote:
> We don't own some of them, 


> and some have no maintainer. 

Let's drop them. While we may lose some testing benefit, it's not worth
trying to create builds for systems that have almost no users.

> The first is
> also an indication of a lost feature: being able to compile racket on
> a typical server and deploy on a desktop.

If Cairo is non-typical for server, then we had that feature only if
you leave out the documentation build, which has required `racket/draw'
for a while now.

I wouldn't leave out the docs, so I don't see us as losing anything ---
only gaining better support for compile-time images.

At Fri, 13 Jan 2012 20:30:54 -0500, Eli Barzilay wrote:
> > Ideally, we would get these servers up to snuff.
> It might be possible, but I don't want to do so for several reasons,
> in increasing order of importance: (1) I don't want to add
> administration of an (ancient) OSX machine to my pile; 

See above (i.e., drop them).

> (2) I don't
> want to put conditions up for people who volunteer servers (I still
> hope to get a *BSD machine at some point, and it's extremely popular
> to find these in a no-gui setup); 

Cairo is not a GUI.

This hasn't already happened, right? I'm skeptical that someone would
be willing to donate *BSD resources and unwilling to install Cairo ---
and even more skeptical that we would want to try to work in those
kinds of constraints.

> (3) most importantly, I imagine that
> such errors would strongly discourage people with such setups from
> using Racket.  The last point was actually relevant for a long time,
> with the GL stuff causing errors -- the answer to that was always
> simple: you won't be able to use only the stuff that depends on GL,
> which is a few games -- but when you deal with "the masses" there is
> no magical collective memory and this came up again and again, and
> people *did* worry about those warnings even when their intention was
> to run a web server.

I don't see how things will be different, given that the build relies
`racket/draw' (i.e., the docs rely on it, and the docs are built by
default, so people will get errors).

Building libraries and setting LD_LIBRARY_PATH is easy. Caching images
or falling back to run-time code is more difficult. Let's do the easy

Posted on the dev mailing list.