Subject: [bug#47623] [PATCH] website: README: Fix build and serve commands

From: Luis Felipe <[email-masked]>
Date: Thu, 13 May 2021 20:43:12 +0000

> No sign of a 'locales' directory here.  The GUIX_LOCPATH variable is/run/current-system/locale on my system.  It only contains the localesdefined in %default-locale-definitions.

In my case (using Guix System),

$ echo $GUIX_LOCPATH
/run/current-system/profile/lib/locale:/run/current-system/locale

Both of which exist. And there is also

$ ls ~/.guix-profile/lib/locales
am.pak          es-419.pak       hu.pak       nb.pak          sw.pak
am.pak.info     es-419.pak.info  hu.pak.info  nb.pak.info     sw.pak.info
ar.pak          es.pak           id.pak       nl.pak          ta.pak
ar.pak.info     es.pak.info      id.pak.info  nl.pak.info     ta.pak.info
bg.pak          et.pak           it.pak       pl.pak          te.pak
bg.pak.info     et.pak.info      it.pak.info  pl.pak.info     te.pak.info
bn.pak          fa.pak           ja.pak       pt-BR.pak       th.pak
bn.pak.info     fa.pak.info      ja.pak.info  pt-BR.pak.info  th.pak.info
ca.pak          fil.pak          kn.pak       pt-PT.pak       tr.pak
ca.pak.info     fil.pak.info     kn.pak.info  pt-PT.pak.info  tr.pak.info
cs.pak          fi.pak           ko.pak       ro.pak          uk.pak
cs.pak.info     fi.pak.info      ko.pak.info  ro.pak.info     uk.pak.info
da.pak          fr.pak           lt.pak       ru.pak          vi.pak
da.pak.info     fr.pak.info      lt.pak.info  ru.pak.info     vi.pak.info
de.pak          gu.pak           lv.pak       sk.pak          zh-CN.pak
de.pak.info     gu.pak.info      lv.pak.info  sk.pak.info     zh-CN.pak.info
el.pak          he.pak           ml.pak       sl.pak          zh-TW.pak
el.pak.info     he.pak.info      ml.pak.info  sl.pak.info     zh-TW.pak.info
en-GB.pak       hi.pak           mr.pak       sr.pak
en-GB.pak.info  hi.pak.info      mr.pak.info  sr.pak.info
en-US.pak       hr.pak           ms.pak       sv.pak
en-US.pak.info  hr.pak.info      ms.pak.info  sv.pak.inf

The "~/.guix-profile/lib/locale" directory does not exist (why can that be?! I don't know...).

So for me, the build command always fails like this:

$ LANG=C GUIX_WEB_SITE_LOCAL=yes guix environment -C -m manifest.scm -E GUIX_LOCPATH -E LANG --share=$HOME/.guix-profile/lib/locale -E GUIX_WEB_SITE_LOCAL  --share=/tmp -- haunt build
guix environment: error: statfs: /home/yo/.guix-profile/lib/locale: No such file or directory

Building it with the command you provided, it fails for the same reason.

Building it changing "$HOME/.guix-profile/lib/locale" to "$HOME/.guix-profile/lib/locales", it builds, but I see what seems to be character enconding issues in the output (some characters are replaced by a question mark). For instance:

copy 'static/base/img/Guix-package.png' ? 'static/base/img/Guix-package.png'

Then, running the serve command fails:

$ guix environment -CN -m manifest.scm -E GUIX_LOCPATH -E LANG --share=$HOME/.guix-profile/lib/locales --share=/tmp -- haunt serve -w
guile: warning: failed to install locale
Backtrace:
           2 (primitive-load "/gnu/store/yzaxlqmiraznba4yf2cyqpyla9q?")
In haunt/ui.scm:
    131:2  1 (haunt-main _ "serve" "-w")
In unknown file:
           0 (setlocale 6 "")

ERROR: In procedure setlocale:
In procedure setlocale: Invalid argument

(I use "$HOME/.guix-profile/lib/locales" there too, otherwise it fails saying "$HOME/.guix-profile/lib/locale" does not exist)

I don't get it... The only thing I recall doing related to locales is installing both "glibc-locales" and "gcc-toolchain" system-wide; the former to get all locales supported by glibc, and the latter to get the "locale" command.