~ruther/guix-local

e71ef7adaece7e132a5059139122b45083ea1b39 — Ludovic Courtès 10 years ago 0bd3597
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.
2 files changed, 27 insertions(+), 0 deletions(-)

M gnu/packages/fontutils.scm
M gnu/system/shadow.scm
M gnu/packages/fontutils.scm => gnu/packages/fontutils.scm +4 -0
@@ 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

M gnu/system/shadow.scm => gnu/system/shadow.scm +23 -0
@@ 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)