> 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 like this: #:autoload (gnu packages base) (glibc-locales) IIUC, this is due to a circular dependency: glibc-locales (and its variants) depend on git-fetch, therefore i cannot refer to them from the implementation of git-fetch. i tried to set the locale to "C" or "POSIX", but it results in ASCII encoding. i tried to set the locale to "en_US.iso-8859-1", hoping that it's available, but it isn't. all that is needed here is an encoding that is idempotent wrt a cycle through bytes->string, string->bytes. i think the iso-8859-n encodings are like that. to verify that hypothesis: $ mkdir -p /tmp/delme/v½.2.0 $ LANG=C guix repl scheme@(guix-user)> (use-modules (guix build utils)) scheme@(guix-user)> (delete-file-recursively "/tmp/delme") warning: failed to delete /tmp/delme/v??.2.0: No such file or directory warning: failed to delete /tmp/delme: Directory not empty $1 = #t $2 = #<vhash 7fd60aef5540 1 pairs> scheme@(guix-user)> $ LANG=en_US.iso-8859-1 guix repl scheme@(guix-user)> (use-modules (guix build utils)) scheme@(guix-user)> (delete-file-recursively "/tmp/delme") $1 = #<vhash 7f7d7acc2040 2 pairs> scheme@(guix-user)> so, is such an idempotent locale available/embedded in glibc without any external dependencies? searching the web suggests that there isn't. if not, then what would be a bird's eye view plan to make one available for git-fetch? should we create a new, ASCII-only git-fetch variant used in the bootstrap process? -- • attila lendvai • PGP: 963F 5D5F 45C7 DFCD 0A39 -- “The world is changed by your example, not by your opinion.” — Paulo Coelho (1947–)