Attila Lendvai skribis:
> Without this the git-fetch GEXP is run in an environment that uses ASCII
> character encoding when strings are crossing the Guile - C boundary. It means
> that e.g. tag names that have Unicode chars in them will cause problems,
> e.g. when walking and deleting the .git
Hi,
Attila Lendvai skribis:
> Without this the git-fetch GEXP is run in an environment that uses ASCII
> character encoding when strings are crossing the Guile - C boundary. It means
> that e.g. tag names that have Unicode chars in them will cause problems,
> e.g. when walking and deleting the
Attila Lendvai schreef op di 19-04-2022 om 11:38 [+]:
> so, is such an idempotent locale available/embedded in glibc without
> any external dependencies? searching the web suggests that there isn't.
Try:
$ LC_CTYPE=anything.ISO-8859-2 guix repl é
hint: Consider installing the
Attila Lendvai schreef op di 19-04-2022 om 11:38 [+]:
> > thank you, this works indeed as a band aid:
> >
> > (setenv "GUIX_LOCPATH" #+(file-append glibc-locales "/lib/locale"))
> > (setlocale LC_ALL "en_US.utf8")
>
>
> i spoke too early. this works in a git checkout of guix, but it fails
>
> thank you, this works indeed as a band aid:
>
> (setenv "GUIX_LOCPATH" #+(file-append glibc-locales "/lib/locale"))
> (setlocale LC_ALL "en_US.utf8")
i spoke too early. this works in a git checkout of guix, but it fails
to compile when i try to guix pull it.
even if i declare the dependency
Liliana Marie Prikler schreef op wo 13-04-2022 om 12:40 [+0200]:
> You are first encoding a non-ASCII byte to ASCII, which has no glyph
> for "I have no idea what this is", so a question mark (#\?) is used.
> When converting from invalid ASCII to UTF-8 on the other hand, you do
> have #\� as the
Am Mittwoch, dem 13.04.2022 um 10:22 +0200 schrieb Maxime Devos:
> [...]
> Let's test this (in a new REPL with an UTF-8 locale):
>
> ((@ (ice-9 iconv) string->bytevector) "é" "ANSI_X3.4-1968")
> ice-9/boot-9.scm:1669:16: In procedure raise-exception:
> Throw to key `encoding-error' with args
> I don't expect /run/current-system/locale to exist inside the build
> container. Maybe try
>
> (setenv "GUIX_LOCPATH" #+(file-append glibc-locales "/lib/locale"))
> ;; for testing
> ((@ (guix build utils) invoke)
> #+(file-append coreutils "/bin/ls") (getenv "GUIX_LOCPATH"))
>
> instead?
thank
Attila Lendvai schreef op wo 13-04-2022 om 07:51 [+]:
> hrm... this is not relevant here, only a related thought: things
> can go wrong in the GEXP serialization, too: if the writing side
> and the reading side doesn't use the same character encoding.
> locale should be set explicitly at the
Attila Lendvai schreef op wo 13-04-2022 om 07:51 [+]:
> i'm not sure why the wrong locale breaks file-system walking and deleting,
> though.
>
> i assume if every function in guile uses/assumes the same locale (character
> encoding), then both directions through the guile FFI should be
Attila Lendvai schreef op wo 13-04-2022 om 07:51 [+]:
> i don't understand why the setlocale call in gnu-build-system's
> install-locale works, but my setlocale kludge in git-download doesn't.
I don't expect /run/current-system/locale to exist inside the build
container. Maybe try
> * LANG should be set, because it is in #:leaked-env-vars (see
> guix/git-download.scm). I don't know whose LANG it is though
> -- the user's, or the daemon's?
if i add this to the gexp:
(simple-format (current-error-port)
"LANG is '~A'~%"
(getenv "LANG"))
(setenv
Attila Lendvai schreef op di 12-04-2022 om 19:47 [+]:
> and i can't get rid of this^ warning. i installed glibc-locales to
> root and my user, reconfigured, restarted the guix-daemon.
>
> which is probably the cause of the ultimate error:
>
> warning: failed to delete .git/refs/tags/v??.2.0:
i'm trying to build a golang package that i have just imported. its repo has a
tag with unicode in it, namely v½.2.0, as observable at
https://github.com/klauspost/pgzip/tags
(define-public the-pkg
(package
(name "go-github-com-klauspost-pgzip")
(version
14 matches
Mail list logo