Subject: bug#30435: libreoffice: Fonts don't show up after install

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 20 Feb 2023 11:05:27 -0500

Hi Ludovic,

Ludovic Courtès <[email-masked]> writes:

> Hi,
>
> Pierre Neidhardt <[email-masked]> skribis:
>
>> Running
>>
>> fc-cache -fv
>>
>> fixes the issue.
>>
>> Should we run this command in a profile hook?
>
> Profile hooks are normal derivations; as such, they don’t have access to
> anything but their dependencies and their output(s).
>
> There’s currently no infrastructure to run arbitrary code upon package
> installation (which I think is a feature more than a bug :-)).  We could
> make an exception, but it’s kinda ugly.
>
> I wonder if, instead, we could have Fontconfig realize that the cache is
> stale somehow.
>
> Alternately, we could generate the cache in a profile hook and have
> Fontconfig use that cache instead of the one in ~/.cache.  However,
> Fontconfig would need to be able to:
>
>   1. Be told which cache to use, not just the one from ~/.guix-profile,
>      so that it works equally well with other profiles.

That's possible since adding support to XDG_DATA_DIRS in fontconfig
itself (see c738a054cac00441a4f697f0b40705d0b3f4a7a7, "gnu: fontconfig:
Add a search path for XDG_DATA_DIRS.").

>   2. Merge several caches, so it can also account for fonts installed in
>      /run/current-system/profile.

There was also something contributed that should have improved/fix cache
invalidity in 6f12880a76a6c91058718d15845f8b9d9b529a5a ("gnu:
fontconfig: Use (locally) deterministic caching").

I haven't seen this problem in a long while, so I'm inclined to think
it's been resolved.

-- 
Thanks,
Maxim