Subject: [bug#74956] [PATCH] build: pack: Fix unexpected type in assert-utf8-local.

From: Noé Lopez <[email-masked]>
Date: Thu, 19 Dec 2024 01:15:05 +0100

From: Noé Lopez <[email-masked]>

getenv returns #f if the environment variable does not exist, causing a type
error since string=? expects a string.

* guix/build/pack.scm (assert-utf8-locale): Handle unset environment variable.

Change-Id: Idbe7a33a4c8453b8f4ffe6245c32c1373020fb06
---
 guix/build/pack.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/guix/build/pack.scm b/guix/build/pack.scm
index fcb1da2a6c..1b28101469 100644
--- a/guix/build/pack.scm
+++ b/guix/build/pack.scm
@@ -72,7 +72,7 @@ (define* (tar-base-options #:key tar compressor)
 
 (define (assert-utf8-locale)
   "Verify the current process is using the en_US.utf8 locale."
-  (unless (string=? "unset for tests" (getenv "GUIX_LOCPATH"))
+  (unless (string=? "unset for tests" (or (getenv "GUIX_LOCPATH") ""))
     (unless (false-if-exception (setlocale LC_ALL "en_US.utf8"))
       (error "environment not configured for en_US.utf8 locale"))))

base-commit: 1a62f687e504c67f26693f3bc60a90e503ab4ea9
-- 
2.46.0