Subject: Re: bug#22100: 'font-alias' breaks other xorg font packages when installed in a single profile

From: Eric Bavier <[email-masked]>
Date: Fri, 11 Dec 2015 20:06:27 -0600

On Wed, 09 Dec 2015 15:05:28 +0100
[email-masked] (Ludovic Courtès) wrote:

> Alex Kost <[email-masked]> skribis:
> 
> > I install several xorg font packages (font-adobe75dpi, font-adobe100dpi,
> > font-misc-misc and font-alias) in one of my profiles, and point my Xorg
> > font path to this directory.  Previously it worked fine, but after
> > commit bf9655f¹, I cannot use this anymore, because the empty
> > "fonts.dir" files from 'font-alias' packages override the proper
> > "fonts.dir" files from the other packages.  
> 
> D’oh!

Oops indeed.

> > So since it was a workaround for Xorg server behaviour, I wonder would
> > it be possible to modify 'xorg-server' package instead?  So that along
> > with directories with "fonts.dir" files, Xorg server would also handle
> > directories that have "fonts.alias" files.  
> 
> It seems we need something along these lines, indeed.

That may help in the specific case of the font-alias package.  It would
not help in the long run however.  We currently have a rather
limited number of X11 fonts in Guix, just the adobe fonts to be
precise.  We'll run into the same 'fonts.dir' collision issues once
other X11 fonts are packaged and installed in a profile alongside other
fonts.

E.g. installing font-adobe75dpi and a future font-bitstream75dpi would
produce a collision on the fonts.dir files from each package, and
ultimately only one of the fonts would be available to the user.

Since xorg-server lacks AFAIK any environment variables to set the font
path we cannot consider moving fonts to namespaced directories.
Instead, we might want to consider ignoring fonts.dir files from the
union build if possible and then running mkfontsdir at profile creation
time.

`~Eric