Hi Ricardo,

> ERROR: In procedure open-file:
> ERROR: In procedure open-file: No such file or directory: "fonts.scale"
> builder for `/gnu/store/8j5bll1y0c3zrifrp984gd3gfarf0ra4-fonts-dir.drv' 
> failed with exit code 1
> cannot build derivation 
> `/gnu/store/md131pdqsvxmxna3ndwd5334x6876m54-profile.drv': 1 dependencies 
> couldn't be built
> guix package: error: build failed: build of 
> `/gnu/store/md131pdqsvxmxna3ndwd5334x6876m54-profile.drv' failed
> --8<---------------cut here---------------end--------------->8---
> 
> Could this be because (@@ (guix profiles) fonts-dir-file) first deletes
> the file and then checks if the file is empty?

It removes the fonts.scale, then invokes mkfontscale (which is supposed to 
create fonts.scale) and then it checks whether the fonts.scale is empty (in 
which case i would be unnecessary to store it).

Apparently it can happen that mkfontscale doesn't create a fonts.scale at all - 
maybe when there are no fonts in that directory?

If so, then it might make sense to amend the check at the end to 

                                (when (and (file-exists? fonts-scale-file) 
(empty-file? fonts-scale-file))
                                  (delete-file fonts-scale-file))
                                (when (and (file-exists? fonts-dir-file) 
(empty-file? fonts-dir-file))
                                  (delete-file fonts-dir-file))))

In the interest of defensive programming I think one ought to do that anyway.

Reply via email to