Compare commits

...

2 commits

Author SHA1 Message Date
Noah Evans
1e648f2284 Merge branch 'multiarch-container-locale-fix' into 'master'
nonguix: multiarch-container: Install locales after symlinking in fhs-internal.

See merge request nonguix/nonguix!728
2025-09-23 21:21:32 +00:00
Noah Evans
b8ff269aeb nonguix: multiarch-container: Try to install locale after symlinking.
* nonguix/multiarch-container.scm (make-container-internal): Wrap
fhs-internal-script with GUILE_INSTALL_LOCALE=0.
* (make-internal-script): Try to install the locale after creating symlinks.
2025-08-11 07:45:25 -04:00

View file

@ -42,6 +42,7 @@
(define-module (nonguix multiarch-container)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (guix build-system trivial)
#:use-module (guix gexp)
#:use-module (guix records)
@ -443,7 +444,9 @@ the exact path for the fhs-internal package."
(package-version (ngc-wrap-package container))))
(source #f)
(inputs `(("fhs-internal-script"
,(make-internal-script container))))
,(make-internal-script container))
("bash-minimal" ,bash-minimal) ; for wrap-program
))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -452,9 +455,15 @@ the exact path for the fhs-internal package."
(use-modules (guix build utils))
(let* ((bin (string-append (assoc-ref %outputs "out") "/bin"))
(internal-target (assoc-ref %build-inputs "fhs-internal-script"))
(internal-dest (string-append bin "/" ,(ngc-internal-name container))))
(internal-dest (string-append bin "/" ,(ngc-internal-name container)))
(sh (string-append (assoc-ref %build-inputs "bash-minimal") "/bin/bash")))
(mkdir-p bin)
(symlink internal-target internal-dest)))))
(symlink internal-target internal-dest)
;; We want to install the locale manually after symlinking it.
;; See <https://gitlab.com/nonguix/nonguix/-/issues/407>
(wrap-program internal-dest #:sh sh
'("GUILE_INSTALL_LOCALE" = ("0")))))))
(home-page #f)
(synopsis "Script used to set up sandbox")
(description "Script used inside the FHS Guix container to set up the
@ -595,6 +604,14 @@ application."
;; See <https://gitlab.com/nonguix/nonguix/-/issues/384>
(setenv "SDL_JOYSTICK_DISABLE_UDEV" "1")
;; Try to install the locale after symlinking it.
;; See <https://gitlab.com/nonguix/nonguix/-/issues/407>
(with-exception-handler
(lambda _
(format #t "\n\nFailed to install locale. Is glibc-locales available in the container?\n"))
(lambda _ (setlocale LC_ALL ""))
#:unwind? #t)
;; Process FHS-specific command line options.
(let* ((options (getopt-long (or fhs-args '("")) fhs-option-spec))
(asound32-opt (option-ref options 'asound32 #f))