Subject: Re: bug#30655: xset(1) not accepting symlink to font path

From: Alex Kost <[email-masked]>
Date: Thu, 01 Mar 2018 20:47:02 +0300

Marco van Hulten (2018-02-28 22:54 +0100) wrote:

> Hello,
>
> When I follow the manual at
> https://www.gnu.org/software/guix/manual/html_node/Application-Setup.html#X11-Fonts ,
> I get the message that there is something wrong with the directory I'm
> trying to add it:
>
>
> gast@graviton ~$ xset +fp ~/.guix-profile/share/fonts/truetype
> xset:  bad font path element (#0), possible causes are:
>     Directory does not exist or has wrong permissions
>     Directory missing fonts.dir
>     Incorrect font server address or syntax
> gast@graviton ~$ ls -l ~/.guix-profile/share/fonts/truetype/fonts.dir 
> lrwxrwxrwx 2 root root 84 Jan 1 1970
> /home/gast/.guix-profile/share/fonts/truetype/fonts.dir ->
> /gnu/store/5kp6hj8mk6pgfl4x3cgabl7z379jyyrl-fonts-dir/share/fonts/truetype/fonts.dir
> gast@graviton ~$ xset +fp /gnu/store/5kp6hj8mk6pgfl4x3cgabl7z379jyyrl-fonts-dir/share/fonts/truetype
>
>
> The last command exits with code 0.  Apparently, xset(1) does not want
> me to add symlink(2)s that point to valid directories.

Sounds familiar.  I recall I dealt with this problem some time ago.  In
short, it was introduced by one of the dependencies of X server
(libXfont):

  https://cgit.freedesktop.org/xorg/lib/libXfont/commit/?id=7b377456f95d2ec3ead40f4fb74ea620191f88c8

X server allowed to use symlinks for fonts before that commit,
but not anymore.

I fixed it on my side simply by making 'my-xorg-server' package
that uses a "fixed" version of libxfont (that supports symlinks).

If anyone is interested, I also wrote a descriptive commit message here:

  https://notabug.org/alezost/guix-config/commit/161d5e2e36e53c0d9c46181e10e1595e607748dd

-- 
Alex