diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-03-20 15:27:44 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-03-20 15:27:44 +0100 |
commit | e71ef7adaece7e132a5059139122b45083ea1b39 (patch) | |
tree | 24805ba5c5dba0837e421f4d265ddf55a2b74239 | |
parent | 0bd3597bbe0acb901f63ef386489eebb8e177c1c (diff) | |
download | gnu-guix-e71ef7adaece7e132a5059139122b45083ea1b39.tar gnu-guix-e71ef7adaece7e132a5059139122b45083ea1b39.tar.gz |
system: Make sure fonts are searched for in the system profile.
This fixes a bug whereby fonts in /run/current-system/profile would be
invisible to Fontconfig.
* gnu/packages/fontutils.scm (fontconfig): Add comment about system
profile not being searched.
* gnu/system/shadow.scm (default-skeletons)[fonts.conf-content,
fonts.conf]: New variable.
Add FONTS.CONF to the skeletons.
-rw-r--r-- | gnu/packages/fontutils.scm | 4 | ||||
-rw-r--r-- | gnu/system/shadow.scm | 23 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 01a0ee7c36..7e3f293817 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -94,8 +94,12 @@ anti-aliased glyph bitmap generation with 256 gray levels.") (string-append "--with-default-fonts=" (assoc-ref %build-inputs "gs-fonts") "/share/fonts") + ;; register fonts from user profile + ;; TODO: Add /run/current-system/profile/share/fonts and remove + ;; the skeleton that works around it from 'default-skeletons'. "--with-add-fonts=~/.guix-profile/share/fonts" + ;; python is not actually needed "PYTHON=false") #:phases diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 6e62aeee57..a13ef1192c 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -131,6 +131,12 @@ (define (default-skeletons) "Return the default skeleton files for /etc/skel. These files are copied by 'useradd' in the home directory of newly created user accounts." + (define fonts.conf-content + ;; SXML for ~/.config/fontconfig/fonts.conf. This works around the fact + ;; that Fontconfig currently does not such this directory by default, + ;; thereby ignoring fonts installed system-wide (FIXME). + `(fontconfig (dir "/run/current-system/profile/share/fonts"))) + (define copy-guile-wm #~(begin (use-modules (guix build utils)) @@ -174,6 +180,22 @@ source /etc/profile\n")) (xdefaults (plain-file "Xdefaults" "\ XTerm*utf8: always XTerm*metaSendsEscape: true\n")) + (fonts.conf (computed-file + "fonts.conf" + #~(begin + (use-modules (guix build utils) + (sxml simple)) + + (define dir + (string-append #$output + "/fontconfig")) + + (mkdir-p dir) + (call-with-output-file (string-append dir + "/fonts.conf") + (lambda (port) + (sxml->xml '#$fonts.conf-content port)))) + #:modules '((guix build utils)))) (gdbinit (plain-file "gdbinit" "\ # Tell GDB where to look for separate debugging files. set debug-file-directory ~/.guix-profile/lib/debug\n"))) @@ -182,6 +204,7 @@ set debug-file-directory ~/.guix-profile/lib/debug\n"))) (".zlogin" ,zlogin) (".Xdefaults" ,xdefaults) (".guile-wm" ,guile-wm) + (".config" ,fonts.conf) (".gdbinit" ,gdbinit)))) (define (skeleton-directory skeletons) |